java考试重点整合.docx

上传人:b****6 文档编号:5947740 上传时间:2023-01-02 格式:DOCX 页数:17 大小:20.78KB
下载 相关 举报
java考试重点整合.docx_第1页
第1页 / 共17页
java考试重点整合.docx_第2页
第2页 / 共17页
java考试重点整合.docx_第3页
第3页 / 共17页
java考试重点整合.docx_第4页
第4页 / 共17页
java考试重点整合.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

java考试重点整合.docx

《java考试重点整合.docx》由会员分享,可在线阅读,更多相关《java考试重点整合.docx(17页珍藏版)》请在冰豆网上搜索。

java考试重点整合.docx

java考试重点整合

Java复习题

注意:

细节部分得看书,编程题具体数值会变

二,范围划分:

考试范围:

1,2,3,4,5,6,7,8,9,10章

重点章节:

2,3,6,7,8,10章

难点章节:

6,7,10章

三,考试重点:

1.基本数据类型及运算符的使用,方法调用参数传递问题.

基本数据类型有:

整数类型:

long(8字节),int(4字节),short(2字节),byte(1字节)

浮点数类型:

float单精度浮点数;double(双精度浮点数)

字符类型:

char

布尔类型:

boolean

运算符:

算术运算符:

双目运算符包括:

+,—,*,/,%和单目运算符:

>,<,>=,<=,==,和!

=

逻辑运算符:

&&(与),||(或),!

(非)

位运算符:

~(位反),&(位与),|(位或),^(位异或),<<(左移位),>>(右移位),>>>(无符号右移位)

赋值运算符:

变量名=表达式;“=”是赋值运算符

条件运算符:

表达式1?

表达式2:

表达式3

括号运算符:

()

2.流程控制,多重循环

多重循环:

如果循环语句的循环体中又包含循环语句,就形成了多重循环结构。

3.自定义类的创建及使用,构造方法的重载,对象的创建及属性和方法的调用。

类的声明形式如下:

[修饰符]class类名[extends父类名][implements借口名列表]

{成员变量声明部分

成员方法声明部分

}

对象的创建:

类名对象名

对象名=new类名(参数表)

或者类名对象名=new类名(参数表)

4,Java程序设计语言的特性

Java程序分为Java应用程序(application)和Javaapplet两种.

Java源文件保存在以.java为后缀名的文件中,被编译后的Java文件被保存在后缀名为.class的字节码文件中.

Java是严格区分大小写的.

Application必须包含主方法main(),main()方法的定义形式.,

5,Java的基本数据类型,4种基本的整数类型.

Java数据类型分为基本数据类型:

int,float,char,boolean。

引用类型:

数组,接口,类,

变量:

局部变量.实例变量.类变量.使用局部变量前应对变量赋初值,在类中声明的变量为实例变量,类中声明并用static关键字定义的变量是类变量.类变量实质是全局变量.用法实例可参考书上实例.

运算符:

++--的前缀后缀区别,布尔运算符中&&和||短路运算符的使用.

关系运算符,赋值运算符=和==区别

实例

publicclassVarScope{

publicstaticintx=10;

publicstaticvoidmain(Stringargs[]){

inty=5;

if(x==10){

intz=2;

x=x+z;

System.out.println(“Thefirstx=”+x);

System.out.println(“Thefirsty=”+y);

}

VarChange();

System.out.println(“Thethirdx=”+x);

System.out.println(“Thethirdy=”+y);

}

publicstaticvoidVarChange(){

intx=6,y=4;

y=y+1;

System.out.println(“Thesecondx=”+x);x=6,y=6

System.out.println(“Thesecondy=”+y);

}

}

输出结果为:

Thefirstx=12

Thefirsty=5

Thesecondx=6

Thesecondy=5

Thethirdx=12

Thethirdy=5

6种基本的程序控制结构:

会看懂程序的运行过程,执行结果,特别是多重循环

While循环最少执行次数为0次,do-while循环最少执行次数为1次.

For循环语句结构,多重for循环嵌套

多重循环图形符号的输出

方法声明,如何写一个方法

方法调用,如何调用方法

参数传递

2、publicclassChangeStrDemo{

publicstaticvoidchangestr(Stringstr){

str="welcome";

}

publicstaticvoidmain(String[]args){

Stringstr="1234";

changestr(str);

System.out.println(str);

}

}

输出结果为:

1234

数组的声明和创建,如何访问数组元素,通过数组名和下标访问.

多维数组a[5][4],a.length=5,a[0].length=4

面向对象的3个重要特性:

封装,继承,多态.

学会创建自己的类

声明类的格式.

[修饰符]class类名[extends父类名]

[implements接口名表]{

成员变量声明//类体

方法成员声明

}

classRectangle{

doublelength;

doublewidth;

doublearea(){

returnlength*width;

}

publicRectangle(doublew,doublel){

width=w;

length=l;

}

}

类定义完成后就可以对它进行实例化,创建它的对象.对象经声明必须用new运算符创建才能使用.

类名对象名=new类名()

如:

