java复习纲要

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序设计复习纲要
第2章:
(1)标识符的组成:字母、下划线、美元符号和数字。

(字母:Unicode字符集,第一个字符不能为数字)
要求:能够识别合法的标识符。

(2)关键字:被赋予特定意义的一些单词。

要求:能够识别java中的常见关键词关键词及意义。

(3)java中的基本数据类型:
boolean char byte short int long float double
要求:熟练掌握基本数据类型变量和常量的定义,每种基本数据类型的长度。

★基本数据类型作为成员变量时,如果不为其赋初值,则系统会为其赋初值。

例如:
class Test{
byte x1;
short x2;
int x3;
long x4;
float x5;
double x6;
boolean x7;
String s;
public static void main(String[] args){
Test t=new Test();
System.out.println("t.x1="+t.x1);
System.out.println("t.x2="+t.x2);
System.out.println("t.x3="+t.x3);
System.out.println("t.x4="+t.x4);
System.out.println("t.x5="+t.x5);
System.out.println("t.x6="+t.x6);
System.out.println("t.x7="+t.x7);
System.out.println("t.s="+t.s);
}
}
第3章:操作符
(1)/和%
(2)++和——
(3)运算精度从“低”到“高”的顺序:byte short int long float double (4)位运算:&、|、~、^
(5)移位运算<< >> >>>
★(6)= = equals()
例题:
class TestEquals{
public static void main(String[] args){
String s1="ok";
String s2="ok";
String s3=new String("ok");
System.out.println(s1==s2);
System.out.println(s1==s3);
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
}
}
第4章:控制执行流程
(1)if-else
(2)switch
(3)三种循环结构
★(4)break和continue (带标号)
★(5)Foreach语法
例如:
class Test{
public static void main(String[] args){
int[] a={1,2,3,4,5,6};
for(int x:a){
System.out.println(x);
}
}
}
第5章:初始化和清理
(1)方法的重载
(2)构造方法
★(3)关键词this的用法
实验二:
程序1:this作为函数的返回值。

public class Leaf {
int i = 0;
Leaf increment() {
i++;
return this;
}
void print() {
System.out.println("i = " + i);
}
public static void main(String[] args) {
Leaf x = new Leaf();
x.increment().increment().increment().increment().increment().print(); }
}
程序2:this用来区分当前作用域中同名的不同变量。

class ThisTest1 {
int x;
public ThisTest1(int x){
this.x=x+1;
}
public static void main(String[] args) {
ThisTest1 t=new ThisTest1(5);
System.out.println(t.x);
}
}
程序3:在一个构造方法中调用另外一个构造方法。

class ThisTest2 {
int x,y;
public ThisTest2(int x,int y){
this.x=x;
this.y=y;
}
public ThisTest2(int x){
this(x,3);
}
public static void main(String[] args) {
ThisTest2 t=new ThisTest2(1);
System.out.println("t.x="+t.x);
System.out.println("t.y="+t.y);
}
}
★(4)static的含义
例题:
class TestStatic{
static int x=1;
int y=2;
public static void main(String[] args){
TestStatic t1=new TestStatic();
t1.x=t1.x+1;
t1.y=t1.y+2;
TestStatic t2=new TestStatic();
t2.x=t2.x+3;
t2.y=t2.y+4;
x=x+5;
System.out.println("t1.x="+t1.x);
System.out.println("t1.y="+t1.y);
System.out.println("t2.x="+t2.x);
System.out.println("t2.y="+t2.y);
}
}
第6章:访问权限
(一)类的访问权限
(1)public
(2)默认包访问
★(二)类中成员的访问权限
(1)private
(2)protected
(3)public
(4)默认包访问
★(三)关键词:package 和import
package 和import的区别?
第7章:复用类
(1)父类中的哪些访问权限的成员可以被子类继承下来直接使用,哪些只能间接使用。

(2)向上转型
★(3)关键词:super
例题一:
class Test{
private int x;
public Test(int y){
x=y+1;
}
public int getX(){
return x;
}
};
class TestSuper1 extends Test{
public TestSuper1(int z){
super(z);
}
public static void main(String[] args){
TestSuper1 t=new TestSuper1(100);
System.out.println(t.getX());
}
}
例题2
★(4)关键词final
★(5)对象的初始化顺序
父类的静态初始化->子类的静态初始化->父类的定义初始化->父类的构造函数->子类的定义初始化->子类的构造函数
第8章:多态
★(1)动态绑定
例题:
class Parent{
int x=100;
void print(){
System.out.println("Parent");
}
};
public class Son extends Parent{
int x=10;
void print(){
System.out.println("Son");
}
public static void main(String[] args) {
Parent t=new Son();
System.out.println(t.x);
t.print();
}
}
(2)哪些是多态的?哪些不是多态的。

