Java基础面试题40题

1:在控制台运行一个Java程序,使用的命令正确的是  

A:java Test.java   B:javac Test.java
C:java Test        D:javac Test

正确答案:C

这题主要考的是使用cmd命令控制台时如何去编译并运行一个java代码

2:下列哪个声明是错误的

A:int i = 10;   B:float f = 1.1;
C:double d =34.4  D:byte b =127;

正确答案:B

这题主要考的是java最基础的定义变量

3:下列数组初始化正确的是:

A:int [] score = new int[]  B:int score[] ={1,2,3}
C:int [] score = new int[5]{1,2,3,4,5}   
D:int score = {1,2,3,4,5}

正确答案:B

这题主要考的是如何正确的定义一个数组

4:分析下面的代码,输出结果正确的是

int a = 1.0 /2 ;
A:0.5  B:0
C:1    D:编译出错

正确答案:D

这题主要考的是类型直接的转换问题,1.0 / 2 结果为double类型 ,而不是int类型

5:阅读下面的程序,输出的结果是:

public static void main(String[] args) {
        int i = 7;
        do {
            if(i % 2 ==0){
                System.out.print("*");
            }else{
                System.out.print("#");
            }
            i--;
        }while (i < 7 && i > 1);
    }


A:什么都不输出  B:#*#*#*
C:#*#*#        D:#*#*#*#

正确答案:B

这题主要考的就是do while循环

6:下面哪个不是java的关键字

A:public  B:true
C:main    D:Class

正确答案:C

这题主要考的就是java的关键字有哪些

7:下面程序执行后,a,b,c的值正确的是

int a = 1, b = 2;
int c = (a + b > 3 ? a++ : ++b);


A:a=2,b=3  B:a=1,b=3
C:a=1,b=2  D:c=2

正确答案:B

这题主要考的就是 ? :表达式与++i和i++的区别

i++ :先引用后增加
++i :先增加后引用
i++ :先在i所在的表达式中使用i的当前值,后让i加1
++i :让i先加1,然后在i所在的表达式中使用i的新值

8:给出下列代码,执行完后c与result的值分别是

 public static void main(String[] args) {
        boolean a =false;
        boolean b =true;
        boolean c = (a&&b)&&(b=false);
        int result = (b==false)?1:2;
        System.out.println(c);
        System.out.println(result);
    }

A:false 和 1   B:true 和 2
C:true  和 1   D:false和 2

正确答案:D

这题主要考的就是&&这个运算符,当&&前面的值为false时,后面的就不会再执行下去了,所有b的值没有改变

9:下面程序执行结果是:

public static void main(String[] args) {
        int x = 2;
        int y = 3;
        switch (x){
            default:
                y++;
            case 3:
                y++;
            case 4:
                y++;
        }
        System.out.println(y);
    }

A:3    B:4
C:5    D:6

正确答案:D

这题主要考的是switch的特性,当case后的执行语句不加break时,它便会执行下面的所有的语句

10:下面的程序执行结果,会输出几次:

 public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i < 5)
                continue;
            System.out.println("java基础");
        }
    }

A:5  B:6
C:7  D:8

正确答案:B

这题主要考的就是continue语句的执行

11:给出下列代码,则数组初始化中哪项不正确

        byte [] array1,array2[];
        byte [] [] array3;
        byte [] [] array4;

        A:array1  = array2;
        B:array2 = array3;
        C:array3 = array4;
        D:array2 = array4;

正确答案:A

这道题主要考的就是数组的初始化

12:下面程序的执行结果是:

 public static void main(String[] args) {
        int i = 100;
        while (true){
            if( i ++ > 100){
                break;
            }
            System.out.println(i);
        }
}

A:100    B:101
C:102    D:报错

正确答案:B

这道题考的主要是i++与while循环,要搞懂i++到底是怎么执行