Rectanglerect1=newRectangle();

用.称做点运算符访问对象内的属性和方法.

对象名.成员变量名

对象名.成员方法名()//方法名带圆括号

刚才定义了Rectangle类,可以用如下的方法来引用对象的成员:

Rectangler=newRectangle();//定义类的对象

r.length,r.width//引用对象的数据成员

r.area()//引用对象的成员方法

修饰符(p85表6-1):

public公共的,其他包中的类也可访问

private私有的,只能被本类方法所使用

protected本类,本包,子类都可访问

缺省的同一个包中的才能访问.

Abstract抽象类不能实例化,只能被子类继承,抽象方法必须定义在抽象类中,但抽象类中可包含非抽象方法。

final类不能被继承既没有子类,final方法不能被子类覆盖。

Abstract和final不能同时修饰类.

构造函数的特点:

方法名与类名同名,没有返回值,但不用void声明,用new运算符自动调用,每一个类可以有零个或多个构造方法。

默认的构造函数,学会创建多个构造函数

课后习题编程题

this引用和super引用

classA{

PublicA(){

System.out.println(“Aiscalled”);

}

publicA(Stringx){

System.out.println(“Aiscalledandinputstring:

”+x);

}

}

ClassBextendsA{

publicB(){

super();

System.out.println(“Biscalled”);

}

publicB(Stringx){

super(x);

System.out.println(“Biscalledandinputstring:

”+x);

}

}

ClassCextendsB{

publicC(){

System.out.println(“Ciscalled”);

}

publicC(Stringx){

super(x);

System.out.println(“Ciscalledandinputstring:

”+x);

}

}

publicclassExtendTest1{

publicstaticvoidmain(Stringargs[]){

newc(“haoareyou?

”)

}

}输出结果为:

Aiscalledandinputstring“howareyou?

Biscalledandinputstring“howareyou?

Ciscalledandinputstring“howareyou?

类的继承

类的多态通过方法重载和覆盖来实现.

什么是方法重载p93,会判断合法的重载的方法(相同的方法名,不同的参数列表,或者是参数个数不同,或者是参数类型不同)

在一个类中,多个方法具有相同的方法名。

但却有不同的参数表,称为方法的重载。

重载表现为同一个类中方法的多态性。

什么是方法覆盖,两者有何区别?

覆盖:

子类通过派生继承了超类的方法,但是当超类中的方法对于子类不合适时,可以在子类中定义一个与超类方法名字、参数列表完全相同的新方法来取代超类中的方法,这种机制称作覆盖。

区别:

重载是一个类中有多个方法,方法名相同而参数不同,覆盖是指父类和子类中方法同名且拥有相同的参数列表,子类调用时默认调用子类的同名方法而覆盖掉父类的方法。

classAclass{

voidgo(){

System.out.println("Aclass");

}}

