1、java期末复习1第一章1、public class Hello public static void main(String args ) System.out.println(Hello world!); 错误:未进行编译2、java的可移植性:移植到不同的操作系统上。第二章1、引用数据类型:类、接口、数组。2、length的使用 例如: double number =new double15; /number.length的值是15 int xx=new int34; /xx.length=3,xx0.length=43、数组的引用int a=1,2,3,b=4,5;令a=b,则a=4,
2、5,b=4,54、数组的初始化静态初始化格式:数据类型 数组名 = 初值0 , 初值1 , , 初值n。 例如: float boy=21.3f,23.89f,2.0f,23f,778.98f;动态初始化:程序员指定数组长度,但不直接为数组元素分配初值。例如:float boy= new float5;注意:动态初始化和静态初始化不能同时进行。 例如:float boy= new float5 21.3f,23.89f,2.0f,23f,778.98f是错误的写法5、public class CommandParam public static void main(String args )
3、int i=Integer.parseInt(args0); /接受键盘键入的数 int j=Integer.parseInt(args1); /接受键盘键入的数 int sum=i+j; System.out.println(The numbers are : +i+and+j); System.out.println(The sum is: +sum); 第三章1、整型/整型=整型 例如;7/3=22、switch开关语句switch 语句是多分支的开关语句,它的一般格式定义如下:switch(表达式) case 常量值1: 若干个语句 break; case 常量值2: 若干个语句 br
4、eak; case 常量值n: 若干个语句 break; default: 若干语句 switch后面括号中表达式的值不能用浮点类型或long类型例:public class SwitchOp1 public static void main(String args) float a=9; float b=3; float result=0; char op=+; switch(op) case +: result=a+b; case -: result=a-b; case *: result=a*b; case /: result=a/b; default: result=0; System
5、.out.println(result=+result); 运行结果如下: public class SwitchOp2 public static void main(String args) float a=9; float b=3; float result; char op=+; switch(op) case +: result=a+b; break; case -: result=a-b; break; case *: result=a*b; break; case /: result=a/b; break; default: result=0; System.out.printl
6、n(result=+result); 运行结果如下:3、例如,x的初值是1,那么语句:(y=1)=0)&(x=6)=6);中的x值仍是1。(y=1)=0)&(x=6)=6);中的x值是6。4、右移位运算的符号为:。并用0或1填充左边的高位,a是正数用0填充,负数时用1填充运算符同样是执行一个右移位,只是它执行的是不带符号的右移。在不带符号的右移中,右移后左边留下的空位中添入的一律是0。左移位运算的符号为:。并用0填充右边的低位。5.下列System.out.printf语句的输出结果是什么? Int a=3,4,1,2,-6; For(int i=0;ia.length;i+)For(int
7、j=i+1;ja.length;j+) If(ajai) Int n=aj;aj=ai;ai=n; System.out.printf(“%d,%d,%d,%d,%d”,a0,a1,a2,a3,a4);结果如下 -6,1,2,3,4第四章1、方法使用:(1)构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型(无void,没有类型,无return)。构造方法可重载(2)静态变量或类变量在内存空间里只有一份(3)静态成员使用时除了可以用对象名表示外还可用类直接使用如:class ChineseChinese.countryChinese ch1 = new Ch
8、inese();ch1.country2、静态代码块class StaticCode static String country; System.out.println(aaa); static country = China; System.out.println(StaticCode is loading); StaticCode( ) System.out.println(Constructor is calling.); class TestStaticCode static System.out.println(TestStaticCode is loading); public s
9、tatic void main(String args) new StaticCode( ); new StaticCode( ); 运行结果如下: 3、单态设计模式class Chinese private static Chinese objRef = new Chinese( ); private static int count = 0; String name; int age; private Chinese( ) System.out.println(+count); public static Chinese getInstance( ) return objRef; clas
10、s TestChinese public static void main(String args) Chinese obj1 = Chinese.getInstance( ); Chinese obj2 = Chinese. getInstance( ); System.out.println(obj1=obj2); 4、方法名适用范围参数返回类型访问权限方法重载相同所有类中不同无所谓无所谓方法重写相同继承关系中相同相同不能降低现有重载方法:public void info(String name, double count)public void info(String name, int
11、 count)5、this作用(1)public class Person String name; int age; Person(String name) this.name = name; Person(String name , int age) this(name); this.age = age; 将屏蔽的成员变量用this表示(2)在一个构造方法里调用其他重载的构造方法6、包-d指定生成的字节码文件所在的目录如果源文件没有包名,使用参数-d可以将字节码文件存放到你指定的有效目录中,例如: javac d F:tsinghua1000 MyFile.java 将源文件MyFile.
12、java生成的全部字节码文件存放到F:tsinghua1000。使用import语句可以引入包中的类java.lang可不用import语句引入包中的类7、装箱、拆箱public class WrapperDemo03 public static void main(String args) Integer i = 30 ; / 自动装箱成Integer Float f = 30.3f ; / 自动装箱成Float int x = i ; / 自动拆箱为int float y = f ; / 自动拆箱为float 8、构造块优先于构造方法被执行第五章1、java不支持多重继承,只支持单继承2、
13、super的作用:(1)子类使用super调用父类的构造方法 注:必须 是子类构造方法中的头一条语句(2)子类使用super调用被子类隐藏的成员变量和方法 (3)调用父类中被重写的方法3、子类的构造过程Student()构造子类的父类部分再构造子类的新增部分4、final类适用场合:(1)用于修饰类,不能被继承(2)修饰方法,方法不能重写(3)修饰变量,变为常量5、上转型对象private int n=40; void crySpeak(String s) System.out.println(s); public class Monkey extends Mammal void comput
14、e(int aa,int bb) int cc=aa*bb; System.out.println(cc); void crySpeak(String s) System.out.println(*+s+*); public static void main(String args ) Mammal mammal=new Monkey( ); / mammal是Monkey类对象的上转型对象 mammal.crySpeak(I love this game); Monkey monkey=(Monkey)mammal; /把上转型对象强制转化为子类的对象 pute(10,10); 例:clas
15、s A double n; int m; void f() System.out.printf(子类继承方法f(),n=%f,m=%dn,n,m); void g() System.out.printf(你好,n=%f,m=%dn,n,m); class B extends A int n=12; void g() System.out.printf(子类重写方法g(),n=%d,m=%dn,n,m); void cry() System.out.printf(子类新增的方法,n=%d,m=%dn,n,m); public class Example5_8 public static void
16、 main(String args) A a; a=new B(); a.n=0.618; a.m=200; a.f(); a.g(); B b=(B)a; b.n=555; b.cry(); 运行结果如下: 6.构造方法不被继承7.抽象类和抽象方法Java语言中,用abstract关键字来修饰一个类时,这个类叫做抽象类。一个abstract 类只关心它的子类是否具有某种功能,并不关心该功能的具体实现,功能的具体行为由子类负责实现的。例如: public abstract class Drawing public abstract void drawDot(int x, int y); pub
17、lic void drawLine(int x1, int y1,int x2, int y2) 用abstract来修饰一个方法时,该方法叫做抽象方法。与final类和方法相反,abstract类必须被继承,abstract方法必须被重写。抽象类中可以包含抽象方法,为所有子类定义一个统一的接口,对抽象方法只需声明,而不需实现,因此它没有方法体。其格式如下: abstract 返回类型 抽象方法名(参数列表); abstract class A abstract int aa(int x,int y); /用分号来代替方法体的定义 一个抽象类可以有一个或多个抽象方法。 含有抽象方法的类必须被声
18、明为抽象类,抽象类的子类必须重写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。 注意: 含有抽象方法的类一定是抽象类,抽象类中的某个方法不一定是抽象的。 声明一个既是abstract又是final的类是不合法的,因为抽象类本身是不完整的,它依靠它的子类提供完整的实现。final与abstract不能同时修饰一个类8.接口两大类成员:常量和抽象方法9.接口回调在线程中自动完成10.内部类(1)可以有自己的成员(2)外部类不能直接调用内部类的成员,但内部类能使用外部类的任何成员(3)内部类可以声明为抽象类11.匿名类匿名类不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。假设He
19、llo是类(已存在),那么下列代码就是用Hello的一个子类(匿名类)创建对象: new Hello( ) 匿名类的类体12. 捕获异常try-catch-finally13.public class Try public static void main (String args) int i=0; int a = 5,6,7,8; for(i=0;i5;i+) try System.out.print(a+i+/+i+=+(ai/i); catch(ArrayIndexOutOfBoundsException e) System.out.print(Catch ArrayIndexOutO
20、fBoundsException); catch(ArithmeticException e) System.out.print(Catch ArithmeticException); catch(Exception e) System.out.print(捕获+e.getMessage( )+异常!); finally System.out.println( i=+i); System.out.println(continue); 运行结果如下:14. System.exit(0):非函数调用,程序彻底结束。15.声明异常关键字:throws16.泛型类设置上限关键字:extends设置下限
21、关键字:super第六章1.Strings类创建字符串对象 (1) 使用String类的构造方法创建字符串对象: 例如: String s; s=new String(we are students); 声明和创建可用一步完成: String s=new String(we are students); (2) 也可以用一个已创建的字符串创建另一个字符串,如: String tom=String(s);String类还有两个较常用构造方法: (1)String (char a):用一个字符数组a创建一个字符串对象,如: char a=b,o,y; String s=new String(a);
22、 (2)String(char a,int startIndex,int count):提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,例如: char a=s,t,b,u,s,n; String s=new String(a,2,3);String s=new string(“20”);S=“Hello”这是错误的命名方式2.“=”与“equals”的区别class Compare public static void main(String args) String str1 = new St
23、ring(abc); String str2 = new String(abc); String str3 = str1; if(str1=str2) System.out.println(str1=str2); else System.out.println(str1!=str2); if(str1=str3) System.out.println(str1=str3); else System.out.println(str1!=str3); class Compare public static void main(String args) String str1 = new Strin
24、g(abc); String str2 = new String(abc); String str3 = str1; if(str1.equals(str2) System.out.println(str1 equal str2); else System.out.println(str1 not equal str2); if(str1.equals(str3) System.out.println(str1 equal str3); else System.out.println(str1 not equal str3); 3. public String substring(int st
25、art ,int end)方法获得一个当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。例如:String Tom=“I love Tom”;String s=Tom.substring(2,5);则s为“lov”4.Student类重写toString()方法,TV类没有重写toString()方法。import java.util.Date;public class Example6_3 public static void main(String args) Date date=new Date(); Student stu=
26、new Student(张三,89); TV tv=new TV(电视机,8776); System.out.println(date.toString(); System.out.println(stu.toString(); System.out.println(tv.toString(); class Student String name; double score; Student(String name,double score) this.name=name; this.score=score; public String toString() return姓名: +name+,
27、 分散: +score; class TV String name; double price; TV(String name,double price) this.name=name; this.price=price; 第八章1.两种创建线程的方法:(1)继承法public class ThreadDemo1 public static void main(String args ) new TestThread( ).start( ); while(true) System.out.println(main:+Thread.currentThread( ).getName( ) ); class TestThread extends Thread public void run( ) while(true) System.out.println(run:+Thread.currentThread( ).getName( ) ); (2)接口法public class ThreadDemo public static void main(String args ) TestThread tt= new TestThread( ); /创建TestThread类的一个实例 Thread t= new Thread(tt); /创建一个Thread类的实例 t.start(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1