当前位置:文档之家› java复习提纲

java复习提纲

考试题型:①选择题(参考下面知识提纲)、②填空题(基本的概念、补全程序、输出结果)、③简述题(比如写出运行程序运行结果、解释某段代码的意思)、④编程题关键知识点:1、标识符1. 标识符定义用来标识类名、变量名、方法名、类型名、数组名和文件名等的有效字符序列称为标识符。

2. 标识符组成标识符是由字母、下划线(_)或美元符号($)开头,由字符、数字、下划线(_)或美元符号($)组成的字符串。

标识符区分大小写,长度没有限制。

除以上所列几项之外,标识符中不能含有其他符号,当然也不允许插入空格。

其首字符必须是java字母。

一些合法的标识符如例1所示。

例1:identifier 、猫、User_name 、$change标识符区分大小写,所以Username、username和userName是三个不同的标识符。

一些非法标识符如例2所示。

例2:2Sum 、/ /以数字打头、class 、//关键字、#myname、//含有其他符号#2、基本数据类型的强弱关系Byte<short<int<long<float<long例如:弱的数据类型直接赋值给强的数据类型long x=2 正确强的转换成弱的有精度损失,需要强制类型转换,例如int i=(int)5.6 正确例如float f=5.6 //编译出错,因为没有强制类型转换。

3、java中常用关键词的意思Enum 枚举、implements 实现接口、const 定义常量、instantof 测试一个对象是否是指定类的实例对象、package 创建包,等等。

4、基本数据类型的相关概念boolean表示布尔类型,只有两个值:true和falseint表示整数类型float表示单精度浮点数0.1f、.1f、-.05e3fdouble表示双精度浮点数 5.6、100d、-5.e3在java中用了取大原则,当看见小数的时候,比如5.6默认是double类型,所以float f=5.6 是错误的5、熟悉进制的表示:比如十六进制以ox开头,八进制以o开头。

八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位如:8(十进制)-->010(八进制) 再如028非法,因为数码只有到7;十六进制表示:以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位如:16(十进制)-->0x10(十六进制)6、java中,字符对应的整数值a=97 b=98……类推;A=65……例如int x=”a”-“b” 其值为整数1;7、了解常用的java类例如:Object类ng.Object类是所有java类的最高层次父类,该类提供了面向对象编程技术的基本机制。

重要方法列表:hashCode()方法toString()方法equals()方法finalize()方法clone()方法wait()方法notify()/notifyAlly()方法System类:System类是ng包中的,使用前不用导入。

System类的方法都是静态的,不用创建实例,直接使用System类名来调用。

例如:age=20;System.out.println(“我的年龄是:”+age);String类ng.String类对象表示不可修改的Unicode编码字符串.方法说明:构造方法字符串、连接、转换和截断:concat()、replace()、substring()、toLowerCase()、toUpperCase()、trim()检索和查找功能:charAt()、startWith()、indexOf()、lastIndexOf()、length();内容比较:equals()、equalslgnoreCase()、compareTo()StringBuffer类StringBuffer类对象保存可修改的Unicode字符序列MouseListener接口实现鼠标事件的监听(教材291),方法如下:Public void mouseClicked(MouseEvent e);Public void mousePressed(MouseEvent e);Public void mouseEndered(MouseEvent e);Public void mouseExited(MouseEvent e);Math类ng.Math类提供常用数学功能和数学常量:Exception类是程序处理的异常对应的类及其子类;8、①类的类体包括了变量的定义和方法的定义;②多态(掌握重载和重写);重载-------Java的方法重载,就是在类中创建多个方法,它们具有相同的名字,但具有不同的参数个数或参数类型。

调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是静态多态性。

重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。

无法以返回型别作为重载函数的区分标准。

(方法重载三中形式:1.参数类型不同2.参数列表不同3.参数顺序不同))例如:一. int delete(String x1, String x2) 二. int set(int x,String s)void delete (String x, String y) int set(String s,int x)一.不是重载,因为参数类型、个数、顺序完全一样二.是重载,不同类型的顺序不一样重写-------若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

