Javase走一波,大佬勿喷

昨天小编面试了一个java开发实习生,下面附上笔试题和答案(这么简单的题小编裸面错成狗)

              面试小题

01

单选题

1.下面关于变量及其作用该范围的陈述哪个是不对的?(B)

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

解析:

一连到静态,就与实例无关

02

单选题

2.下面哪条语句把方法声明为抽象的公共方法(B)

A.public abstract  method();

B.public abstract void methos();

C.public abstract void method(){};

D.public void method () extends abstract;

解析:

抽象方法:[访问权限] abstract 返回类型 方法名([参数表] ); //无方法体

03

单选题

3.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)

A.可以被三种类所引用:该类自身,与它在同一个包中的其他类,在其他包中的改了的子类.

B.可以被两种类访问和引用:该类本身,该类的所有子类.

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

解析:

本题主要考查Java的四种访问类型,分别为public、protected、default和private,其中 public变量可以被所有的外部类访问,而protected变量可以被同一个包及该类的子类访问, default变量即没有任何修饰符的变量可以被同一个包中的类访问,而private变量只能在该类内部被访问。

04

单选题

4.下面哪个赋值语句是不对的(A);

A.float f = 11.1;

B.double d = 5.3E12;

C.double d = 3.14159;

D.doble d = 3.14D;

05

单选题

5.假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的(A)

A.Foo.imethod();

B.f.imethod();

C.System.out.println(f.i);

D.Foo.smethod();

解析:

类对象不能直接调用方法,除非方法声明为static

public class Foo{

    int i ;

    static String s;

    void imethod(){}

    static void smethod(){

    }



}

06

单选题

6.阅读以下代码,输出结果应该是:(C)

A.代码得到编译,并输出 "s="

B.代码得到编译,并输出"s=null"

C.由于String s 没有初始化,代码不能编译通过

D.代码得到编译,但捕获到NullPointException异常

解析:

局部变量定义时需要初始化

 public static void main(String[] args){

        String s;
        System.out.println("s=" + s);

    }

07

单选题

7.执行完以下代码 int[] x = new int[10];后,,以下哪项说明是正确的(A)

A.x[9] = 0

B.x[9]未定义

C.x[10] 为0

D.x[0]为空

解析:

基本类型数组:
byte[],short[],int[] ,默认值为0,  
boolean[]默认值为false
float[],double[],默认值为0.0
对象类型数组:
默认值为null

08

单选题

8.Which statement, when inserted at Line n1,enables the code to compile?(B)

A.this(10);

B.super(10);

C.SuperClass(10);

D.super.SuperClass(10);

class SuperClass{

    SuperClass(int x){

        System.out.println("Super");

    }

}

public class SubClass extends SuperClass{

    SubClass(){

        //Line n1

        System.out.println("Sub 2");

    }

}

09

单选题

9.冒泡排序和选择排序

public class Demo1_Array {

  /**
   * * A:案例演示
  * 数组高级冒泡排序代码
   */
  public static void main(String[] args) {
    int[] arr = {24, 69, 80, 57, 13};
    bubbleSort(arr);
    //selectSort(arr);
    print(arr);
  }
  
  /*
   * 冒泡排序
   * 1,返回值类型,void
   * 2,参数列表,int[] arr
   * 
   *   第一次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3],arr[3]与arr[4]比较4次
    第二次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3]比较3次
    第三次:arr[0]与arr[1],arr[1]与arr[2]比较2次
    第四次:arr[0]与arr[1]比较1次
   */
  
  public static void bubbleSort(int[] arr) {
    for (int i = 0; i < arr.length - 1; i++) {        //外循环只需要比较arr.length-1次就可以了
      for (int j = 0; j < arr.length - 1 - i; j++) {    //-1为了防止索引越界,-i为了提高效率
        if(arr[j] > arr[j+1]) {
          /*int temp = arr[j];
          arr[j] = arr[j + 1];
          arr[j+1] = temp;*/
          swap(arr,j,j+1);
        }
      }
    }
  }
  
  /*
   * 打印数组
   * 1,返回值类型void
   * 2,参数列表int[]arr
   */
  
  public static void print(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i] + " ");
    }
  }
  
  /*
   * 选择排序
   * 1,返回值类型void
   * 2,参数列表int[] arr
   * 
   *   第一次:arr[0]分别与arr[1-4]比较,比较4次
    第二次:arr[1]分别与arr[2-4]比较,比较3次
    第三次:arr[2]分别与arr[3-4]比较,比较2次
    第四次:arr[3]与arr[4]比较,比较1次
   */
  
  public static void selectSort(int[] arr) {
    for (int i = 0; i < arr.length - 1; i++) {        //只需要比较arr.length-1次
      for (int j = i + 1; j < arr.length; j++) {
        if(arr[i] > arr[j]) {
          /*int temp = arr[i];
          arr[i] = arr[j];
          arr[j] = temp;*/
          swap(arr,i,j);
        }
      }
    }
  }
  
  /*
   * 换位操作
   * 1,返回值类型,void
   * 2,参数列表int[] arr.int i,int j
   * 
   * 如果某个方法,只针对本类使用,不想让其他类使用就可以定义成私有的
   */
  
  private static void swap(int[] arr,int i,int j) {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
  }
}

看了就要关注我,喵呜~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值