(实验五中相关内容)
第9章:接口
(1)抽象类和抽象方法的性质
(2)接口的定义
(3)接口中成员的性质:常量和抽象函数
(4)java中的多继承
★(5)abstract class和interface的区别?
第10章:内部类
(1)成员类
(2)嵌套类
★(3)匿名内部类
★第12章:通过异常处理错误
(1)try{} catch(){}finally{}结构
(2)throw和throws的用法
(3)throw和throws的区别?
(4)final和finally的区别?
(5)会自己定义异常类
第13章:字符串
(1)字符串常量:String类(★实验八相关内容)
★(2)字符串变量:StringBuffer类、StringBuilder类
(3)格式化输出
(4)简单正则表达式
(5)Scanner类的使用
★(6)String和StringBuilder的区别?
第16章:数组
★(一)初始化数组的三种方法
(1)int[] a={1,2,3,4,};
(2)int[] a=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
(3)int[] a=new int[]{1,2,3,};
(二)java中数组的一些性质
(1)数组可以作为函数的返回值返回。

(2)数组的长度的表示方法。

(3)二维数组中数组长度的表示方法,每行中元素个数的表示方法。

(三)Arrays类中的常用方法。

第18章:I/O(编程题)
(1)File类中的常用方法(会使用即可)。

★(2)目录列表器(文件过滤器):教材P525(DirList.java)
★(3)会使用字节流、字符流读取文件的内容。

★(4)会使用字节流、字符流向文件中写入数据。

(5)会使用RandomAccessFile类。

★(6)能够编写从标准输入设备(键盘)得到数据(包括:字符、字符串和各种基本数据类型的数据)的程序。

(★实验九中相关内容)
★(7)会使用jar命令制作可执行文件。

(★实验九中相关内容)
第21章:并发
★(一)能够创建多线程程序(编程题)
(1)继承Thread类
(2)实现Runnable接口
(3)使用Executors类
★实验十第一题
(二)Thread类中常用方法:
(1)sleep()
(2)yield()
(3)join()
(三)线程的状态:
教材P694:
(1)新建状态:
(2)就绪状态:
(3)运行状态:
(4)阻塞状态:
(5)死亡状态:
造成阻塞状态的原因:
(1)调用sleep()函数时。

(2)调用wait()函数时。

(3)任务在等待某个输入/输出完成。

(4)对象锁被其它线程把持时。

(四)线程的同步
同一个进程的多个线程共享同一存储空间,带来了访问冲突这个严重的问题。

如两个线程访问往往同一个对象时,一个线程向对象中存储数据,另一个线程读取该数据。

如果第一个线程还没有完成存储操作,第二个线程就开始读取数据,就产生了混乱。

(2)同步块:
synchronized修饰的方法虽然可以解决同步问题,但也存在缺陷,如果一个synchronized 的方法需要执行的时间很长,将会大大影响系统的效率,所有Java提供了一个解决办法:使用synchronized块。

(五)线程的死锁
理解造成死锁的原因。

哲学家进餐问题
(六)线程之间的通信
理解wait()/notify()机制
生产者—消费者模型
第22章:图形化用户界面
★(一)基本的组件和容器
基本组件:
按钮、标签、文本框、文本域、边框、复选框、单选按钮、组合框、列表框、消息框、菜单、弹出式菜单滑块、进度条。

容器:
窗体、面板、滚动面板、页签面板、对话框
★(二)布局管理
掌握各种布局的特点。

(1)FlowLayout
(2)BorderLayout
(3)GridLayout
(4)CardLayout
(5)GridBagLayout
(6)null
(7)BoxLayout
(三)IDE:
(1)JBuilder
(2)Eclipse (免费)
(3)NetBeans (免费)
(4)JCreator
(5)……
(四)事件处理模型
理解事件处理模型
(1)事件源
(2)事件
(3)监视器。

相关文档
最新文档