1、下列哪一个不属于JAVA语言的数据类型( C )。
A.整型; B.类; C.指针类型; D.浮点类型;
注释:Java数据类型分基本类型和引用类型。
2、下列关于自动类型转型的说法中,哪个正确( C )。
A.char类型不能做自动类型转换;
B.char类型数据只能自动转换为int类型数据;
C.char类型数据不能自动转换 boolean类型数据;
D.char类型数据可以自动转换为任何简单的数据类型的数 据;
注释:Java中转换规则:1)精度小的向精度大的转换;2)字节短的向字节长的转换 ;3)char和int可以互换,char是用ASCII码。byte->(int=char)->long->float->double
3、下列运算符不是Java所支持的运算符是( A )。
A.^^ B.|| C.&& D.~
4、下列语句序列执行后,k 的值是( C )。
int m=3, n=6, k=1;
while( (m++) < ( -- n) ) ++k;
m=3<n=5,k=2;m=4<==4-------k=2.
A.0 B.1 C.2 D.3
5、下列哪个选项可以求出数组的长度(C)
A.size B. size() C.length D.length()
6、设 i、j 为int型变量名,a 为int型数组名,以下选项中, 正确的赋值语句是( A )。
A.a[0] = 7; B.i = i + 2.1;(int)
C.a(0) = 66;(数组) D.i++ - --j;(赋值语句)
7、编译并运行下面的Java代码段 char c = 'a';
switch (c) {
case 'a': System.out.println("a");
default: System.out.println("default");
}
输出结果是(B)
A.代码无法编译,因为switch语句没有一个合法 的表达式
B.a default
C.a
D.default
注释:switch结构中的执行顺序:case后break后,退出。无break,继续执行default语句。
8、给定一个Java程序代码,如下:
运行编译后,输出结果是( B)
pubilc class Test{
int count = 9;
pubilc void count1(){
int count = 10;
System.out.println("count1" + count);
}
pubilc void count2(){
System.out.println("count2" + count);
}
}
A.count1=9 count2=9
B.count1=10 count2=9
C.count1=10 count2=10
D.count1=9 count2=10
注释:变量就近原则。Count1就近原则是局部变量,count2输出全局变量。
9、在java中,下列赋值语句正确的是(A )
A.char c='a';
B.char c="a";
C.char c=false;
D.char c=new Character('a');
注释:在Java中字符要用’’单引号。
10、为了判断两个字符串s1和s2内容是否相等,应当使用( D)
A.if (s1==s2)
B.if (s1=s2)
C.if (strcpy(s1,s2))
D.if (s1.equals(s2))
注释:判断字符串内容是否相等用equals。
11、下列不可作为java语言修饰符的是(D)
A.a1 B.$1 C._1 D.11
注释:数字不能位于第一个字符。
12、有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)
A.a1.java B.a1.class C.a1 D.都对
13、下列关于Java语言的特点,描述错误的是(C)
A.Java是跨平台的编程语言 B.Java支持分布式计算
C.Java是面向过程的编程语言 D.Java支持多线程
14、结构化程序设计所规定的三种基本控制结构是 ( C )
A.输入、处理、输出 B.树形、网形、环形
C.顺序、选择、循环 D.主程序、子程序、函数
??15、下列关于for循环和while循环的说法中哪个是正确的?( A)A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空
注释:B:while这个循环条件是通过程序运行过程中的某个结果来决定的(一般用于不确定循环次数的情况下用);而for循环一般用于已知循环次数,判断条件一般与循环控制变量有关而与程序运行中的其它变量无关。
16、阅读以下代码:
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
输出结果应该是:( C )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获到 NullPointException异常
17、编译运行以下程序后,关于输出结果的说明正确的是 ( C )
public class Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9:9));
}
}
A.输出结果为:value is 99.9 B.输出结果为:value is 9
C.输出结果为:value is 9.0 D.编译错误
18、 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A)
A.x[9]为0 B.x[9]未定义 C.x[10]为0 D.x[0]为空
19、 关于以下程序段,正确的说法是( C )
String s1=“a”+“b”;
String s2=new String(s1);
if(s1= =s2)
System.out.println(“= = is succeeded”);
if (s1.equals(s2))
System.out.println(“.equals() is succeeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 C.行4、行6都不执行
20、以下程序的运行结果是:( C)
public class Increment{
public static void main(String args[]){
int c;
c = 2;
System.out.println(c);
System.out.println(c++);
System.out.println(c);
}
}
A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4
21、执行语句int i = 1, j = ++i; 后i与j的值分别为( D)
A、1与1 B、2与1
C、1与2 D、2与2
22、下面哪一个循环会导致死循环?( C )
A、for (int k = 0; k < 0; k++) 不执行 B、for (int k = 10; k > 0; k--)有限循环
C、for (int k = 0; k < 10; k--) 死循环 D、for (int k = 0; k > 0; k++)不执行
23、有如下程序段:
int a = b = 5;
String s1 = "祝你今天考出好成绩!";
String s2 = s1;
则表达式a == b与s2 == s1的结果分别是:( A )
A、true与true B、false与true
C、true与false D、false与false
24、System.out.println("5" + 2);的输出结果应该是( A )
A、52 B、7 C、2 D、5
注释:+符号是字符串连接符。
25、设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为( C )类型。
A.int B.long
C.double D.char
注释:double的范围大。