java选择题——代码运行题

2021-04-14 00:00:00 代码 运行 选择题

1. 以下代码运行输出是()

public class Person{
    private String name = "Person"';
    int age = 0;
}

public class Child extends Person{
    public String grade;
    public static void main(String[] args){
        Person p = new Child();
        System.out.println(p.name);   //Person的name属性为private
    }
}

   A. 输出:Person

   B. 没有输出

   C. 编译出错

   D. 运行出错

分析:

《java选择题——代码运行题》

2. 以下程序的运行结果是()

class Person{
    public Person(){
        System.out.println("this is a Person");
    }
}

public class Teacher extends Person{
    private String name="Tom"
    public Teacher(){
        System.out.println("this is a teacher");
        //编译错误:Constructor call must be the first statement in a constructor
        //构造函数调用必须是构造函数中的第一个语句
        super();
    }
    public static void main(String[] args){
        Teacher teacher = new Teacher();
        //编译错误:Cannot use this in a static context
        //不能在静态上下文中使用this
        System.out.println(this.name);
    }
}

   A. this is a Person

       this is a teacher

       Tom

   B. this is a teacher

      this is a Person

      Tom

   C. 运行出错

   D. 编译有两处错误

3. 以下代码,描述正确的有()

interface IDemo{
    public static final String name;             //1
    void print();                                //2
    public void getInfo();                       //3
}

abstract class Person implements IDemo{          //4
    public void print(){}
}

   A. 第1行错误,没有给变量赋值

   B. 第2行错误,方法没有修饰符

   C. 第4行错误,没有实现接口的全部方法

   D. 第3行错误,没有方法的实现

4. 以下程序的运行结果是()

public class Increment {
    public static void main(String args[]){
        int a;
        a = 6;
        System.out.print(a);
        System.out.print(a++);
        //相当于
        //System.out.println(a);
        //a = a + 1;
        //自增在打印之后执行
        System.out.print(a);
    }
}

   A. 6 6 6

   B. 6 6 7

   C. 6 7 7

   D. 6 7 6

自增(++)/  自减(–)

a++/a– 与 ++a/–a的区别:

放在变量后是先用原来的值进行其他操作,然后再对自己做修改。

放在变量前是先对自己做修改,再用修改后的值进行其他操作。

System.out.print(a++);
  相当于
   System.out.println(a);
    a = a + 1;
    自增在打印之后执行(规定???)

 5. 下列输出结果是()

int a = 0;
while(a < 5){
    switch(a){
        case 0:
        case 3: a = a + 2;
        case 1: 
        case 2: a = a + 3;
        default : a = a + 5;
    }
}
System.out.println(a);

   A。0

   B。5

   C。10

   D。其他

case语句不是必须包含break语句。

如果没有break语句,程序会继续执行下一条case语句,直到出现break语句。

switch case执行时,先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。

转载于:https://my.oschina.net/u/4074987/blog/3063141

    原文作者:chiyan2167
    原文地址: https://blog.csdn.net/chiyan2167/article/details/100649908
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章