【Java】习题练习及总结(持续更新)

1

如下代码的 结果是什么 ?

class Base {

Base() {

System.out.print("Base");

}

}

public class Alpha extends Base {

public static void main( String[] args ) {

new Alpha(); //调用父类无参的构造方法

new Base();

}

}

 

  1. Base
  2. BaseBase
  3. 编译失败
  4. 代码运行但没有输出
  5. 运行时抛出异常

2

下面的方法,当输入为2的时候返回值是多少?
public static int getValue(int i) {
    int result = 0;
    switch (i) {
        case 1:
            result = result + i;
        case 2:
            result = result + i * 2;
        case 3:
            result = result + i * 3;
    }
    return result;
}
  1. 0
  2. 2
  3. 4
  4. 10

3

下列说法正确的有
  1. class中的constructor不可省略
  2. constructor必须与class同名,但方法不能与class同名//可以同名,public void 类名() {}
  3. constructor在一个对象被new时执行
  4. 一个class只能定义一个constructor//重载

4

下面的程序执行结果是:  
public static void main(String[] args) {  
        int i = 0;  
        for (i++; i++ < 10; i++);  
        System.out.println(++i);  
}  
  1. 输出0
  2. 输出13
  3. 输出1
  4. 输出12

5

下列哪些代码符合java规范:
  1. public static void main(){}//可以这样写,这样写就不是main方法
  2. public method(){ private Integer num; }//局部变量必须赋初值
  3. public method(){ int num; System.out.println(num); }//局部变量必须赋初值
  4. private $5person=5;//没有写数据类型,

6

请看下面的程序段
public  class  Test{
    long  a[]=new  long[10];
    pubic  static  void  main(String  args[]){
          System.out.println(a[6]);
    }
}
哪一个选项是正确的(      )。
  1. 不输出任何内容
  2. 输出0
  3. 当编译时有错误出现//类加载的时候,先加载静态成员和静态代码块,非静态的成员不能放进静态代码块中,类加载:1.静态成员和静态初始化块 2.实例成员和实例初始化块3.构造方法
  4. 当运行时有错误出现

7

下列方法的声明中不合法的是 
  1. float area( ){…}
  2. void area( ){…}
  3. area{…}//方法需要加()
  4. int area(int r){…}

8

有一个类A,对于其构造函数的声明正确的是(   )。
  1. void A(int x){…}
  2. public A(int x){…}//构造函数没有返回值
  3. A A(int x){…}
  4. int A(int x){…}

9

表达式(short)10/10.2*2运算后结果是什么类型?
  1. short
  2. int
  3. double//默认double(强制类型转换有就近原则)
  4. float

10

子类构造方法的哪个地方可以调用其父类的构造方法
  1. 任何地方
  2. 构造方法的第一条语句
  3. 构造方法的最后一条语句
  4. 无法在子类构造方法中调用父类的构造方法

11

当n=5时,下列函数的返回值是:
int foo(int n)  
{  
    if(n<2) return n;  
    return foo(n-1)+foo(n-2);  
}
  1. 5
  2. 7
  3. 8
  4. 10

12

下面是findSum(int m,int n)方法的定义,方法调用findSum(1,5)的返回结果是( )
int findSum(int m, int n) {
    int sum = 0;
    for(int i = m; i <= n; i++){
        sum += i;
    }
    return sum;
}
  1. 1
  2. 5
  3. 10
  4. 15

 

1

以下类型为Final类型的为
  1. HashMap
  2. StringBuffer//public final class
  3. String//final修饰变量就变为常量,final修饰方法这个方法就不能重写,final修饰类这个类就不能被继承。
  4. Hashtable

2

关于下面的一段代码,以下哪些说法是正确的:

public static void main(String[] args) {
    String a = new String("myString");//这里先new了一个"myString"字符串放到了常量池里,又new了一个新的对象"myString"。
    String b = "myString";//b使用常量池里的
    String c = "my" + "String";//c也一样
    String d = c;//d也一样.所以b == c == d
    System.out.print(a == b);
    System.out.print(a == c);
    System.out.print(b == c);
    System.out.print(b == d);
}
  1. System.out.print(a == b)打印出来的是false
  2. System.out.print(a == c)打印出来的是true
  3. System.out.print(b == c)打印出来的是false
  4. System.out.print(b == d)打印出来的是true

3

关于Java中的数组,下面的一些描述,哪些描述是准确的:(    )
  1. 数组是一个对象,不同类型的数组具有不同的类
  2. 数组长度是可以动态调整的//数组长度不可以动态调整,但是ArrayList类型的数组可以
  3. 数组是一个连续的存储结构
  4. 一个固定长度的数组可类似这样定义: int array[100]//Java中不可以
  5. 两个数组用equals方法比较时,会逐个便利其中的元素,对每个元素进行比较//比较对象是非相等,比较的是地址值
  6. 可以二维数组,且可以有多维数组,都是在Java中合法的

4

What is Static Method in Java()
  1. It is a method which belongs to the class and not to the object(instance)
  2. A static method can access only static data. It can not access non-static data (instance variables)
  3. A static method can call only other static methods and can not call a non-static method from it.//静态方法属于类,不属于对象(实例化)//静态方法只能访问静态数据,不能访问非静态数据(实例化的变量)//静态方法只能访问静态方法,不能访问非静态的方法。
  4. A static method can not be accessed directly by the class name and doesn’t need any object//静态方法不能通过类名直接访问,也不需要任何对象//静态方法可以通过类名直接访问

 

5

下列属于关系型数据库的是
  •  1.Oracle2. MySql3. IMS4. MongoDB
  • //Oracle,SqlServer,Informix,MySql,SyBase等都是关系数据库

6

下列说法正确的是
  1. JAVA程序的main方法必须写在类里面
  2. JAVA程序中可以有多个名字为main方法
  3. JAVA程序中类名必须与文件名一样//应该是要和public类名一致
  4. JAVA程序的main方法中,如果只有一条语句,可以不用{}(大括号)括起来

7

下列哪些是java的关键字(多选) 
  1. default
  2. loop//循环结构
  3. do
  4. Class//c小写
  5. null
  6. java//不是关键字Java50个关键字总结_Lazyjam的博客-CSDN博客_java关键字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值