java语言概述习题教学内容.docx
《java语言概述习题教学内容.docx》由会员分享,可在线阅读,更多相关《java语言概述习题教学内容.docx(25页珍藏版)》请在冰豆网上搜索。
java语言概述习题教学内容
java语言概述习题
第1章java语言概述习题
一、填空题
1、面向对象程序的主要特征:
继承,______封装_________,______多态________。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重复或者复用___.
3、java语言中,为将源代码翻译成_字节码___文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:
javac[选项]__文件名__,java是java语言中的解释行器,基本语法是:
java[选项]___类名___.
5、java语言的主要贡献者是谁_JamesGosling________
二、单选题
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名()。
A、java
B、.class
C、html
D、.exe
2、main方法是JavaApplication程序执行的入口点,关于main方法的方法首部,以下()项是合法的。
A、publicstaticvoidmain()
B、publicstaticvoidmain(Stringargs[])
C、publicstaticintmain(String[]arg)
D、publicvoidmain(Stringarg[])
三、判断题
1、Java语言具有较好的安全性和可移植性及与平台无关等特性。
对
2、Java语言的源程序不是编译型的,而是编译解释型的。
对
四、问答题
1、编写、运行java程序需要经过哪些主要步骤?
2、阅读下列
java源代码文件,并回答问题
publicclassSpeak{
voidspeakHello(){
System.out.println("I'mgladtomeetyou");
}
}
classXiti8{
publicstaticvoidmain(Stringargs[]){
Speaksp=newSpeak();
sp.speakHello();
}
}
(1)上述源文件的名字是什么?
(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?
第2章
(1)基本数据类型练习题
一、填空题
1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.
2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。
3、Java中的浮点类型有两类,分别是float和double类型,其中float取_7__位有效数据,double取_15__位有效数据。
4、布尔类型常量只有两个__true___和_false_____,其中前者表示逻辑真,后者表示逻辑假。
5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形式:
_小数点形式_____和___指数形式_____。
6、java语言中的各种数据类型之间提供自动转换,如第一种操作数为byte,而第二种操作数为float,则其结果是__float___类型。
7、java语言的各种数据类型之间提供两种转换,分别是__自动转换__和__强制转换___。
8、开发与运行Java程序需要经过的三个主要步骤为编译源程序、编译生成字节码和解释运行字节码。
9、Java程序中的单行注释符是(//),多行注释符是(/**/)。
10、Java中布尔类型的常量有两种,它们是(true)和(false)。
11、Java中用于定义小数的关键字有两个:
(float)和(double),后者精度高于前者。
二、多选
1、下面有关char类型数据的定义中,正确得是________?
A.charch=“a”;
B.charch=‘\’‘;
C.charch=‘cafe’;
D.charch=“cafe”;
E.charch=‘\ucafe’;
F.charch=‘\u10100’;
G.charch=(char)true;
三、判断
1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。
错
2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。
对
四、单选
1、以下哪个不是Java的基本数据类型()
A、intB、BooleanC、floatD、char
2、如下哪个是Java中有效的关键字()
A、nameB、helloC、falseD、good
第2章
(2)数组练习题
一、填空题
1、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。
二、多选
1、定义如下的二维数组b,下面的说法正确的是()。
intb[][]={{1,2,3},{4,5},{6,7,8}}};
A)b.length的值是3。
B)b[1].length的值是3。
C)b[1][1]的值是5。
D)二维数组b的第一行有3个元素
三、单选
1、以下哪项是main方法的正确形参?
()
A、Stringargs
B、Stringar[]
C、Chararg
D、StringBufferargs[]
2、有整型数组:
int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是().
A)2781235
B)1235872
C)3512872
D)8712352
3、应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc,回车后输出的结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+""+k2);
}
}
A)32B)12C)13D)33
4、关于下面代码的说法()是正确的?
publicclassExample{
publicstaticvoidmain(String[]args){
int[]arr=newint[10];
System.out.println(arr[1]);
}
}
A、编译时产生错误
B、编译时正确,运行时将产生错误
C、输出零
D、输出空(null)
第3章
(1)运算符&表达式&if语句练习题
一、填空
1、Java中,除了__字符型___和__布尔型___外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。
2、短路逻辑运算符包括__&&____和__||____。
3、Java提供了&,&&和|,||运算符,除了一点外,&运算符和&&运算符在使用中完全相同,|运算符和||运算符也相同。
它们的不同点在于:
__&__运算符和_|__运算符中的两个运算对象都要运算。
4、顺序执行以下两个语句的输出结果是:
____10___。
Strings=”我喜欢学习java!
”;System.out.println(s.length());
5、下面代码定义了两个整型变量和一个字节型变量,则将num1+num2的值赋给num3变量的语句是__num3=(byte)(num1+num2)___________。
intnum1=53;intnum2=47;bytenum3;
6、下面代码中,“Type”应该换成什么类型___double_____?
publicclassReturnIt{
returnTypemethodA(bytex,doubley){
return(long)x/y*2;
}
}
7、Java语言提供了两条基本的分支选择语句:
__if__语句和_switch___语句
8、以下程序段的输出结果为__Messagefour__。
intx=0,y=4,z=5;
if(x>2){
if(y<5){
System.out.println(“Messageone”);
}else{
System.out.println(“Messagetwo”);
}
}elseif(z>5){
System.out.println(“Messagethree”);
}else{
System.out.println(“Messagefour”);
}
二、单选
1、下面选项中,_____的值与3*4的值相等?
A.3/2B.3<2C.3*2^2D.3<<2
2、下面选项中,_____的值与16/2^12的值相等?
A.16>4B.16/2C.16*4D.16>>2E.16>>>2
3、有以下方法的定义,请选择该方法的返回类型()。
ReturnTypemethod(bytex,doubley){
return(short)x/y*2;
}
A、byteB、shortC、intD、double
第3章
(2)switch&循环语句练习题
一、填空题
1、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;iif(i%2==1)
s+=MyIntArray[i];
System.out.println(s);
2、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=a.length-1;i>=0;i--)
System.out.print(a[i]+"");
3、以“javaSub3”运行以下程序的结果是:
3thseason___。
publicclassSub{
publicstaticvoidmain(String[]args){
inti=Integer.parseInt(args[0]);
swich(i){
case1:
System.out.println(“Firstseason”);break;
case2:
System.out.println(“Secondseason”);break;
case3:
System.out.println(“3thseason”);break;
case4:
System.out.println(“Lastseason”);break;
}
}
}
4、switch(X)中,X可以接受的类型有_char____,__byte_____,short,int。
5、以下程序段的输出结果为__Valueistwo.Valueisthree.______。
intj=2;
switch(j){
case2:
System.out.print(“Valueistwo.”);
case2+1:
System.out.println(“Valueisthree.”);break;
default:
System.out.println(“valueis“+j);break;
}
6、如果x=2;则下面程序执行后的结果是__34____?
switch(x){
case1:
System.out.println
(1);
case2:
case3:
System.out.print(3);
case4:
System.out.println(4);
}
7、下面代码执行结束后l和j的值分别是_l=5,j=6_____?
publicstaticvoidmain(String[]args){
intj=10;
intl=1;
do{
if(l++>--j)
continue;
}
while(l<5);}
8、下面程序的运行结果为(20)
classtest{
publicstaticvoidmain(Stringargs[]){
intsum=0;
for(inti=0;i<10;i++){
if(i%2==0)sum+=i;
elsecontinue;
}
System.out.println(sum);
}
}
二、单选
1、应用程序的main方法中有以下语句,则输出的结果是()。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;ifor(intj=0;j
sum+=b[i][j];
}
}
System.out.println("sum="+sum);
A)32B)11C)2D)3
2、应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;iif(x[i]>max)max=x[i];
}
System.out.println(max);
A)125B)5C)98D)168
第4章
(1)类和对象练习题
一、填空
1、面向对象程序的主要特征:
继承,______封装________,____多态__________。
2、__构造方法___是类中的一种特殊方法,用来定义对象的初始状态。
3、构造方法在__创建对象__时被调用。
4、系统类Math的random()方法可用来产生0-1.0之间的实数,则产生一个50-100之间的整数的程序语句是_(int)Math.random()*50+50______。
5、下面代码执行结束之后,打印出来的结果是__4____?
publicclassHappy{
publicstaticvoidmain(Stringargs[]){
inti=4;
intj=2;
methodA(i,j);
System.out.println(i);
}
staticpublicvoidmethodA(inti,intj){i<<=j;}
}
6、在java语言中,有一个类是所有类和接口的父类,这个类的名称是_java.lang.Object(Object)____。
7、构造方法在_创建对象___时被调用。
8、java运行系统通过_垃圾回收机制___周期性的释放无用对象所占用的内存,以完成对象的消除。
9、阅读以下程序,输出结果为__1.23__。
classQ1{
publicstaticvoidmain(Stringargs[]){
doubled=1.23;
Decdec=newDec();
dec.decrement(d);
System.out.println(d);
}
}
classDec{
publicvoiddecrement(doubledecMe){
decMe=decMe-0.1;
}
}
10、阅读程序
publicclassTest{
intx=12;
publicvoidmethod1(intx){
x+=x;
System.out.println(x);
}
}
如果有如下的代码段:
Testt=newTest();t.method1(5);程序执行到这个地方,代码输出结果是___10__?
11、定义在类中的变量为__成员变量__,它不需要进行显式的初始化,定义在方法中的变量为___局部变量_,它需要进行显式的初始化。
12、面向对象的模型中,最基本的概念是_类__和_对象__。
二、多选题
1、下面选项中,_________是合法的构造方法的重载?
publicclass
ConstOver{
publicConstOver(intx,inty,intz){}
}
A.ConstOver(){}
B.ProtectedintConstOver(){}
C.PrivateConstOver(intz,inty,bytex){}
D.PublicObjectConstOver(intx,inty,intz){}
E.PublicvoidConstOver(bytex,bytey,bytez){}1
2、下面说法中______是对方法setVar()重载的方法。
publicclassMethodOver{
publicvoidsetVar(inta,intb,floatc){}
}
A.PrivatevoidsetVar(inta,floatc,intb){}
B.ProtectedvoidsetVar(inta,intb,floatc){}
C.PublicintsetVar(inta,floatc,intb){returna;}
D.PublicintsetVar(inta,intb,floatc){returna;}
E.ProtectedfloatsetVar(inta,intb,floatc){returnc;}
第4章
(2)可变参数,static与this练习题
一、填空题
1、在下面程序划线处填入适当的内容。
classMyClass{staticintvar=100;_static(publicstatic)______intgetVar(){returnvar;}}
2、以下程序段的输出结果为__intversion____。
classCruncher{
voidcrunch(inti){
System.out.println(“intversion”);}
voidcrunch(Strings){
System.out.println(“Stringversion”);}
publicstaticvoidmain(Stringargs[]){
Crunchercrun=newCruncher();
charch=’p’;crun.crunch(ch);}
}
3、以下程序段的输出结果为lntegerString_____。
classIntORString{
voidiosM(inti){
System.out.print(“Integer”);}
voidiosM(Strings){
System.out.print(“String”);}
publicstaticvoidmain(Stringargs[]){
IntORStringios=newIntORString();
ios.iosM(‘a’);
ios.iosM(“1”);
}
}
4、如果有个类A,该类中有成员变量b和成员方法c(),则在创建该类得对象a后,对该对象的成员变量和成员方法的调用方式分别是_a.b__,_a.c()___。
5、以下代码段创建了_2__个对象,声明了___3__个变量。
Thingitem,stuff;
item=newThing();
Thingentity=newThing();
6、通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现:
_MyClassobj=newMyClass()________。
7、下面_________情况下,系统会为类A自动产生构造函数?
A.classA{}
B.classA{publicA(){}}
C.classA{publicA(intx){}}
D.classZ{}classAextendsZ{voidA(){}}
8、请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是_静态成员变量初始化、成员变量初始化、构造函数______。
9、划线处应填的一句代码:
___this(a)____。
publicclassExample{
intx,y;
publicExample(inta){
x=a;}
publicExample(inta,intb){
____________;//调用上面的一个参数的构造方法
y=b;
}
}
10、关键字__final_____表明一个对象或变量在初始化后不能被修改。
11、类是对象的抽象,是属性和操作的封装体,其中属性是事物静态特征的抽象,在程序中用_数据成员_____描述,操作是事物动态特征的抽象,在程序中用_成员方法__描述。
.
第4章(3)包_访问权限_基本数据类型封装练习题
一、填空题
1、请填出在java.lang包中与下列基本数据类型相对应的封装类:
float:
java.lang.Float,char:
___java.lang.Character______,boolean:
_java.lang.Boolean_____________.
2、java中提供了四种访问控制符,分别是:
__public________,____protected_______,____private_____,_缺省或___friendly________。
3、以下程序段的输出结果为___false,true_______。
publicclassEqualsMethod{
publicstaticvoidmain(