例如在子类A中实现print()方法的重写(请认真分析教材73页案例)class Test {void print() {System.out.println("hello Test");}public static void main(String []args) {A a=new A();a.print();} }class A extends Test {void print() {System.out.println("hello A"); //在子类中实现父类方法print()的重写} }③this与super (更多参见教材75页)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)This 用法:(1)普通的直接引用;(2)方法中的某个形参名与当前对象的某个成员有相同的名字时用this区分,有this引用的是成员,没有this 的是形参。

(3)引用构造函数。

Super:调用super()必须写在子类构造方法的第一行。

"super.x"代表从父类继承下来的但被隐藏的x值。

比如通过super调用父类的protected修饰的函数。

注意:(1)this和super不能同时出现在一个构造函数中;可以用this调用一个构造方法,但不能调用两个。

(2)this()和super()都指的是对象,所以均不可以再static环境中使用。

1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base {Base() {System.out.println("Base");}}public class Checket extends Base {Checket() {super();//调用父类的构造方法,一定要放在方法的首个语句System.out.println("Checket");}子类与父类之间的转换(见教材68页):可以认为子类的对象也是父类的对象;反过来,由父类的构造方法创建的实例对象一般不是子类的实例对象。

9、表达式表达式------由运算符和变量、常数或常量组成的式子称为表达式。

例如2+3,a*b,++a,b--,a*=b,a+++(++b)等。

表达式是组成程序的基本单位,也是程序运算时的基本单位。

还有一些基本的运算符号应该会运用,比如:条件与&&,条件或||,逻辑与&和逻辑或|,其中&&与&以及||与|运算结果完全相同。

10、包的定义与导入包比如:package com.beifang //定义一个包Import java.Swing.* //导入需要用到的包注意:在同一个文件中可以定义多个类,但是只能是一个public类,其他是默认类。

对于一般类(非内部类)来说,private 和protected 这两个修饰语都是没有意义的11、java的基本概念例如:java源文件的后缀是.java,编译后的后缀是.class编译java指令,javac,运行指令javaC#、Java是纯面向对象的程序设计语言。

纯面向对象的程序设计语言编写的程序必须以类为基本单位,所有功能都封装在类中,真正实现数据(如数据成员)和业务(如各类方法)的封装。

12、数组数组的定义包括静态与动态,例如:静态定义:int[] numbers = {1, 2, 3, 4, 5};动态定义:int size = 5;int[] numbers = new int[size];for (int i = 0; i < size; i++) {numbers[i] = i + 1;}13、Equal与==的主要区别✧==:主要比较对象的地址值✧比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。

✧Equals----它是ng.Object类中的一个方法。

因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。

在Object类源码中是这样写的。

public boolean equals(Object obj) {return (this == obj);}他同样使用==号进行内存地址的比较。

equals方法具体的作用要看当前的那个类是如何实现重写父类中该方法的。

如果没有重写该方法,那么他和==号等价。

14、字符串池在该字符串池中,具有相同字符串序列的字符串值对应一个字符串实例对象。

举例:String s1 = "hehe";String s2 = "hehe";String s3 = new String("hehe");if(s1 == s2){System.out.println("s1 == s2");}else{System.out.println("s1 != s2");}if(s1 == s3){System.out.println("s1 == s3");}else{System.out.println("s1 != s3");}结果:s1 == s2s1 != s3说明String s1 = "hehe"; //查找字符串,发现没有,创建字符串"hehe",让s1 指向它String s2 = "hehe"; //查找字符串,发现有,直接s2指向它String s3 = new String("hehe"); //直接另外创建一个字符串"hehe"这时候s1 s2指向同一个地址,这个地址保存的内容是字符串"hehe" s3指向另外一个地址,内容是"hehe"15、构造函数构造函数的名字必须和类名完全相同,构造函数不能有返回值,就是void 也不要写,构造函数不可以被子类继承构造函数可以重载但是不可以被子类覆盖。

相关主题