publicclassBclassextendsAclass{

voidgo(){

System.out.println("Bclass");

}

publicstaticvoidmain(Stringargs[]){

Aclassa=newAclass();

Aclassa1=newBclass();

a.go();

a1.go();

}

输出结果:

Aclass

Bclass

继承,通过extends关键字实现

子类从超类那里继承所有非私有的属性和方法,子类对象可以当作超类对象对待,但超类对象未必是子类对象。

子类继承抽象超类时,若子类不希望定义为抽象类,则在子类中必须覆盖超类中的抽象方法,否则子类必须定义为抽象类。

抽象方法只有方法头部,没有方法体。

例如:

publicabstractStringgetInformation();

接口中只包含常量和抽象方法的定义,用interface定义。

实现一个接口用关键字implements,实现一个接口,则在类中一定要实现接口中的所有方法。

Java采用关键字import来引用包中的类或接口。

Java不允许多重继承,多重继承必须通过接口实现。

各章课后简答题认真看看(特别是第六章)

第六章课后简答题P84

1,什么是类?

如何定义一个类?

类包含哪几个部分?

p71

在面向对象的程序设计中,将属性及行为合起来定义为类。

类成为定义一组具有共同属性和行为的对象的模板。

2,什么是对象?

如何创建对象?

对象是表现显示世界中的某个具体的事物。

对象是类的实例,随想与类的关系就像变量和数据类型的关系一样。

对象是类的取值,能够保存类的一个实例。

对象的创建包括声明和实例化工作。

创建对象的形式如下:

类名对象名

对象名=new类名(参数表);

或者

类名对象名=new类名(参数表)

异常处理机制的概念:

两种异常处理的方式

使用try…catch…finally结构对异常进行捕获和处理;

通过throws和throw抛出异常

程序填空题

基于字符流的文件操作

第五六十章节中的课后习题java代码

第五章

第一题:

publicclassSort{

publicstaticvoidbubbleSort(inta[])

{

inttemp;

for(inti=a.length-1;i>0;i--)

for(intj=0;j

{

if(a[j+1]

{

temp=a[j+1];

a[j+1]=a[j];

a[j]=temp;

}

}

}

publicstaticvoidmain(Stringargs[])

{

intm[]={10,8,21,65,32,51,74,14,28,95};

System.out.println("beforesort");

for(inti=0;i

System.out.print(m[i]+"");

bubbleSort(m);

System.out.println("aftersort");

for(inti=0;i

System.out.print(m[i]+"");

}

}

答案:

beforesort

1082165325174142895aftersort

8101421283251657495

第五题

publicclassTranspose

{

publicstaticvoidmain(Stringargs[])

{

inta[][]=newint[3][4];

intb[][]=newint[4][3];

System.out.println("转置之前的矩阵");

for(inti=0;i<3;i++)

{

for(intj=0;j<4;j++)

{

a[i][j]=(int)(100*Math.random());

System.out.print(a[i][j]+"");

}

System.out.println();

}

System.out.println("转置之后的矩阵");

for(inti=0;i<4;i++)

{

for(intj=0;j<3;j++)

{

b[i][j]=a[j][i];

System.out.print(b[i][j]+"");

}

System.out.println();

}

}

}

答案:

转置之前的矩阵

7496898

742362

5487045

转置之后的矩阵

71745

96248

83670

98245

第六章

第八题

publicclassAccount{

Stringaccount;

Stringname;

Stringaddress;

doublebalance;

staticdoubleminBalance=50;

publicAccount(Stringaccount1,Stringname1,Stringaddress1,intbalance1)

{account=account1;

name=name1;

address=address1;

balance=balance1;

}

publicvoiddeposit(doublecash)

{

System.out.println("您帐户原有余额:

"+balance);

System.out.println("现存入:

"+cash);

balance=balance+cash;

System.out.println("最终余额:

"+balance);

}

publicvoidwithdraw(doublecash)

{

doubletemp=balance-cash;

if(temp

System.out.println("至少保留余额:

"+minBalance);

else

balance=temp;

}

publicvoidquery()

{

System.out.println("您的余额是:

"+balance);

}

publicstaticvoidmain(Stringargs[])

{

AccountJame=newAccount("112233","Jame","江汉大学文理学院",200);

Jame.deposit(300.0);

Jame.withdraw(200.0);

Jame.withdraw(300.0);

Jame.query();

}

}

答案:

你的账户原有余额:

200

现存入:

300

最终余额:

500

至少保留余额:

50

您的余额是300

第十题:

classCube

{

doubleside;

publicCube(doublea)

{

side=a;

}

publicdoublegetSide()

{

returnside;

}

publicdoublearea()

{

return6*side*side;

}

publicdoublevolume()

{

returnside*side*side;

}

}

publicclassuseCube{

publicstaticvoidmain(Stringargs[])

{

Cubecube1=newCube(2.0);

System.out.println("side="+cube1.getSide());

System.out.println("area="+cube1.area());

System.out.println("volume="+cube1.volume());

}

}

答案:

side=2.0

area=24.0

volume=8.0

第十章:

第四题

importjava.io.*;

publicclassUniteFile

{

publicstaticvoidmain(String[]args)throwsIOException

{

Filefile1=newFile("d:

\\File1.txt");

Filefile2=newFile("d:

\\File2.txt");

Filefile3=newFile("d:

\\File3.txt");

try

{

BufferedReaderbr1=newBufferedReader(newFileReader(file1));

BufferedReaderbr2=newBufferedReader(newFileReader(file2));

BufferedWriterbw3=newBufferedWriter(newFileWriter(file3));

Strings1=br1.readLine();

while(s1!

=null)

{

bw3.write(s1);

bw3.newLine();

s1=br1.readLine();

}

br1.close();

Strings2=br2.readLine();

while(s2!

=null)

{

bw3.write(s2);

bw3.newLine();

s2=br2.readLine();

}

br2.close();

bw3.close();

}catch(FileNotFoundExceptione){

System.out.println(e);

}catch(IOExceptione){

System.out.println(e);

}

}

}

按任意键开始~

第八题

importjava.io.*;

publicclassSaveGrade{

publicstaticvoidmain(Stringargs[])throwsException

{

InputStreamReaderiin=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(iin);

FileWriterfw1=newFileWriter("d:

\\grade.txt");

BufferedWriterbw=newBufferedWriter(fw1);

Strings;

while(true){

System.out.print("输入姓名:

");

System.out.flush();

s=br.readLine();

if(s.length()==0)

break;

bw.write(s);

bw.newLine();

System.out.print("输入学号:

");

s=br.readLine();

bw.write(s);

bw.newLine();

System.out.print("输入成绩:

");

s=br.readLine();

bw.write(s);

bw.newLine();

}

br.close();

bw.close();

intmax=0,min=100,total=0,num=0;

BufferedReaderbf=newBufferedReader(newFileReader("d:

\\grade.txt"));

while(true)

{

Stringss=bf.readLine();

if(ss==null)

break;

ss=bf.readLine();

ss=bf.readLine();

intgrade=Integer.parseInt(ss);

total+=grade;

num+=1;

if(grade>max)

max=grade;

if(grade

min=grade;

}

System.out.println("学生成绩中最高为:

"+max+",最低为:

"+min+",平均值为:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1