一.单选题
1、编译一个定义了 3 个类和 10 个方法的 Java 源文件后,会产生( )个字节码文件,扩展名是(D )。
A、13 个字节码文件,扩展名为.class
B、1 个字节码文件,扩展名为.class
C、3 个字节码文件,扩展名为.java
D、3 个字节码文件,扩展名为.class
【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
2、阅读下列代码,选出该代码段正确的文件名(C )。
class A{void method1(){
System.out.println(“Method1 in class A”);}}
public class B{void method2(){
System.out.println(“Method2 in class B”);}
public static void main(String[] args){
System.out.println(“main() in class B”);}}
A、A.java
B、A.class
C、B.java
D、B.class
【解析】Java 源文件名必须和公共类的名字完全一样,源文件的扩展名为.java。
3、编译下面源程序会得到哪些文件(D )?
class A1{}
class A2{}
public class B{public static void main(String[] args){}}
A、只有 B.class 文件
B、只有 A1.class 和 A2.class 文件
C、编译不成功
D、A1.class、A2.class 和 B.class 文件
【解析】由于该程序包含 3 个类,每个类编译后都会生成 1 个字节码文件,因此编译后会生成以这 3 个类名命名的字节码文件。
4、下列( D )是合法的标识符?
A、12class
B、void
C、-5
D、_blank
【解析】根据 Java 标识符的构成规则确定。
5、下列(B )不是 Java 中的保留字?
A、if
B、sizeof
C、private
D、null
【解析】根据 Java 保留字表进行选择。
6、下列( C )不是合法的标识符?
A、
m
i
l
l
i
o
n
B
、
million B、
millionB、_million
C、2$_million
D、$2_million
【解析】根据 Java 标识符的构成规则确定。
7、下列选项中,( B )不属于 Java 语言的基本数据类型?
A、整数型
B、数组
C、浮点型
D、字符型
8、下列关于基本数据类型的说法中,不正确的一项是(D )。
A、boolean 类型变量的值只能取真或假
B、float 是带符号的 32 位浮点数
C、double 是带符号的 64 位浮点数
D、char 是 8 位 Unicode 字符
【解析】Java 中的字符采用的是 16 位的 Unicode 字符。
9、下列关于基本数据类型的取值范围的描述中,正确的一个是(B )。
A、byte 类型的取值范围是-128~128
B、boolean 类型的取值范围是真或假
C、char 类型的取值范围是 0~65536
D、short 类型的取值范围是-32767~32767
【解析】根据每种类型占几个字节即可推算出其取值范围,如 byte 类型占 1 个字节,即共包含 28 个数值,其取值范围范围应为-128~127,其他类型也是如此。
10、下列关于 Java 语言简单数据类型的说法中,正确的一项是(A )。
A、以 0 开头的整数代表 8 进制整型常量
B、以 0x 或 0X 开头的整数代表 8 进制整型常量
C、boolean 类型的数据作为类成员变量的时候,相同默认的初始值为 true
D、double 类型的数据占计算机存储的 32 位
【解析】根据每种数据类型的特性进行判断。
11、下列 Java 语句中,不正确的一项是(C )。
A、$e, a, b = 10;
B、char c, d = ‘a’;
C、float e = 0.0d;
D、double c = 0.0f;
【解析】不能将 double 类型的常量赋值给 float 类型的变量。
12、在编写 Java 程序时,如果不为类的成员变量定义初始值,Java 会给出它们的默认值,下列说法中不正确的一个是(D )。
A、byte 的默认值是 0
B、boolean 的默认值是 false
C、char 类型的默认值是’\0’
D、long 类型的默认值是 0.0L
【解析】long 类型的默认值是 0L,而不是 0.0L。
13、下列语句中不正确的一个是(B )。
A、float f = 1.1f;
B、byte b = 128;
C、double d = 1.1/0.0;
D、char c = (char)1.1f;
【解析】bytel 类型变量的取值范围是-128~127。
14、下列表达式 1+2+ “aa”+3 的值是(B )。
A、“12aa3”
B、"3aa3 "
C、“12aa”
D、“aa3”
【解析】整数和整数相加得到两个整数的和,而整数和字符串相加得到的是字符串。
15、已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为(A )。
A、3
B、-1
C、-12
D、-3
【解析】根据运算符的优先级,该表达式相当于 n=n+ ((-y)*z)/n。
16、已知 a=2, b=3,则表达式 a%b*4%b 的值为(A )。
A、2
B、1
C、-1
D、-2
【解析】根据运算符的优先级,该表达式相当于((a%b)*4)%b。
17、表达式(12==0) && (1/0 < 1)的值为(B )。
A、true
B、false
C、0
D、运行时抛出异常
【解析】由于(12==0)的值为 false,因此整个表达式发生短路运算,即(1/0 < 1)就没有参与运算,整个表达式的值为 false。
18、设有类型定义 short i=32; long j=64; 下面赋值语句中不正确的一个是(B )
A、j=i;
B、i=j;
C、i=(short)j;
D、j=(long)i;
【解析】long 类型的数据不能自动转变为 short 类型,因此不能将 long 类型的变量直接赋值给 short 类型。
二.填空题
1、开发 Java 程序的一般步骤是:源程序编辑、生成字节码和解释执行
2、每个 Java Application 程序可以包括许多方法,但是必须有且只能有一个main()方法,统一格式public static void main(String[] args),它是程序执行的入口。
3、JVM 把字节码程序与各种不同的操作系统和硬件分开,使得 Java 程序独立于平台。
4、Java 源程序文件和字节码文件的扩展名分别为.java和.class
5、如果在 Java 程序中需要使用 java.utile 包中的所有类,则应该在程序开始处加上*import java.utitle.语句。
6、Java 语言的整数类型变量和常量一样,各自都包括 4 种类型的数据,它们分别是byte、 int、short和long
7、Java 语言中的保留字具有特殊意义和作用,不能作为普通标识符使用。
8、Java 中的字符采用的是 16 位的Unicode编码。
9、数据类型中存储空间均为 64 位的两种数据类型是long和double。
10、public class X3____2 {
public static void main(String[] args) {
int i=5, j=2;
while(j<i–) j++;
System.out.print(j);}}
写出运行结果 4
答案解析:
【程序解析】本程序主要考查 while 语句以及“后缀–”运算符的使用。由于每执行一次 while判断,i 的值就减 1,每执行 1 次循环体,j 的值就增加 1,而 while 判断总共经历了“2<5”、“3<4”、“4<3”三次,第 3 次时由于条件不满足,还没有执行循环体就结束了循环,因此循环体总共执行了 2 次,j 的值也只加了 2,而其初始值为 2,因此 j 最后的值为 4。