1、(单选题)下列的标识符符合Java命名约定的是()
A.package com.Bi.hr
B.public class xyz
C.int I
D.void setCustomerName()
【正确答案】D
【答案解析】包的名字应该都是由小写单词组成。它们全都是小写字母,即便中间的单词亦是如此,所以A选项错误。 类名的第一个字母一定要大写,所以B选项错误; 变量的第一个字母应该为小写,所以C选项错误; 与属性相对应的get、set方法为:set(get)+属性名,属性名第一个字母为大写,所以D选项正确。
2、(单选题)在Java中,以下描述错误的是( )
A..class是源文件
B..java是编译前的源文件
C..class是编译后的文件
D.Java程序需编译后方可运行
【正确答案】A
【答案解析】此题目考查的是Java程序的开发过程。Java程序开发需要经过三个步骤:编写(.java)、编译(.class)、运行。编写的源程序为.java后缀的,编译后为.class的字节码文件,因此选项B、C是正确的,A是错误的。Java文件都需要进行编译,编译后的.class文件可以"一次编译、多次运行",即体现了Java的特点"Write Once,Run more"。因此D是正确的选项。
3、(单选题)以下表达式那个是不合法的()
A.String x="Hello"; int y=9; x+=y;
B.String x="Hello"; int y=9; if(x==y) { }
C.String x="Hello"; int y=9; x=x+y;
D.String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0;
【答案解析】java中+号除了有连接字符串的作用,还能将字符串和其他数据类型连接起来,输出也是字符串,如果第一个操作数是字符串,则java会自动将后面的数据类型转换为字符串,所以AC正确,输出Hello9,D是三相运算符,不满足,则为0。
4、(多选题)byte b1=1,b2=2,b3,b6,b8; final byte b4=4,b5=6,b7; b3=(b1+b2); /*语句1*/ b6=b4+b5; /*语句2*/ b8=(b1+b4); /*语句3*/ b7=(b2+b5); /*语句4*/ System.out.println(b3+b6); 下列代码片段中,存在编辑错误的语句是()
A.语句2
B.语句1
C.语句3
D.语句4
【正确答案】B,C,D
【答案解析】b1+b2会自动转为int类型,所以要加强转,b3=(byte)(b1+b2);b4,b5是final类型,不会自动提升,所以和的类型视左边的变量类型而定;b7是final类型,即可赋值一次,便不可再赋值。
5、(多选题)下列哪些选项属于Java技术体系()
A.Java Me
B.Java Se
C.Java EE
D.Java Card
【正确答案】A,B,C,D
【答案解析】Java Me,Se,EE,Card都是java技术体系。
6、(多选题)下面的哪些声明是合法的( )
A.long l = 4990
B.int i = 4L
C.float f =1.1
D.double d = 34.4
【正确答案】A,D
【答案解析】B.4L应该是long类型的写法。C.1.1是double类型,float f=1.1f是正确写法。int类型可以赋给long类型
7、java的八种数据类型为byte short int long char boolean float double
8、(多选题)下列选项中创建数组能够编译通过的是( )
A.int[] ia = new int [15];
B.float fa = new float [20];
C.char[] ca = "Some String";
D.Object oa = new float[20];
【正确答案】A,D
【答案解析】任何类的父类都是引用类型Object,数据属于引用类型,D相当于父类的引用指向子类的实例。
9、变量不能以数字开头
10、(多选题)下列对Java语言的叙述中,正确的是()
A.Java虚拟机解释执行字节码
B.Java的类是对具有相同行为对象的一种抽象
C.Java中的垃圾回收机制是一个系统级的线程
D.JDK的库文件目录是bin
【正确答案】A,B,C
【答案解析】在JDK目录下,lib目录存放的是库文件,bin目录下有编译器,解释器和其他工具(如服务器工具,package工具)
11、java中使用"\"转义。
12、(单选题)对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排 序,经过两趟排序后的结果为()
A.{314,298,508,123,145,486}
B.{298,314,508,123,486,145}
C.{298,123,314,508,486,145}
D.{123、298,314,508,486,145}
【正确答案】B
【答案解析】此题为插入排序算法,代码如下:
public static void injectionSort(int[] number) { // 第一个元素作为一部分,对后面的部分进行循环
for (int j = 1; j < number.length; j++) {
int tmp = number[j];
int i = j - 1;
while (tmp < number[i]) {
number[i + 1] = number[i];
i--;
if (i == -1) break;
}
number[i + 1] = tmp; } }
13、(单选题)下列运算符合法的是()
A.&&
B<>
C.if
D.:=
【正确答案】A
【答案解析】java 中没有<> := 这种运算符, if else不算运算符
14(多选题)下列描述中,哪些符合 Java 语言的特征( )
A.支持跨平台(Windows,Linux,Unix等)
B.GC(自动垃圾回收),提高了代码安全性
C.支持类 C 的指针运算操作
D.不支持与其它语言书写的程序进行通讯
【正确答案】A,B
【答案解析】java语言支持跨平台,没有指针概念,拥有GC垃圾回收机制
15 ^ 异或
16、(多选题)从下列选项中选择正确的是( )
A.int k=new String("aa");
B.String str=new String("bb");
C.char c=74;
D.long j=8888;
【正确答案】B,C,D
【答案解析】A选项创建的是String对象,变量k应为String类型