java期末复习11 1.docx
《java期末复习11 1.docx》由会员分享,可在线阅读,更多相关《java期末复习11 1.docx(12页珍藏版)》请在冰豆网上搜索。
java期末复习111
第一章
1、publicclassHello{
publicstaticvoidmain(Stringargs[]){
System.out.println("Helloworld!
");
}
}
错误:
未进行编译
2、java的可移植性:
移植到不同的操作系统上。
第二章
1、引用数据类型:
类、接口、数组。
2、length的使用
例如:
doublenumber[]=newdouble[15];
//number.length的值是15
int[][]xx=newint[3][4];
//xx.length=3,xx[0].length=4
3、数组的引用
int[]a={1,2,3},b={4,5};
令a=b,则a={4,5},b={4,5}
4、数组的初始化
静态初始化格式:
数据类型数组名[]={初值0,初值1,…,初值n}。
例如:
floatboy[]={21.3f,23.89f,2.0f,23f,778.98f};
动态初始化:
程序员指定数组长度,但不直接为数组元素分配初值。
例如:
floatboy[]=newfloat[5];
注意:
动态初始化和静态初始化不能同时进行。
例如:
floatboy[]=newfloat[5]{21.3f,23.89f,2.0f,23f,778.98f}是错误的写法
5、publicclassCommandParam{
publicstaticvoidmain(Stringargs[]){
inti=Integer.parseInt(args[0]);//接受键盘键入的数
intj=Integer.parseInt(args[1]);//接受键盘键入的数
intsum=i+j;
System.out.println("Thenumbersare:
"+i+"and"+j);
System.out.println("Thesumis:
"+sum);
}
}
第三章
1、整型/整型=整型例如;7/3=2
2、switch开关语句
switch语句是多分支的开关语句,它的一般格式定义如下:
switch(表达式)
{
case常量值1:
若干个语句
break;
case常量值2:
若干个语句
break;
………
case常量值n:
若干个语句
break;
[default:
若干语句]
}
switch后面括号中表达式的值不能用浮点类型或long类型
例:
publicclassSwitchOp1
{
publicstaticvoidmain(Stringargs[])
{
floata=9;
floatb=3;
floatresult=0;
charop='+';
switch(op)
{
case'+':
result=a+b;
case'-':
result=a-b;
case'*':
result=a*b;
case'/':
result=a/b;
default:
result=0;
}
System.out.println("result="+result);
}
}
运行结果如下:
publicclassSwitchOp2
{
publicstaticvoidmain(Stringargs[])
{
floata=9;
floatb=3;
floatresult;
charop='+';
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.println("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填充右边的低位。
第四章
1、方法使用:
(1)构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型(无void,没有类型,无return)。
构造方法可重载
(2)静态变量或类变量在内存空间里只有一份
(3)静态成员使用时除了可以用对象名表示外还可用类直接使用
如:
classChinese
Chinese.country
Chinesech1=newChinese();
ch1.country
2、静态代码块
classStaticCode{
staticStringcountry;
{
System.out.println("aaa");
}
static
{
country="China";
System.out.println("StaticCodeisloading");
}
StaticCode(){
System.out.println("Constructoriscalling.");
}
}
classTestStaticCode{
static
{
System.out.println("TestStaticCodeisloading");
}
publicstaticvoidmain(String[]args){
newStaticCode();
newStaticCode();
}
}
运行结果如下:
3、单态设计模式
classChinese{
privatestaticChineseobjRef=newChinese();
privatestaticintcount=0;
Stringname;
intage;
privateChinese(){
System.out.println(++count);
}
publicstaticChinesegetInstance(){
returnobjRef;
}
}
classTestChinese{
publicstaticvoidmain(String[]args){
Chineseobj1=Chinese.getInstance();
Chineseobj2=Chinese.getInstance();
System.out.println(obj1==obj2);
}
}
4、
方法名
适用范围
参数
返回类型
访问权限
方法重载
相同
所有类中
不同
无所谓
无所谓
方法重写
相同
继承关系中
相同
相同
不能降低
现有重载方法:
publicvoidinfo(Stringname,doublecount)
publicvoidinfo(Stringname,intcount)
5、this作用
(1)publicclassPerson
{
Stringname;
intage;
Person(Stringname)
{
this.name=name;
}
Person(Stringname,intage)
{
this(name);
this.age=age;
}
}
将屏蔽的成员变量用this表示
(2)在一个构造方法里调用其他重载的构造方法
6、包
-d指定生成的字节码文件所在的目录
如果源文件没有包名,使用参数-d可以将字节码文件存放到你指定的有效目录中,例如:
javac–dF:
\tsinghua\1000MyFile.java
将源文件MyFile.java生成的全部字节码文件存放到F:
\tsinghua\1000。
使用import语句可以引入包中的类
java.lang可不用import语句引入包中的类
7、装箱、拆箱
publicclassWrapperDemo03{
publicstaticvoidmain(String[]args){
Integeri=30;//自动装箱成Integer
Floatf=30.3f;//自动装箱成Float
intx=i;//自动拆箱为int
floaty=f;//自动拆箱为float
}
}
8、构造块优先于构造方法被执行
第五章
1、java不支持多重继承,只支持单继承
2、super的作用:
(1)子类使用super调用父类的构造方法
(2)子类使用super调用被子类隐藏的成员变量和方法
3、子类的构造过程
Student(){
构造子类的父类部分
再构造子类的新增部分
}
4、final类适用场合:
(1)用于修饰类,不能被继承
(2)修饰方法,方法不能重写
(3)修饰变量,变为常量
5、上转型对象
privateintn=40;
voidcrySpeak(Strings){
System.out.println(s);
}
}
publicclassMonkeyextendsMammal{
voidcompute(intaa,intbb){
intcc=aa*bb;
System.out.println(cc);
}
voidcrySpeak(Strings){
System.out.println("**"+s+"**");
}
publicstaticvoidmain(Stringargs[]){
Mammalmammal=newMonkey();
//mammal是Monkey类对象的上转型对象
mammal.crySpeak("Ilovethisgame");
Monkeymonkey=(Monkey)mammal;
//把上转型对象强制转化为子类的对象
pute(10,10);
}
}
例:
classA{
doublen;
intm;
voidf(){
System.out.printf("子类继承方法f(),n=%f,m=%d\n",n,m);
}
voidg(){
System.out.printf("你好,n=%f,m=%d\n",n,m);
}
}
classBextendsA{
intn=12;
voidg(){
System.out.printf("子类重写方法g(),n=%d,m=%d\n",n,m);
}
voidcry(){
System.out.printf("子类新增的方法,n=%d,m=%d\n",n,m);
}
}
publicclassExample5_8{
publicstaticvoidmain(Stringargs[]){
Aa;
a=newB();
a.n=0.618;
a.m=200;
a.f();
a.g();
Bb=(B)a;
b.n=555;
b.cry();
}
}
运行结果如下: