5.下列语句序列执行后,i的值是()。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
6.以下由for语句构成的循环执行的次数是(B)。
for(inti=0;true;i++);
A)有语法错,不能执行B)无限次
C)执行1次D)一次也不执行
7.下面哪些是不合法的标识符(C)
A.$personsB.TwoUsersC.*pointD._endline
8、下面哪个不是java语言中的关键字?
(B)
A.long B.sizeof
C.instanceof D.const
9、设intx=1,floaty=2,则表达式x/y的值是:
(d)
A.0 B.1 C.2 D.以上都不是
10、以下语句有语法错的是:
()
A.intx=1;y=2;z=3
B.for(intx=10,y=0;x>0;x++);
C.while(x>5);
D.for(;;);
11.设有定义inti=6;,则执行以下语句后,i的值为(c)。
i+=i-1;
A)10B)121C)11D)100
12.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
13.下列语句序列执行后,i的值是(d)。
inti=8,j=16;
if(i-1>j)i--;elsej--;
A)15B)16C)7D)8
14.下列语句序列执行后,k的值是(c)。
inti=10,j=18,k=30;
switch(j-i)
{case8:
k++;
case9:
k+=2;
case10:
k+=3;
default:
k/=j;
}
A)31B)32C)2D)33
15.下列程序段执行后b3的结果是(d)。
booleanb1=true,b2,b3;
24=b1?
b1:
b2;
A)0B)1C)trueD)false
16.设有定义inti=123;longj=456;下面赋值不正确的语句是(c)。
A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;
17.main()方法的返回类型是什么?
(b)
A.intB.voidC.BooleanD.static
18、关于Java语言叙述错误的是:
(c)
A.Java语言具有跨平台性
B.Java是一种面向对象的语言
C.Java语言中的类可以多继承
D.Java的垃圾收集机制自动回收程序已不再使用的对象
19、以下叙述正确的是:
(B)
A.构造方法必须是public方法B.main方法必须是public方法
C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型
20、下列语句执行后,变量a、c的值分别是()。
intx=182;
inta,c;
c=x/100;
a=x%10;
A)1,2B)2,1C)1.82,2D)100,82
21、关于类和对象的叙述正确的是:
(A)
A.Java的类分为两大部分:
系统定义的类和用户自定义的类
B.类的静态属性和全局变量的概念完全一样,只是表达形式不同
C.类的成员至少有一个属性和一个方法
D.类是对象的实例化
22、以下有关构造方法的说法,正确的是:
(A)
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用
D.构造方法可以和类同名,也可以和类名不同
23、以下有关类的继承的叙述中,正确的是:
(D)
A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B.子类只能继承父类的方法,不能继承父类的属性
C.子类只能继承父类的非私有属性,不能继承父类的方法
D.子类不能继承父类的私有属性
24、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.protected
25、void的含义:
(C)
A.方法体为空 B.定义的方法没有形参
C.定义的方法没有返回值 D.方法的返回值不能参加算术运算
26、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A..javaB..classC..htmlD..exe
27.Java编程所必须的默认引用包为(B)
A.java.sys包 B.java.lang包
C.java.new包 D.以上都不是
28.main()方法的返回类型是什么?
(B)
A.intB.voidC.BooleanD.static
29.哪些是将一个十六进制值赋值给一个long型变量(D)
A.longnumber=345L;
B.longnumber=0345;
C.longnumber=0345L;
D.longnumber=0x345L;
11.下列类定义中,不正确的是(c)。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
二、填空题:
1.构造函数___有返回值。
2表达式3/6*5的计算结果是__0__。
3.顺序结构、分支结构(或称选择结构)、__________是结构化程序设计的三种基本流程控制结构。
4.Java源程序文件编译后产生的文件称为_字节码___文件,其扩展名为__.class_____。
5.在子类中使用关键字____super_做前缀可调用被子类覆盖的父类中的方法。
6.关键字__import___用于导入包中的类到程序中,供程序中使用。
7、数组x定义如下
intx[][]=newint[3][2]
则x..length的值为____3__,
x[0].length的值为2_____。
8.定义类的构造方法不能有返回值类型,其名称与_类_名相同。
9.Java语言中关键字__double_表示双精度类型。
10.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和___double_______两种具体类型。
11.创建类对象的运算符是new__。
12.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__n%13==0?
true,__false_。
13.定义类就是定义一种抽象的__父类____,它是所有具有一定共性的对象的抽象描述。
14若有定义:
floatb={1.1f,3.5f,6.8f};,则b.length()的值是3___。
15、设x=2,则表达式(x++)/3的值是0。
16、若x=5,y=10,则x=y的逻辑值分别为true和false
三、程序分析:
1.请写下程序的输出结果:
publicclassTest52
{
Stringstr1="Hello,Javaworld!
\t";
Stringstr2="Hello,students!
";
publicstaticvoidmain(Stringargs[])
{
System.out.print(str1);
System.out.println(str2);
}}
输出结果:
Hello,Javaworld!
Hello,students!
2、publicclassSum
{publicstaticvoidmain(Stringargs[])
{doublesum=0.0;
for(inti=1;i<=100;i++)
sum+=1.0/(double)i;
System.out.println("sum="+sum);
}
}
Sum=1+1/2+……+1/100
3、classA{
doublef(doublex,doubley){
returnx*y;
} }
classBextendsA{
doublef(doublex,doubley){
returnx+y;
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Bobj=newB();
System.out.println("Theprogramoutputis"+obj.f(4,6));
}
}
程序的输出结果为:
__10.0_
4请写下程序的输出结果:
publicclassT2_4{
publicstaticvoidmain(String[]args)
{
inti,j;
charc='*';
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)
System.out.print("*");
System.out.println();
}
}
}
输出结果:
5、publicclassTest{
publicstaticvoidmain(String[]args){
intx;
inta[]={0,0,0,0,0,0};
calculate(a,a[5]);
System.out.println("thevalueofa[0]is"+a[0]);
System.out.println("thevalueisa[5]is"+a[5]);
}
staticintcalculate(intx[],inty){
for(inti=1;iif(yx[i]=x[i-1]+1;
returnx[0];
}
}
程序的输出结果为:
thevalueofa[0]is0
thevalueisa[5]is5
6
(1)程序第5、6行的if语句的功能是什么?
(2分)
(2)程序输出的结果有几行?
(3分)
1:
publicclassOutput1{
2:
publicstaticvoidmain(Stringarge[]){
3:
inti=0;
4:
for(charch=97;ch<113;ch++,i++){
5:
if(i%8==0)
6:
System.out.println("");
7:
System.out.print("\t"+ch);
8:
}
9:
}
10:
}
7、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。
ints=0;
for(inti=0;iif(i%2==1)s+=MyIntArray[i];
System.out.println(s);
120
8.
(1)程序第5、6行的if语句的功能是什么?
(2分)
(2)程序输出的结果有几行?
(3分)
1:
publicclassOutput1{
2:
publicstaticvoidmain(Stringarge[]){
3:
inti=0;
4:
for(charch=97;ch<113;ch++,i++){
5:
if(i%8==0)
6:
System.out.println("");
7:
System.out.print("\t"+ch);
8:
}
9:
}
10:
}
(1)每打印8个字符,则换行。
(2)输出的结果有2行。
四、编程题
1、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
publicclassProg3{
publicstaticvoidmain(String[]args){
for(inti=100;i<1000;i++){
if(isLotus(i))
System.out.print(i+"");
}
System.out.println();
}
//判断水仙花数
privatestaticbooleanisLotus(intlotus){
intm=0;
intn=lotus;
intsum=0;
m=n/100;
n-=m*100;
sum=m*m*m;
m=n/10;
n-=m*10;
sum+=m*m*m+n*n*n;
if(sum==lotus)
returntrue;
else
returnfalse;
}
}
2、利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用优表示,60-89分之间的用及格表示,60分以下的用不及格表示。
publicclassIfElseDemo{
publicstaticvoidmain(String[]args){
inttestscore=76;
chargrade;
if(testscore>=90){grade='优';}
elseif(testscore>=60){grade='及格';}
else{grade='不及格';}
System.out.println("Grade="+grade);
}
}
3、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
importjava.util.Scanner;
publicclassProg35{
publicstaticvoidmain(String[]args){
System.out.print("请输入一组数:
");
Scannerscan=newScanner(System.in).useDelimiter("\\s");
int[]a=newint[50];
intm=0;
while(scan.hasNextInt()){
a[m++]=scan.nextInt();
}
scan.close();
int[]b=newint[m];
for(inti=0;ib[i]=a[i];
for(inti=0;ifor(intj=0;jif(b[j]
inttemp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
for(inti=0;iSystem.out.print(b[i]+"");
}
}
4、编写一个“Student”类,该类拥有属性:
校名、学号、性别、出生日期。
方法包含设置姓名和成绩(setName(),setScore())。
再编写“Student”类的子类:
Undergraduate(大学生)。
Undergraduate类除拥有父类属性和方法外,还有其自己的属性和方法:
附加属性包括系(department)、专业(major);方法包含设置系别和专业。
(setDepartment(),setMajor())。
2.class Student {
String name="湖南****学院";
int sNum=888888;
String sex="男";
String birth="1988/08/08";
String sname;
int Score;
void setName(String a){
sname=a;
}
void setScore(int b){
Score=b;
}
void show(){
System.out.println("所在学校:
"+name);
System.out.println("学号:
"+sNum);
System.out.println("性别:
"+sex);
System.out.println("生日:
"+birth);
System.out.println("姓名:
"+sname);
System.out.println("成绩:
"+Score);
}
}
class Undergraduate extends Student{
String department;
String major;
void setDeparment(String c){
department=c;
}
void setMajor(String d){
major=d;
}
void show1(){
super.show();
System.out.println("系部:
"+department);
System.out.println("专业:
"+major);
}
}
class Student{
public static void main(String arg[]){
Student A=new Student();
Undergraduate B=new Undergraduate();
B.setName("许翼");
B.setScore(95);
B.setDeparment("信息工程系");
B.setMajor("计算机网络");
B.show1();
}
}