java基础易错题

来源:互联网 发布:lol优化电脑提高fps 编辑:程序博客网 时间:2024/06/07 13:47

1.下列哪项不属于java注释(C) 

A. //单行

 B. /* */多行

 C. /** **/能用但不属于官方注释方式

 D. /** */文档注释

2. 下列语句片段的结果为( c )

 int a=10,b=4,c=20,d=6;

 System.out.println(a++*b+c*--d);   // a*ba+++c*--d

 A. 144

 B. 28

 C. 140

 D. 不能执行

2   int a=5;

System.out.println(a+++"b:"); //把(a++)看成整体输出后再++;

System.out.println(a);

输出   5  6

 

3. 执行15.2%5的结果(D  )

 A. 非法

 B. 3

 C. 0

 D. 0.2//0.199999999

4. 给定java程序,如下:编译运行Test.java,结果是(C  )

public class Test{

    private static final int counter=10;

    public static void main(String[] args) {

        System.out.println(++counter) ;

    }

}

 A. 10

 B. 11

 C. 编译错误     //静态常量不可变

 D. 运行时出现异常

5. switch语句中表达式的值必须是(C )//char string int三种

 A. 整数型或小数型

 B. 整数型或逻辑型

 C. 整数型或字符型

 D. 循环型或整数型

6. 以下程序的结果是(C )

boolean bool = true;

if(bool = false) { //bool变成false

    System.out.println(a);

} else if (bool) {

    System.out.println(b”);

} else if (!bool) {

    System.out.println(c);

} else {

    System.out.println(d);

}

 A. a

 B. b

 C. c

 D. d

7下列运算符中优先级别最高的是( C )

 A. &

 B. &&

 C. !=

 D. ?:

优先级

运算符

结合性

1

() [] .

从左到右

2

! +()  -() ~ ++ --

从右向左

3

* / %

从左向右

4

+() -()

从左向右

5

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

==   !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

= += -= *= /= %= &= |= ^=  ~=  <<= >>=   >>>=

从右向左

 

8 int x=1,float y=2,则表达式x / y的值是(D )

//float y=2y=2.0隐式转换所以结果0.5

 A. 0

 B. 1

 C. 2

 D. 以上都不是

9. 给出以下代码,程序的运行结果是什么(C )

 class Example{

     public static void main(String args[]){

         int x = 1;

         int y = ~x+1;

         System.out.println(x+” “+y);//~按位取反=-2

     }

 }

 A. 打印输出-1 1

 B. 打印输出1 1

 C. 打印输出1 -1

 D. 打印输出-1 -1

10. 下面代码执行之后ij的值是什么?(B )

 int i=1;

 int j;

 j = i++; //当有运算时先运算后++

 A. 1,1

 B. 1,2

 C. 2,1

 D. 2,2

 

11. 给出以下代码,请问该程序的运行结果是什么?()

class Check{

    public static void main(String args[]){//先运算再++

        int x,a=6,b=7;

        x=a+++b++;

        System.out.print(x=+x);

        System.out.print(,a=+a);

        System.out.print(,b=+b);

    }

}

A. 打印输出x=15a=7b=8

 B. 打印输出x=5a=6b=7

 C. 打印输出x=13a=7b=8

 D. 打印输出x=13a=6b=7

12.下面哪两个值相等?(CD )

 A. 3/2

 B. 3<2

 C. 3*4

 D. 3<<2 //3左移两位变成12(转换成二进制移位)

13. 定义变量如下:以下赋值语句正确的是(AD )

char  c='w';          

int   i=8;          

long  L=15;       

float   f=8.9f;

//基本类型自动小精度转大精度byte>short>int; char>int

 A. i=c+i;

 B. c=c+i;

 C. L=f+L;

 D. f=i+L+f;