Java语言复习资料.docx
《Java语言复习资料.docx》由会员分享,可在线阅读,更多相关《Java语言复习资料.docx(65页珍藏版)》请在冰豆网上搜索。
![Java语言复习资料.docx](https://file1.bdocx.com/fileroot1/2023-4/18/0387738a-3ea6-4e6e-b8d8-99310329ccf7/0387738a-3ea6-4e6e-b8d8-99310329ccf71.gif)
Java语言复习资料
Java面向对象程序设计
袁绍欣、赵祥模、葛玮编著
清华大学出版社出版
知识点整理
DX:
单项选择题
DU:
多选题
TK:
填空题
PD:
判断题
JD:
简答题
BC:
编程题
第1章初次接触Java
目录
1.1Java语言——网络时代的编程语言1
1.1.1网络时代编程问题1
1.1.2问题的解决方法1
1.2Java语言的特点2
1.3Java程序的编译环境和执行环境4
1.4第一个Java程序——HelloWorld4
1.5Java程序的分类6
1.6Java平台8
知识点
1、下面哪种注释方法能够支持javadoc命令:
(/**...*/)DX
2、下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?
(jdb.exe)DX
3、Java语言是(面向对象的解释型高级编程语言)DX
4、编写一个输出"HelloWorld!
"的程序,用两种方式实现(Application、Applet)。
BC
publicclassHelloWorld
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("Hello,World!
");
}
}
importjava.awt.Graphics;
importjava.applet.Applet;
publicclassHelloWorldextendsApplet{
Strings;
publicvoidinit(){
s="HelloWorld!
";
}
publicvoidpaint(Graphicsg){
g.drawString(s,25,25);
}
}
5、Java语言使用的字符码集是(Unicode)DX
6、Java和c++都是面向对象的程序设计语言。
(√)
第2章Java语言基础
目录
2.1数据类型10
2.1.1标识符和保留字10
2.1.2数据类型概括11
2.1.3基本数据类型简介12
2.1.4数据类型转换15
2.1.5基本数据类型及其对应包装类16
2.2表达式16
2.2.1算术表达式17
2.2.2关系表达式19
2.2.3逻辑表达式20
2.2.4赋值表达式21
2.2.5条件表达式21
2.2.6运算符之间的优先级22
2.3控制语句23
2.3.1分支语句23
2.3.2循环语句25
2.3.3跳转语句27
2.4数组30
2.4.1一维数组30
2.4.2二维数组31
知识点
1、下列语句序列执行后,k的值是
(1)。
DX
intm=3,n=6,k=0;
while((m++)<(--n))++k;
2、设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(a[0]=7;)。
DX
3、设有定义inti=6;,则执行以下语句后,i的值为(11)。
DX
i+=i-1;
4、若已定义byte[]x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是(C)。
DX
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
5、下列语句序列执行后,ch1的值是('B')。
DX
charch1='A',ch2='W';
if(ch1+26、下列语句序列执行后,i的值是(8)。
DX
inti=8,j=16;
if(i-1>j)i--;elsej--;
7、下列语句序列执行后,k的值是
(2)。
DX
inti=10,j=18,k=30;
switch(j-i)
{case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
8、下面语句执行后,i的值是(5)。
DX
for(inti=0,j=1;j<5;j+=3)i=i+j;
9、设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。
DX
A)x>y||x>zB)x!
=y
C)z>(y+x)D)x(x10、下列语句序列执行后,i的值是
(2)。
DX
inti=16;
do{i/=2;}while(i>3);
11、以下由for语句构成的循环执行的次数是(无限次)。
DX
for(inti=0;true;i++);
12、设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,
正确的switch语句是(switch(ch+1){......})。
DX
13、下列方法定义中,正确的是(intx(){charch='a';return(int)ch;})。
DX
14、不能构成循环的语句是(C)。
A)for语句B)while语句C)switch语句D)do__while语句
15、下列程序段执行后b3的结果是(true)。
DX
booleanb1=true,b2,b3;
b3=b1?
b1:
b2;
16、设有定义inti=123;longj=456;下面赋值不正确的语句是(i=j;)。
DX
17、给定下面的代码片段,哪些行会导致错误?
(line5)DX
1)Stringstr=null;
2)if((str!
=null)&&(str.length()>10)){
3)System.out.println("morethan10");
4)}
5)elseif((str!
=null)&(str.length()<5)){
6)System.out.println("lessthan5");
7)}
8)else{System.out.println("end");}
18、指出正确的表达式(longl=0xfffL;)DX
19、下列代码哪几行会出错:
(line7)DX
1)publicvoidmodify(){
2)intI,j,k;
3)I=100;
4)while(I>0){
5)j=I*2;
6)System.out.println("Thevalueofjis"+j);
7)k=k+1;
8)I--;
9)}
10)}
20、下列的变量定义中,错误的是(int123_$;)DX
21、以下的变量定义语句中,合法的是(doublea=Double.MAX_VALUE;)DX
22、以下字符常量中不合法的是("\n")DX
23、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是(b=a!
=7;)DX
24、下列程序段执行后t5的结果是(20)DX
intt1=9,t2=11,t3=8;
intt4,t5;
t4=t1>t2?
t1:
t2+t1;
t5=t4>t3?
t4:
t3;
25、设a,b,c,d均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(++a*b--+d)DX
26、执行下列程序段后,b,x,y的值分别是(false,6,8)DX
intx=6,y=8;
booleanb;
b=x>y&&++x==--y;
27、以下由do-while语句构成的循环执行的次数是(执行1次)DX
intk=0;
do{++k;}while(k<1);
28、选出合理的标识符(_sys1_lll、$change)DU
29、下列哪个选项是合法的标识符?
(_name)DX
30、下列的哪个赋值语句是不正确的?
(floatf=11.1;)DX
31、下列的哪个赋值语句是正确的?
(inta=(int)12.0;)DX
32、给出下列代码,则数组初始化中哪项是不正确的?
(C)DX
byte[]array1,array2[];
bytearray3[][];
byte[][]array4;
A.array2=array1B.array2=array3
C.array2=array4D.array3=array4
33、下列语句中,属于多分支语句的是(switch语句)DX
34、阅读下列代码,其运行结果是(Test)DX
publicclassTest2005{
publicstaticvoidmain(Stringargs[]){
Strings=″Test″;
Switch(s){
case″Java″:
System.out.print(″Java″);
break;
case″Language″:
System.out.print(″Language″);
break;
case″Test″:
System.out.print(″Test″);
break;
}
}
}
35、阅读下列代码,其运行结果是(10)DX
publicclassTest2005{
publicstaticvoidmain(Stringargs[]){
System.out.println(~(0xa5)&0xaa);
}
}
36、阅读下列代码,其运行结果是(4)DX
publicclassTest2005{
publicstaticvoidmain(Stringargs[]){
System.out.println((3>2)?
4:
5);
}
}
37、阅读下列代码,其运行结果是(44)DX
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println(89>>1);
}
}
38、看以下程序:
booleana=false;
booleanb=true;
booleanc=(a&&b)&&(!
b);
intresult=c==false?
1:
2;
这段程序执行完后,c与result的值是:
(c=false;result=1;)DX
39、指出下列程序的运行结果(default,zero)DX
inti=9;
switch(i){
default:
System.out.println("default");
case0:
System.out.println("zero");
break;
case1:
System.out.println("one");
case2:
System.out.println("two");
}
40、下列语句序列执行后,x的值是(25)DX
inta=3,b=4,x=5;
if(++a==b)x=++a*x;
41、下列语句序列执行后,k的值是(10)DX
inti=6,j=8,k=10,m=7;
if(i>j||melsek--;
42、下列语句序列执行后,k的值是(17)DX
intj=8,k=15;
for(inti=2;i!
=j;i++)
{j-=2;k++;}
43、下列语句序列执行后,j的值是(5)DX
intj=3,i=2;
while(--i!
=i/j)
j=j+2;
44、若数组a定义为int[][]a=newint[3][4],则a是(二维数组)DX
45、如下哪些字串是Java中的标识符?
(fieldname、$number)DU
46、如下哪些是Java中有效的关键字?
(ACDE)DU
A、const B、NULL C、false D、this E、native
47、Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和_____double_____两种具体类型。
PD
48、当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是_______n%13==0______。
PD
49、在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的___元素个数_______。
PD
50、若a,b为int型变量且已分别赋值为2,4。
表达式!
(++a!
=b--)的值是_false_。
TK
51、如下哪些是Java中正确的整数表示?
(22、0x22、022)DU
52、下列表达式哪些是正确的:
(Boolean=1;、longl=-2;)DU
53、下面的Java语句错误的是:
(Doublea=1.0;、out.println("hello");)DU
54、下面哪个赋值语句是合法的?
(BCD)DU
A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2
55、下面哪个语句是创建数组的正确语句?
(ABCD)DU
A、float f[][] = new float[6][6];
B、float []f[] = new float[6][6];
C、float f[][] = new float[][6];
D、float [][]f = new float[6][6];
E、float [][]f = new float[6][];
56、当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是______n%13==0_______。
TK
57、下列语句序列执行后,k的值是(54)DX
intx=6,y=10,k=5;
switch(x%y)
{case0:
k=x*y;
case6:
k=x/y;
case12:
k=x-y;
default:
k=x*y-x;
}
58、下列语句序列执行后,a的值是
(1)DX
inta=13;
a%=a/5;
59、执行下列代码后的结果是什么?
TK
intx,a=2,b=3,c=4;x=++a+b+++c++;x=10,a=3,b=4,c=5
60、在Java中所实现的多维数组,实际上是由一维数组构成的数组的数组。
TK
61、break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的第一条语句 开始执行。
TK
62、设x,y,max,min均为int型变量,x、y已赋值。
用三目条件运算符,求变量x、y的最大值和最小值,并分别赋给变量max和min,这两个赋值语句分别是______max=x>y?
x:
y;___和__min=xx:
y;__。
TK
63、结构化程序设计的三种基本流程控制结构是:
__顺序结构___、__分支结构__、_______循环结构___。
TK
64、阅读下面的程序段,回答以下问题。
JD
if(x<5)
System.out.print("one");
else
{if(y<5)
System.out.print("two");
else
System.out.println("three");
}
问题:
1)若执行前x=6,y=8,该程序段输出是什么?
threee
2)若执行前x=1,y=8,该程序段输出是什么?
one
65、下面哪些标识符在Java语言中是合法的?
(persons$、TwoUsers)DU
66、下面哪些赋值语句是错误的?
(ADE)DU
A、floatf=11.1;
B、doubled=5.3E12;
C、charc='\r';
D、bytebb=433;
E、Booleanb=true;
67、在Java中,表示换行符的转义字符是(\n)DX
68、打印输出10行杨晖三角形。
BC
classyanghui
{
publicstaticvoidmain(Stringargs[])
{
inti,j;
intyhlevel=10;
intyanghui[][];
System.out.println("杨晖三角形:
");
yanghui=newint[yhlevel][];
for(i=0;i yanghui[i]=newint[i+1];
yanghui[0][0]=1;
for(i=1;i {
yanghui[i][0]=1;
for(j=1;j yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];
yanghui[i][yanghui[i].length-1]=1;
}
for(i=0;i {
for(j=0;j System.out.print(yanghui[i][j]+"");
System.out.println();
}
}
}
69、阅读下面的程序段,回答以下问题
if(x<5)
System.out.print("one");
else
{if(y<5)
System.out.print("two");
else
System.out.println("three");
}
问题:
1)若执行前x=6,y=8,该程序段输出是什么?
threee
2)若执行前x=1,y=8,该程序段输出是什么?
one
70、已知如下代码:
public class Test
{
public static void main(String arg[])
{
int i = 5;
do {
System.out.println(i);
} while (--i>5)
System.out.println("finished");
}
}
执行后的输出是什么?
(5、Finished)DU
71、编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
BC
importjava.io.*;
publicclassSelectSort
{
publicstaticvoidmain(Stringargs[])
{
inta[]={20,10,50,40,30,70,60,80,90,100};
inttemp;
for(inti=0;i for(intj=i+1;j {
if(a[i] temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(intk=0;k {
System.out.println("a["+k+"]:
"+a[k]);
}
}
}
72、下面代码执行后的输出是什么?
(0 and 0、0 and 1、0 and 2)DU
outer:
for(int i=0;i<3; i++)
inner:
for(int j=0;j<2;j++)
{
if(j==1) continue outer;
System.out.println(j+ "and "+i);
}
73、已知如下代码:
switch (m)
{
case 0:
System.out.println("Condition 0");
case 1:
System.out.println("Condition 1");
case 2:
System.out.println("Condition 2");
case 3:
System.out.println("Condition 3");break;
default:
System.out.println("Other Condition");
}
当m 的值为什么时输出"Condition 2"?
(0、1、2)DU
74、字符串"\'a\'"的长度是5。
(×)
75、输出所有的水仙花数。
水仙花数是三位数,它的各位数字的立方和等于该数本身。
publicclassprog1
{
publicstaticvoidmain(Stringargs[])
{
inti,j,k,n=100,m=1;
while(n<1000)
{
i=n/100;
j=(n-i*100)/10;
k=n%10;
if(Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)==n)
System.out.println("找到第"+m+++"个水仙花数:
"+n);
n++;
}
}
}
76、设ch1,ch2是char型变量:
JD
if(ch1==‘a')
{
if(ch2==‘b')
System.out.print("ch1=\'a\',ch2=\'b\'");
}
else
System.out.print("ch1!
=\'a\'");
System.out.println("end");
问题:
1)若执行前ch1的值为‘a',ch2的值为'c'该程序段输出是什么?
end
2)若执行前ch1的值为'w',ch2的