当前位置:
文档之家› JAVA程序设计语言基础习题及答案
JAVA程序设计语言基础习题及答案
(20)阅读下列代码
publicclassTest{
publicstaticvoidmain(String args[]){
System.out.println(~(0xa5) &0xaa);} }
其运行结果是(B)
A.0xa5 B.10 C.0x50 D.0xaa
//~(0XA5)为0X5A,然后与0XAA相与得0X0A,因为计算机输出的结果为十进制,所以结果为10。
char bb=(char)j;
System.out.println("bb="+bb);
}
}
如果输出结果的第二行为bb=a,那么第一行的输出是(C)
A.aa=1B.aa=vC.aa=204D.aa=156
//字符h的Unicode值为104,所以a转化为整型数据时为104,故aa为204
(24)给出下列的代码,哪行在编译时可能会有错误?
JAVA程序设计语言基础习题
(1)在Java中,负责对字节代码解释执行的是(B)。
A.垃圾回收器B.虚拟机C.编译器D.多线程机制
//编译器将JAVa源程序编译成字节代码,即虚拟机代码,然后由虚拟机将虚拟机代码换成相应硬件的机器代码,之后加以执行。
(2)Java语言中,负责并发管理的机制是(D)
A.垃圾回收B.虚拟机C.代码安全D.多线程
//多线程即是多任务的特殊形式,多个任务并发执行。
(3)下列叙述中,正确的是(C)
A.源文件扩展名为.jar
B.源文件名与public类名可以不相同
C.Java语言的标识符是区分大小写的
D.源文件中public类的数目不限
//A项扩展名应为.java;B项应为相同;D项public类只能有一个。
(4)Java为移动设备提供的平台是(A)
(22)阅读下列代码段
int x=3;
while(x<9)
x+=2;
x++;
while语句成功执行的次数是(D)。
A.1次B.2次C.0次D.3次
//如果在while(x<9)后加入大括号,括住x+=2;再加入输出语句System.out.println(“x=”+x);则会输出x=5 x=7 x=9,成功执行while语句3次。但是如果将x++;也括到大括号中,则输出x=5 x=8,成功执行while语句2次。
for (i=1;i<=5;i++)
{ for (j=0;j<=3*(i-1);j++)
System.out.print(" ");
for (k=1;k<=5;k++)
System.out.print("* ");
System.out.println();
}
}
import java.math.*;
public class AverageScore
{ public static void main(String args[])
{ float aver=0;
int a=0,b=0,c=0,d=0,e=0;
for(【int i=0】;i<100;i++)
{ double sd=Math.random()*5+'A';
(5)JDK中提供的文档生成器是(C)
A.java.exeB.javap.exe
C.javadoc.exe D.jdb.exe
//A中的java.exe是java语言解释器;B中的javap.exe是java类文件反汇编器,用于分析类中的所有成员方法和成员变量,当然也包括构造方法;C中的javadoc.exe是Java API文档生成器;D中的jdb.exe是javadebug的缩写,既JAVA调试器。
(23)阅读下面程序:
import java.*;
public class TypeTransition
{public static void main(String args[])
{char a='h';
int i=100,j=97;
int aa=a+i;
System.out.println("aa="+aa);
第三章课后的9题,设置三层循环,外层i控制输出5行,中层j控制每行开头的空格,内层k控制*号的输出。
程序如下:
/*打印图案:每行打印5个星号,每个星号之间空两个空格*/
public class xinghao
{ public static void main(String args[])
{ int i, j, k;
①public void modify(C){
②int i, j, k;
③i = 100;
④while(i > 0){
⑤j = i * 2;
⑥System.out.println(" The value of j is " + j);
⑦k = k + 1;
⑧}
⑨}
A.line 4 B.line6 C.line 7 D.line 8
}
}
}
}
//continue的作用是跳过label所指语句块中所有余下部分的语句,回到label语句块的条件测试部分继续执行。
有标号的运行结果为2;无标号的运行结果是2 4。
第三章课后的8题,很简单,略。
第三章课后的9题,需要分别取出百位数,十位数与个位数。
可以使用下面语句实现;设i为一个三位数,a为百位数,b为十位数,c为个位数。则有a=i/100 ; b=j/10%10; c=i%10;
public class SignContinue
{ public static void main(String args[])
{ label:
for(int i=0; i<3; i++)
{ for(int j=1;j<3; j++)
{ if(j!=i) continue label ;
System.out.println(i+j);
(15)十进制数16的16进制表示格式是(A)
A.0x10 B.0x16 C.0xA D.16
//十进制数16表示的二进制数为00010000,然后再将其化为十六进制的0X10
(16)下列的(A)赋值语句是不正确的
A.floatf =2E1.2; B.doubled = 5.3E-12;
C.floatd =3.14f;D.doublef=0.3E0;
A.Helloworld B.HelloWorld
C.helloworld D.helloWorld
//用Java标识符来表示类名时,如果多于一个单词,则每个单词的第一个字母需要大写。定义变量名时,若一个变量名是有一个以上单词所组成的,则第一个单词之后的所有单词都以大写字母开头。
(13)在Java中,表示“回车”的转义字符是(B)
// Java编译器将源代码翻译成独立于平台的格式是字节码即bytecodes
(9)Java可以用来创建程序的工具集是(D)
A.JRE B.JNI C.JVM D.JDK
//A中的JRE是JAVA运行环境。B中JNI是JAVA本地接口。C中的JVM是JAVA虚拟机。D中的JDK是JAVA的工具集。
(10)Java语言与其他主要语言相比较,独有的特点是(C)
(21)阅读下列代码
public class Test{
public static void main(String args[]){
System.out.println(9 >>>2);} }
其运行结果是(B)
A.4B.2C.3D.1
//9的二进制形式为00001001,无符号右移2位的0010,十进制为2
A.面向对象B.多线程C.平台无关性D.可扩展性
//用JAVA语言编写的各种程序可以不经过修改在各个平台系统上运行。
(11)下列属于合法的Java标识符是(A)
A._cat B.5books C.+static D.-3.14159
//标识符是以字母、下划线或$符号开头的字母、下划线以及数字序列。
(12)按照Java的标识符命名规范,下列表示一个类的标识符正确的是(B)
A.\nB.\rC.\bD.\t
//A中的\n是回车并且换行的意思是向前退格的意思。D中的\t是横向跳格的意思。
(14)char类型的取值范围是(B)
A.2-7~27-1B.0~216-1
C.-215~215-1D.0~28-1
//JAVA中字符型是用16位的Unicode码来表示的。
char score=【(char)sd】;
【switch】(score)
{ case 'A': aver+=4;a++;break;
case 'B': aver+=3;b++;break;
case 'C': aver+=2;c++;break;
case 'D': aver+=1;d++;break;
case 'E': aver+=0;e++;break;
default : break;
}
}
aver/=100;
System.out.println("平均分数为"+aver+",学生人数100");