资源描述
2014-06《JAVA程序设计》考试要点
一、二、三、四、五:
1:JAVA语言的特点。
面向对象、平台无关、分布式、多线程、可靠和安全等特性。
1、面向对象其实是现实世界模型的自然延伸。
2、平台无关是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。
3、分布式包括数据分布和操作分布。
4、线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。
5、Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。
2:JAVA的开发环境和开发工具。
开发环境JDK和Eclipse
3:JAVA程序的两种形式:应用程序和小应用程序。
JAVA两种基本形式: 普通JAVA程序和JAVA小应用程序Applet.
普通程序用编译器编译然后用解释程序运行。
小应用程序是嵌入在网页中以实现动态效果,用编译器编译后,用IE浏览器解释运行
4:JAVA程序的命名规则。
1、Java程序包名:Package的名字应该都是由小写单词组成,如:text.demo.example
2、 文件名由英文单词组成,每个单词的首字母大写,最好不要超过4个单词,如:ShipOrder.java。
3、 类名:每个单词的首字母大写。同上
4、 用有意义的名字命名变量:首先,用完整的英语单词或约定俗成的简写命名变量(不允许用汉语拼音),如: firstName,zipCode。
5、 方法的名字必须用一个小写字母开头,后面的单词用大写字母开头。
6、 参数名。 1. 参数的命名:参数的名字必须和变量的命名规范一致。
5:类的定义。
类是JAVA的基础,定义了对象的本质、定义了一种新的数据类型。
6:类对象的声明、创建和使用*。
声明对象就相当于在栈中声明指针类型的变量,它的内存不存放具体的数值,而只存放另一块堆中内存的地址
在java中一般使用new关键字创建对象。
对象必须创建后才能使用,如果只声明不创建,那么调用对象属性和方法时将会报空指针异常NullPointerException)。使用时调用类
7:类的继承(父类与子类)。
继承是利用已存在的类定义新的类。JAVA中被继承的类叫父类(超类、基类),继承一个类产生的新类叫子类(派生类)。
8:抽象方法。
java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
9:使用接口。
是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;
10:数组的声明、创建和使用(一维和二维)。
数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。
一维数组的定义:type arrayName[];其中类型(type)可以为Java中任意的数据类型,包括简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。Java中使用关键字new创建数组对象,格式为:
数组名 = new 数组元素的类型 [数组元素的个数]。
一维数组使用:定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。数组元素的引用方式为:arrayName[index]。
二维数组:二维数组的定义方式为:type arrayName[][];其中有两个变量。
二维数组使用:对二维数组中每个元素,引用方式为:arrayName[index1][index2] 其中index1、index2为下标,可为整型常数或表达式,如a[2][3]等,同样,每一维的下标都从0开始。
11:数组的长度属性。
length属性。
12:异常处理。
一种为运行时异常,这种 异常是不需要捕获的,由JAVA虚拟机自动捕获.另外一种 是非运行时异常,就是除了RunTimeException类和它的子类以外的所有异常类都是非运行时异常,这种非运行时异常都是需要手动捕获的,当然了在实际开发当中,抛异常是不行的,所以得用try{}catch{}finally{}这样的语句块来捕获异常。
这两种情况的区别,就在于方法设计的功能实现不同,情况一要求这个方法能够处理字符串格式不对的例外;而情况二只要求这个方法转换格式,对于字符串格式不对的例外,只需要把这个“例外”告诉上层调用它的方法就行了。
对于情况一,就要用catch抓住异常:
public Date strToDate(String dateStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
而对于情况二,就要在方法上加throws来抛出异常:
public Date strToDate(String dateStr) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(dateStr);
}
13:时间暂停。
线程的暂停和恢复
GUIApp obj = new GUIApp(...);
Thread th = new Thread(obj);
th.start(); //启动线程
th.stop; //停止线程
th.suspend(); //暂停线程(挂起)
th.resume(); //恢复线程(继续)
14:绘图方法 paint()。
Graphics类提供基本绘图方法。
public class HuiTu extend Applet
public void paint(graphics g)
15:颜色使用。
构造方法:color (c) = new color(r,g,b)
public class YanSe extend Applet
color c = new color(r,g,b) / g.setColor(Color.white/black...)
public void paint(graphics g)
16:字体使用。
构造方法:Font(String fontname , int style , int size)
fontname:字体名称例如“黑体”“宋体”
style:字体样式
size:字符大小
17:随机函数与随机数。
使用Math.Random()来生成随机数。
18:行输出System.out.println().
public class Test
{
public static void main(String[] args)
{
System.out.println("this is cirlce");
}}
19:几何绘图:直线、矩形、椭圆,画线与填充。
g.drawLine(3,3,50,50);//画一条线段
g.drawRect(int x,int y,int width,int height):画线框围起来的矩形。其中参数x和y指定左上角的位置,参 数width和height是矩形的宽和高。
g.drawRoundRect(10,150,40,40,40,40);//画圆
g.setColor(Color.red); //调用颜色
g.fillRoundRect(80,100,100,100,100,100);//画圆块并涂色
20:图像显示。
public class ShowImage extends Frame
{ String filename;
public ShowImage (String filename)
{ this.setSize(420,350);
this.setVisible(true);
this.filename = filename;
}
public void paint (Graphics g)
{ Image image = this.getToolkit().getImage(filename);
g.drawImage(image, 0, 0, this);
}
public static void main(String[] args)
{ new ShowImage("X:/XX/XX.jpg");
} }
21:鼠标事件。
public class MouseTracker extends Applet
implements MouseListener, MouseMotionListener //执行两个鼠标事件的界面
private int xPos, yPos = -10; //鼠标的坐标值。
private String s = ""; //鼠标事件的字符串。
public void init()
{//连接两个鼠标事件的监听器
addMouseListener( this );
addMouseMotionListener( this );
}
public void paint( Graphics g )
{ //在鼠标箭头处显示鼠标事件的字符串和鼠标的坐标值。
g.drawString( s + " @ [" + xPos + ", " + yPos + "]",xPos, yPos );
}
//设置参数的方法。
private void setValues( String event, int x, int y )
{s = event; //表示鼠标事件种类的字符串。
xPos = x; //鼠标的 x 坐标值。
yPos = y; //鼠标的 y 坐标值。
repaint(); //通知 paint( ) 方法重新绘图。
}
//MouseListener界面的事件处理方法。
public void mouseClicked( MouseEvent e ) //点击鼠标。
{ setValues( "Clicked", e.getX(), e.getY() ); }
public void mousePressed( MouseEvent e ) //按下鼠标。
{ setValues( "Pressed", e.getX(), e.getY() ); }
public void mouseReleased( MouseEvent e ) //松开鼠标。
{ setValues( "Released", e.getX(), e.getY() ); }
public void mouseEntered( MouseEvent e ) //鼠标进入。
{ showStatus( "Mouse in applet area" ); }
public void mouseExited( MouseEvent e ) //鼠标退出。
{ showStatus( "Mouse outside applet area" ); }
//MouseMotionListener 界面的事件处理方法。
public void mouseDragged( MouseEvent e ) //拖动鼠标。
{ setValues( "Dragging", e.getX(), e.getY() ); }
public void mouseMoved( MouseEvent e ) //移动鼠标。
{ setValues( "Moving", e.getX(), e.getY() ); }
}
22:标签、按钮。
按钮: public void init()
{ Button1 = new Button( "矩形" ); //创建第一个对象按钮对象,名称是"矩形"。
Button1.addActionListener( this );//连接按钮的监听器,在本类内处理按钮事件。
add( Button1 ); //将对象按钮对象1 放置到面板上。
Button2 = new Button( "椭圆" );
Button2.addActionListener( this );
add( Button2 );
Button3 = new Button( "实心" );
Button3.addActionListener( this );
add( Button3 );
Button4 = new Button( "空心" );
Button4.addActionListener( this );
add( Button4 );
B = 0; //矩形: B = 1,椭圆 B = 2。
is = false; //实心: is = true,空心:is = false;
}
//按钮的事件处理方法。
public void actionPerformed( ActionEvent e )
{
B = 0;
if( e.getActionCommand() == "矩形" ) B = 1; //如果点击了第一个按钮,其标志值为 1。
if( e.getActionCommand() == "椭圆" ) B = 2; //如果点击了第二个按钮,其标志值为 2。
if( e.getActionCommand() == "实心" ) is = true;
if( e.getActionCommand() == "空心" ) is = false;
repaint( ); //通知绘图方法重新绘图。
}
public void paint( Graphics g )
{
//根据点击按钮后返回的标志值,绘制不同的图形。
if( is == false )
{
if( B == 1 )
g.drawRect( 30, 50, 100, 40 );
if( B == 2 )
g.drawOval( 30, 50, 100, 40 );
}
if( is == true )
{
if( B == 1 )
g.fillRect( 30, 50, 100, 40 );
if( B == 2 )
g.fillOval( 30, 50, 100, 40 );
} }}
标签:public class MyLabel extends Applet {
public void paint( Graphics g )
{
Label label1, label2; //声明标签类 Label的两个类对象 label1 和 label2。
//标签对象 label1 利用无参数的构造方法赋初值,标签文字为空。
label1 = new Label();
label1.setText( "Started with no text" ); //更改标签文字。
//标签对象 label2 利用有参数的构造方法赋初值,标签文字为一个字符串。
label2 = new Label( "This is read-only text" );
//方法 add( ) 将组件放置到面板(小程序的容器)上。
add( label1 ); //利用方法 add( ) 将标签对象 label1 放置到面板上。
add( label2 ); //利用方法 add( ) 将标签对象 label2 放置到面板上。
//方法 getText() 读取标签的文字。
g.drawString( "label1's text is: " + label1.getText(), 25, 40 );
g.drawString( "label2's text is: " + label2.getText(), 25, 55 );
}
}
23:字符串类(字符常量与字符变量)。
在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。
变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。 例如:int x;
常量代表程序运行过程中不能改变的值。
常量在程序运行过程中主要有2个作用
1、代表常数,便于程序的修改
2、增强程序的可读性
常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。 例如: final double PI = 3.14;int r =5;
24:读写文件(字节流与格式流)。
public static void main(String args[])
{
double x, x1;
int n;
try
{
FileInputStream f11 = new FileInputStream( "Data.out" ); //先创建输入字节流对象f11
DataInputStream f12 = new DataInputStream( f11 ); //再创建输入格式流对象f12
n = 1000;
for( int i = 1; i <= n; i++ )
{
x = Math.sqrt( i );
x1 = f12.readDouble( ); //按双精度格式将一个数据读入 x1
if( i >= 990 )
System.out.println( i + " , " + x + " : " + x1 );
}
f12.close( );
}
catch( Exception e )
{
System.out.println(e);
}
}
25:线程。
public class PrintTest {
public static void main( String args[] )
{
//声明 4 个线程类 PrintThread 的类对象:thread1, thread2, thread3, thread4。
PrintThread thread1, thread2, thread3, thread4;
//创建这 4 个线程。
thread1 = new PrintThread();
thread2 = new PrintThread();
thread3 = new PrintThread();
thread4 = new PrintThread();
//启动 4 个线程。各自按首先确定的暂停时间"睡觉",谁先"睡醒"就输出自己的名称。
thread1.start();
thread2.start();
thread3.start();
thread4.start();
}
}
//自定义的线程类 PrintThread 继承于线程类 Thread。
class PrintThread extends Thread
int sleepTime; //暂停时间。
// PrintThread constructor assigns name to thread
// by calling Thread constructor
// 线程类 PrintThread 的构造方法:确定不超过 5 秒的“睡觉”时间,输出该线程的名称和暂停时间。
public PrintThread( )
{
// sleep between 0 and 5 seconds
sleepTime = (int) ( Math.random() * 5000 );
System.out.println( "Name: " + getName() +
"; sleep: " + sleepTime );
}
// execute the thread
//线程启动后,执行 run()方法。完成后,该线程结束。
public void run()
{
// put thread to sleep for a random interval
//先按确定的暂停时间“睡觉”。
try {
Thread.sleep( sleepTime );
}
catch ( InterruptedException exception ) {
System.err.println( exception.toString() );
}
// print thread name
//"睡醒"后输出本身的名称。
System.out.println( getName() );
}
}
展开阅读全文