1.请分析下列代码,确定打印结果是什么?
int a = 1;
int b = 10;
do {
b -= a;
a++;
} while (b-- < 0);
System.out.print(b);
a.9
b.-2
c.-1
d.8
答案:D
难度等级:简单
解析:
这个do while循环就执行一次
2.请分析下列代码,如果要打印”Test 2”,则x的初始值可能为下列值中的哪些?
if(x>4){
System.out.println("Test 1");
}else if (x<9){
System.out.println("Test 2");
}else {
System.out.println("Test 3");
}
a) 3
b) 4
c) 5
d) 10
答案:AB
难度等级:简单
解析:
根据题意,只要x的值小于等于4就可以
3.下列字符串中,哪些可以用作Java的变量名?
a) 3d_game
b) $game
c) _game
d) this
答案:BC
难度等级:简单
解析:
选项A 不能以数字开头
选项B 正确
选项C 正确
选项D this为java的关键字
4.变量 “result”是 boolean类型,下列那些表达式是合法的?
a) result=1;
b) result=true;
c) if(result=true){// do something…}
d) if(result){// do something…}
答案:BD
难度等级:简单
解析:
if的条件需要boolean类型数据,否者报语法错误
选项C 应该是双等号
5.己知int a=0x122,则a/2为0.6332的数据类型是()
A float
B double
C Float
D Double
答案:AB
难度等级:中
解析:
数据以0x开头的是十六进制数 122的十六进制数换算成十进制数位256+32+2 结果为290
除以2的结果为整数,赋值给double和float皆可,属于自动转换
Float和Double属于封装类,无法直接赋值
Float b=new Float(1.2);Double b=new Double(1.2)这样做是可以得
6.以下程序片段
public class IFElse{
public static void main(String args[]){
if(odd(5))
System.out.println("odd");
else
System.out.println("even");
}
public static int odd(int x){return x%2;}
}
A 编译错误
B 屏幕输出odd
C 屏幕输出even
D 抛出异常
答案:A
难度等级:简单
考查静态的用法
if的条件需要boolean类型
静态的方法只能访问静态的变量或静态方法,非静态的方法即可以访问静态的方法或静态的变量,也可以访问非静态的方法或非静态的变量
静态的变量或方法属于类而不属于对象,所以在访问范围允许的情况下,静态的变量或方法都可以通过类名访问。虽然可以通过对象来访问静态的变量或静态的方法,但不推荐。
7.以下程序片段
int i=1;
int j=10;
do{
if(i++>--j)
continue;
}while(i<5);
执行完毕后的i.j分别为:
A 6,5
B 5,6
C 5,5
D 5,7
E 以上皆错
答案:B
难度等级:中
解析:
根据题意,变量i一直在加,变量j一直在减
变量i从一开始到5就会退出循环
i=1 ,j=10
i=2 ,j=9
i=3 ,j=8
i=4 ,j=7
i=5 ,j=6
8.下列变量定义错误的是()
A int a;
B double b=4.5;
C boolean b=true;
D float f=9.8;
答案:D
难度等级:简单
解析:
选项D float f=9.8f
9.表达式6+5%3+2的值是()
A 2
B 1
C 9
D 10
答案:D
难度等级:简单
解析:
算数运算符,先算乘除后算加减
10.对于一个三位的正整数n,取出它的十位数字k(k 为整数)的表达式是()
A k=n/10%10
B k=(n-n/100*100)%10
C k=n%10
d k=n/10
答案:A
难度等级:
取一个int n=1234,代入计算即可
11.下列语句执行后,k的值是()
int x=6,y=10,k=5;
switch(x%y){
case 0:k=x*y;
case 6:k=x/y;
case 12:k=x-y;
default:k=x*y-x;
}
A 60
B 5
C 0
D 54
答案:D
难度等级:简单
解析:
switch分支结构如果在case的语句体中添加break;语句,那么只要找到对应的case 的常量,就执行对应case常量后的语句,如果没有break语句就继续执行后面所有case 后的语句
如果最后有default也会执行
12.下列语句执行后,i的值是:()
int i=10;
do {
i/=2;
}while(i-->1);
A 1
B 5
C 2
D -1
答案:D
难度等级:简单
解析:
当i=10时,i=i/2 i=5 5>1为true --后 i为4
当i=4时,i=i/2 i=2 2>1为true --后 i为1
当i=1时,i=i/2 i=0 0>1为false --后 i为-1 退出循环
13.下列哪个是合法的java标识符:(两个答案)
A Tree&Glasses
B FirstJavaApplet
C _$theLastOne
D 273.5
答案:ABC
难度等级:简单
解析:
java 标识符可以是 字母、数字、$、_(下划线),但不可用数字开头
不可以是java 的关键字
选项D 标识符不能以数字开头
14.设a=8,则表达式a>>>2的值是:C(无符号右移动)左移是乘 右移是除()
A 1
B 2
C 3
D 4
答案:B
难度等级:中
解析:
Java中的位运算符:
>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
15.下面程序运行的结果是?()
public class X{
private static int a;
public static void main(String[] args){
modify(a);
System.out.println(a);
}
public static void modify(int a){
a++;
}
}
A 0
B 1
C 程序编译失败
D 程序抛出异常
答案:A
难度等级:简单
解析:
private static int a;没赋初值,默认为0
把0值传递给modify方法,方法的参数为 int a,相当于又在内存中开辟了一个新的空间
在modify方法中给a值加一操作,改动的是新空间的值,而原空间的值还是0
所以结果为0
16.方法methodA的返回类型是:()
public class returnIt{
returnType methodA(byte x,double y){
return (short)x/y*2;
}
}
A int
B byte
C long
D double
答案:D
难度等级:简单
解析:
表达式中有double,结果自然就是double类型
17.下面的程序输出的结果是:()
public class IfTest{
public static void main(String[] args){
int x=3;
int y=1;
if(x=y){
System.out.plintln("Not equal");
}else{
System.out.plintln("Equal");
}
}
}
A Equal
B Not Equal
C 编译错误
D 程序没有任何输出结果
答案:C
难度等级:简单
if (x = y)语法错误,无法编译通过,if需要一个boolean类型数据
18.在下面程序中,变量i可以使用的数据类型是:(两个答案)()
switch(i){
default:
System.out.plintln("Hello");
}
A char
B byte
C float 不行
D double 不行
E object
答案:AB
难度等级:简单
解析:
switch分支结构可以接收的数据是
jdk1.6 byte类型,char类型,int类型
jdk1.7及以上 byte类型,char类型,int类型,String类型
19.应用程序的main方法有以下语句,则输出的结果是:()
int[] x={122,33,55,678,-987};
int y=x[0];
for(int i=1;i<x.length;i++){
if(x[i]<y)
y=x[i];
}
System.out.plintln(y);
A 678
B 122
C -987
D 33
答案:C
难度等级:简单
解析:
此段程序求数组中的数组元素的最小值
20.下列说法正确的有()
A 环境变量可在编译source code 时指定
B 在编译程序时,所能指定的环境变量不包括class path
C javac一次可以同时编译数个Java源文件
D javac.exe能指定编译结果要置于哪个目录(directory)
答案:BCD
难度等级:简单
解析:
环境变量是在编译前就需要设定
设定环境变量分为2个步骤
一个是在path中配置javahome/bin 用于找到javac和java命令
一个是在classpath中配置javahome/lib 用于在通过java命令执行字节码文件时要使用的类库
21.下列标识符不合法的有(多项)()
A new
B $Usdollars
C 1234
D car.taxi
答案:C
难度等级:简单
解析:
java 标识符可以是 字母、数字、$、_(下划线),但不可用数字开头
不可以是java 的关键字
选项C 标识符不能以数字开头
22.下列说法错误的有(多项)()
A 数组是一种对象
B 数组属于一种原生态
C int number={31,23,33,43,35,63}
D 数组的大小可以任意改变
答案:BCD
难度等级:简单
解析:
选项A 数组在java中可以看作是对象
选项B java的原生类可以理解为java的8中基本数据类型对应的8个封装类,而数组的类型并不局限这8个基本数据类型的封装类
选项C 应为int[] number={12,45,56,32,94};
选项D 数组的长度,在定义数组时,长度可以任意指定,但数组一旦定义完毕,数组的大小,也就是数组的长度就不可以改变了
23.Java的基本类型(如boolean char)存储在哪里(),普通的类(Class)存储在哪里()。
A 寄存器
B 堆栈
C 栈
D 方法区
答案:C D
难度等级:简单
解析:
java的基本数据类型是存储在栈中的
java的类定义是存储在方法区中的
java的对象是存储在堆中的
24.
int i=1,j=10;
do{
if(i++>--j) continue;
}while(i<5);
根据以上代码回答问题:请问输出i和j的值是多少?()
A i=6 j=5
B i=5 j=5
C i=6 j=4
D i=5 j=6
答案:D
难度等级:中
解析:
根据题意,变量i一直在加,变量j一直在减
变量i从一开始到5就会退出循环
i=1 ,j=10
i=2 ,j=9
i=3 ,j=8
i=4 ,j=7
i=5 ,j=6
25.请问Java的保留字?()
A run
B public
C import
D implements
答案:BCD
难度等级:简单
解析:
public,java的访问修饰符
import,java的类导入的关键字
implements,java的接口实现关键字
generated by haroopad