java头歌选择题

这篇博客主要介绍了Java编程的基础知识,包括Java入门、流程控制、数组和面向对象等内容。涵盖了源代码扩展名、控制台输出、代码编译运行步骤、关键字、标识符合法性、注释类型、变量声明和赋值、类型转换、运算符优先级、流程控制结构如if、switch、循环以及数组和构造方法等概念,适合初学者巩固基础。

第一章 Java入门

  • 1、Java源代码文件的扩展名为( )

    A、.txt
    B、.class
    C、.java
    D、.doc
  • 2、在控制台显示消息的语句正确的是( )

    A、System.out.println(我是一个Java程序员了!);
    B、System.Out.println("我是一个Java程序员了!");
    C、System.out.println("我是一个Java程序员了!");
    D、System.Out.Println("我是一个Java程序员了!");
  • 3、下面选项中不是开发Java程序的步骤( )

    A、

    编译

    B、

    编写源代码

    C、

    运行

    D、

    发布

  • 4、在控制台编译并运行一个Java程序,使用的命令正确的是( )选两项

    A、

    java Test.java

    B、

    javac Test.java

    C、

    java Test

    D、

    java test

 5、下面( )不是Java关键字(多选)

A、Public //大写

B、string

C、int

D、num

标识符:自定义的名称,可以由字母、数字、下划线(_)、美元符($组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name就是不合法滴。+严格区分大小写+不能是 Java关键字和保留字

  • 6、以下()是合法的标识符(多选)

    A、double //关键字
    B、3x //数字开头
    C、
    D、de2$f 
  • 7、有如下Java代码

    有错误的行号是

    A、2
    B、3
    C、4
    D、
    E、6
  • 注释:
  • 8、选出在JAVA中有效的注释说明()(多选)

    A、//这是注释          单行注释

    B、*/这是注释*/

    C、/这是注释

    D、/* 这是注释 */      多行注释

    E、/**这是注释 */      文档注释

  • 9、下列语句中,()正确完成整形变量的声明和赋值(多选)

    A、int count,count=0;
    B、
    C、count=0;
    D、int count1=0,count2=1;
  • 10、在下列语句中()正确声明并初始化一个双精度型变量。

    A、double d; //未初始化
    B、d=10;
    C、
    D、float j=10;

Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float(单精度类型需要+f)、double【没有String类型】

自动类型转换(低级->高级):byte, short, char--> int--> long--> float--> double

强制类型转换(高级->低级):低级类型 低级变量名=(低级类型)高级变量名

e.g. double a = 1; int b = (int)  a;

  • 11、以下不是Java基本数据类型的是()(多选)

    A、int
    B、float
    C、class
    D、String
  • 12、以下关于类型转换成功的有()
    float d = 84.5f;

    A、char i=d;
    B、int k=d;
    C、
    D、double c = d;
  • 13、下面()可以作为boolean类型变量的值

    A、
    B、2
    C、"false"
    D、false

输入Scanner包:

import java.util.Scanner;

Scanner input = new Scanner(System.in);

int a = input.nextInt( );

  • 14、已知:(5>10)||(3<8)的结果是()。

    A、非0
    B、
    C、0
    D、false
  • 15、已知:10,6都是int类型,10/6的结果为()。

    A、
    B、1.6
    C、1.7
    D、2
  • 16、已知:a=3,b=4,c=5;下列表达式为false的是()。

    A、(a<b)||(b>c)
    B、(a<=b)&&(b<=c)
    C、
    D、(a==b)||(b!=c)
  • 17、已知:int a=5,b=7;表达式a<b?b:a的结果为()

    A、0
    B、5
    C、
    D、12

三元运算符:条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果

  • 18、运算符优先级别排序正确的是()

    A、
    B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、 ! 、逻辑 运算符;
    C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、 ! 、赋值 运算符;
    D、由高向低分别是:()、 ! 、关系运算符、赋值运算符、算术运算符、逻辑 运算符;

算术运算符:+ - * / % ++ --

关系运算符:== >= <= != > <

逻辑运算符:&& || ! ^(异或:a^b 有且只有一个为true才返回true)

  • 19、

    1. int a=10,b=4,c=20,d=6,
    2. int result1= a + b + c + d;
    3. int result2= a + c % b;
    4. int result3= a++ * b + c * - -d

    以上的运算结果分别为:

    A、
    B、10,40,140
    C、10,140,40
    D、140,40,10

// 将获取到的大写字母转化为小写字母

 char i = (char)(I+32); // a=97;A=65

//最后结果四舍五入后保留两位小数

System.out.print(String.format("%.2f",d));

或  System.out.printf("%.2f",d);

第二章 流程控制

  • 1、java中关于if选择结构描述错误的是()。

    A、if结构是根据条件判读之后再处理的一种语法结构
    B、关键字if后小括号里必须是一个条件表达式,表达式的值必须为布尔类型
    C、if后小括号里表达式的值为false时,程序需要执行大括号里的语句
    D、if语句可以和else一起使用
  • 2、编译运行如下java代码,输出结果是()。

  • A、10
    B、5 10
    C、
    D、运行错误
  • 3、下面这段代码的输出为( )

int year = 2046;
if(year %2==0){
    System.out.println("进入了if");
}else{
    System.out.println("进入了else");
}
    System.out.println("退出");

A、进入了if

B、进入了else

C、进入了else 

        退出

D、进入了if

        退出

4、下列说法中不正确的是( )(多选)

A、if语句中可以没有else

B、switch后可以没有default

C、switch后可以没有case

D、case后只能是整数

5、在Java语言中,下列Java语言代码的循环体执行的次数是()

int n = 2;  
while(n==0)  
{  
    System.out.println(n);  
    n--;  
}  

A、编译错误

B、0次

C、1次

D、2次

6、在JAVA语言中,有如下定义:执行后输出的结果是( )

int i = 0, s = 0;  
do  
{  
    if (i % 2 != 0 )  
    {  
        i = i + 2;  
    }  
    i++;  
    s = s + i;  
}while(i < 3);
System.out.println(s);

A、1

B、4

C、5

D、1

7、在 Java 语言中,下列代码的输出结果是( )

int i= 5, j = 10;  
while (j>i) {  
    j--;  
    i++;  
}  
System.out.println( i+”,”+ j);  

A、7,7
B、
C、7,8
D、8,8

8、下面程序段的输出结果为()

int i = 0;  
        int sum = 0;  
        while(i <= 10){  
            i++;  
            if(i%2 == 1){  
                sum += i;  //sum += i; 和sum = sum +i; 相同  
                continue;  
            }  
            if(i == 6){  
                break;  
            }  
        }  
        System.out.println(sum);

A、1

B、5

C、9

D、以上都不正确

9、给定Java代码片段,i的值是()

public class Shili{    
public static void  main(String[] args){  
         int i= 0 ;  
        for(i=5 ;i<3 ;i++){  
            System.out.print(i);  
        }  
        System.out.print(i);  
}  
}

A、0

B、5

C、3

D、10

10、下面程序段的输出结果为() 

int count = 0;  
int i =3;  
int j = 0;  
do{  
    j = 1;  
    while(j<3){  
   count ++;  
   j ++;  
}  
i--;  
}while(i>0);  
count += j;  
System.out.println(count);
  • A、6
    B、7
    C、8
    D、9 // j=3 + count=6 =9
  • 11、下面说法正确的是()(多选)

    A、程序执行到break语句时一定会结束所有循环。//只会结束break所在语句的循环
    B、程序执行到continue语句时会结束当前循环
    C、continue和break语句可以同时出现在同一个循环体中
    D、continue和break语句的作用相同

12、下面程序段的输出结果为()

int count = 0;  
for(int i=0;i<3;i++){  
   for(int j=0; j<3;j++){  
    if(j == 0){  
       continue;  
    }else{  
       count ++;  
       break;  }  
    }  
}  
System.out.println(count);

A、1

B、3

C、6

D、9

13、

请选择下列选项中对方法描述正确的所有选项:(多选)

A、方法重载时方法名不能相同

B、静态方法可以直接调用,不需要通过类实例

C、方法名与方法参数相同的两个方法可以同时在一个类中

D、方法重载必须在同一个类中

E、调用有参方法时传入的值可以为object

第三章 数组

1、声明数组如下:
float[][] f=new float[2][3];
那么该数组一共有( )个元素

A、2

B、4

C、6

D、8

  • 2、以下的程序是否有错()

    A、不能运行
    B、编译不通过 //赋值超出范围
    C、会正常运行
    D、以上说法都不对

3、以下数组声明有误的是()

A、int[] num;

B、String num[];

C、double[] num=new double[];

D、String num[]=new String[5];

4、定义数组如下
String[] s={“ab”,”cd”,”ef”};
运行语句System.out.println(s[3]);程序运行的结果为()

A、ab

B、cd

C、ef

D、程序出错了 //超出数组长度(长度从0开始,最后的编号=length-1)

5、数组初始化有错误的是()(多选)

A、int[] num={12,53.7,’6’};

B、String sewd[]=new String[]{12,52,63};

C、char car[]={‘‘1,’2’,6’’};

D、double[] dou=new int[10];

第四章 面向对象

1、下列关于构造方法的说法不正确的是()

A、Java语言规定构造方法名必须与类名相同

B、Java语言规定构造方法没有返回值,且不用void关键字声明

C、构造方法不可以重载

D、构造方法只能用new关键字来创建

2、类Test定义如下

public class Test{  
    public float method1(){  
        System.out.println("方法1");  
        return 1.5;  
//6
//7
    }  }

将下列哪些方法插入到第7行是合法的()

A、

public float method1(){
System.out.println("方法2");
return 1.1; //同名方法但参数相同
}

B、

public Test1(){
System.out.println("hello");
} //缺少返回值类型

C、

public float method1( int a){
System.out.println("方法2");
return a+0.5; //方法的重载
}

D、

public Test(){
System.out.println("hello");
} //构造方法(与类名相同)

3、

public class TestMain{  
    public static void main(String args[]){  
    MyClass mc1 = new MyClass();  
    MyClass mc2 = new MyClass();  
    mc1.a = 100;  
    mc1.b = 200;  
    mc2.a = 300;  
    mc2.b = 400;  
    System.out.println(mc1.a);  
    System.out.println(mc1.b);  
    System.out.println(mc2.a);  
    System.out.println(mc2.b);  
    }  
}  
class MyClass{  
    static int a;  
    int b;  
}  

请问输出结果是()

A、100
100
100
100

B、100
200
300
400

C、400
400
400
400

D、300
200
300
400

存在static变量时,当新创建的对象未赋值,其值并非在类中初始化的值,而是前一个使用对象为该成员对象赋的值

4、

class MyClass {  
    int a;  
    static int b;  
    void fa(){  
    }  
    static void fb(){  
    }  
    public void m1(){  
        System.out.println(a);    //位置1  
        System.out.println(b);    //位置2  
        fa();                     //位置3  
        fb();                     //位置4  
    }  
    public static void m2(){  
        System.out.println(a);    //位置5  
        System.out.println(b);    //位置6  
        fa();                    //位置7  
        fb();                    //位置8  
    }  
}  

上述代码会出错的位置有:()

A、位置1

B、位置2

C、位置3

D、位置4

E、位置5

F、位置6

G、位置7

静态方法只能使用静态变量和静态方法

5、

class MyClass {  
    static int i = 10;  
    static {  
        i = 20;  
        System.out.println("In Static");  
    }
    public MyClass() {  
        System.out.println("MyClass()");  
    }
    public MyClass(int i) {  
        System.out.println("MyClass(int)");  
        this.i = i;  
    }  
}
public class TestMain {  
    public static void main(String args[]) {  
        MyClass mc1 = new MyClass();  
        System.out.println(mc1.i);  
        MyClass mc2 = new MyClass(10);  
        System.out.println(mc2.i);  
    }  
}

上述代码的运行结果是:()

A、

MyClass()
20
MyClass(int)
10

B、

In Static
MyClass()
20
MyClass(int)
10

C、

In Static
MyClass(int)
20
MyClass()
10

D、

In Static
MyClass()
10
MyClass(int)
20

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值