13:下面代码的执行结果是:

 public static void main(String[] args) {
        boolean b = true;
        if(b=false){
            System.out.println("a");
        } else if (b){
            System.out.println("b");
        }else if(!b){
            System.out.println("c");
        }
        else {
            System.out.println("d");
        }
    }

A:a    B:b
C:c    D:d

正确答案:C

这道题主要就是if语句的执行,要对if语句执行的机制搞清楚

14:和下面代码能完成相同功能的选项是:

    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        while (i<100){
            if(i%2==0){
                sum = sum +i;
            }
            i++;
        }
       
    }

A: for(int x = 1; x <= 100; x++){
            sum = sum+x;
        }
B: for(int x = 0; x <= 100; x+=2){
            sum = sum+x;
        }
C:for(int x = 1; x <= 100; x++){
            sum = sum+x;
        }
D:以上全对

正确答案:B

15:下面哪个程序语句是正确的

A:byte a = 0, b = 3;
   byte c = a+b;
B:short s = 23;
   s = s+12;
C: short s = 23;
   s += 12;
D:float f = 23 + 23.23;

正确答案:C

这道题主要考的就是类型之间的运算,b与c选项看起来一样,但是执行的时候是不一样的,b中 s = s + 12,其中s是 short型,12是int型,它俩相加是得到short型是不可取的,这涉及到了精度的问题,short的精度要比int高,c中是short型加short型得到short型,是可行的。

16:下面程序的执行结果是:

public static void main(String[] args) {
        int x =1,y=1;
        if(++x==2 || y++==2){
            y += 1;
            if(x++ == 3&& y++==4)
                y=5;
        }
        System.out.println(x);
        System.out.println(y);
    }

A:x=3 y=2   B:x=3 y=4
C:x=4 y=4   D:x=3 y=5 

正确答案:A

17:给出下列代码片段,请问将打印字符串"How are you"的x的范围是:

if( x > 0){
    System.out.println("Hello.0");
}
else if (x >-3){
    System.out.println("I'm Tom");
}
else{
    System.out.println("How are you");
}


A:x > 0    B:x >-3
C:x <= -3  D:x <=0 & x>-3

正确答案:C

这题主要就是数学问题了

18:下面关于循环描述正确的是:

A:while至少会执行一次
B:for循环必须用于循环次数一定的xunh
C:do-while先进行循环条件判断,后执行循环操作
D:do-while循环至少执行一次,后进行循环判断

正确答案:D

19:下面说法正确的是:

A:print与println()输出语句的执行结果相同
B:print输出语句在语句执行后会执行换行
C:println()输出语句在语句执行后会执行换行
D:println()输出语句执行前执行换行

正确答案:C

20:Java源代码文件的扩展名为:

A.txt    B:.class
C:.java  D:.doc

正确答案:C

21:在控制台显示消息的语句正确的是:

A:System.out.println(“hello”);
B:System.Out.Println(“hello”);
C:system.out.println(“hello”);
D:System.out.println(“hello”);

正确答案:D

22:以下是合法标识符的是:

A:double    B:3x.1
C:~sum_     D:de2$f

正确答案:D

23:Java所定义的版本中不包括:

A:Java2 EE    B:Java2 SE
C:Java2 Me    D:Java2 HE

正确答案:D

24:下列说法正确的是:

A:Java程序的main方法必须写在类里面
B:Java程序中程序入口可以有多个main方法
C:Java程序中类名必须与文件名一致
D:Java程序的mian方法中如果只有一条语句,可以不用大括号括起来{}

正确答案:A

25:表达式(11+3*8)/4%3的值是:

A:31    B:0
C:1     D:2

正确答案:D

26:作为Java的应用程序入口的main方法,其声明格式为:

A, public static void main(String args[1)

B. public static int main( String args[l)

C. public void main(String args[l)

D. public int main(String( args[l)

正确答案:A

27:JDK安装后,主要的命令 Java,Javac等,都存放在根目录的()文件夹下

A:bin
B:jre
C:include
D:doc

正确答案:A

28:JAVA语言是一种()语言

A.机器
B.汇编
C.面向过程
D.面向对象

正确答案:D

29:Java程序的基本单位是

A.函数
B.过程
C.变量
D.类

正确答案:D


30:设有定义语句int[] a ={66,88,99},则以下对此语句的叙述描述错说的的是

A.定义了一个名为a的一维数组
B.a数组有三个元素
C.a数组的元素下标为1~3
D.数组中的每个元素都是整数

正确答案:D

31:假设有这样的数组创建int[] b={1,2,3,4,5,6,7};则该数组长度为

A.4
B.5
C.6
D.7

正确答案:D


32:下列二位数组中创建错误的是

A:int a[][]=new int[3][];
B:int[][]a=new int[3][4];
C:int a[][]={{1,2},{3,4}};
D:int [][] a = new int [][];

 

正确答案:D

 

33:请看下面的程序代码,程输出为second时,x的值是

if(x<O){
                System. out.println("first");
        }
else if(x<20){
            System.out. println("second");
        }
else {
            System.out.println("third");
     }

A:x <=0  B:x<20&&x>0
C:x > 0  D:x >=20

正确答案:B

34:下列语句执行后,j的值为

 public static void main(String[] args) {
        int j = 3,i=3;
        while (--i!=i/j){
            j =j+2;
        }
        System.out.println(j);
    }

A:4  B:5
C:6  D:7

正确答案:D

35:下列语句执行后X的值是:

 public static void main(String[] args) {
        int x = 2;
        do{
            x += x;
        }while (x<17);
        System.out.println(x);
    }

A:4    B:16
C:32   D:256

正确答案:C

36:下列语句执行后,i,j的值是

    public static void main(String[] args) {
        int i=1,j=8;
        do{
            if(i++>--j){
                continue;
            }
        }while (i<4);
        System.out.println(i);
        System.out.println(j);
    }

A:i=4,j=5
B:i=5,j=4
C:i=5,j=5
D:i=5,j=6

正确答案:A

37:若变量已经正确说明,则一下程序执行后abc的值各是多少

int  a = 50, b = 10, c = 30;
if(a>b){
    a=b;
    b=c;
    c=a;
    }

A:a=10,b=50,c=10
B:a=10,b=30,c=50
C:a=10,b=30,c=10
D:a=50,b=30,c=10

正确答案:C

38:以下程序输出的是:

public static void main(String[] args) {
        int x =0,y=0,a=0,b=0;
        int i = (--a==b++)?--a:++b;
        int j = a++;
        int k =b;
        System.out.println(i);
        System.out.println(j);
        System.out.println(k);
    }
A:i=2,j=1,k=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
d:i=2,j=-1,k=2

正确答案:D

39:以下程序输出的是:

 public static void main(String[] args) {
        int x = 1,y=0,a=0,b=0;
        switch (x){
            case 1:
                switch (y){
                    case 0:
                        a++;
                        break;
                    case 1:
                        b++;
                        break;
                }
            case 2:
                a++;
                break;
            case 3:
                a++;
                b++;
        }
        System.out.println(a);
        System.out.println(b);
    }

A:a=1,b=0
B:a=2,b=0
C:a=1,b=1
D:a=2,b=2

正确答案:B:


40:下列程序运行的结果是:

 

public static void main(String[] args) {
        char c ='d';
        for(int i = 1 ;i <= 4;i++){
            switch (i){
                case 1:
                    c='a';
                    System.out.print(c);
                    break;
                case 2:
                    c='b';
                    System.out.print(c);
                    break;
                case 3:
                    c='c';
                    System.out.print(c);
                    break;
                    default:
                        System.out.println("!");
            }
        }
    }

A:!
B:abc!
C:abc
D:abcd

正确答案:B

如有错误,希望大家可以提出来。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名一小卒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值