西安慧点科技Java基础笔试_java工程师基础笔试题(一)-参考答案

一.选择和填空  (不定项哦!)

1,如下是一份文件名为Test2.java的源文件,请问,编译该文件之后会生成几份字节码文件

class Test{

class Inner{}

static class hh{}

}

class Test1{

interface IInterface{}

}

enum Gender{

}

A 1   B 3   C 5  D 6

解析: D,一个java文件中的每个类\接口\枚举都会编译成class文件,如果class前加了public修饰,那么必须与文件名相同

d2ea418fbef0c715bcd0c91f3be5548e.png

2,下列代码C.java

public class Hello{

/**

*  只是一个测试类

*  /**

*     您好,java

*  **/

*  // 请仔细找茬喔,亲!

**/

static public void main(String[] a){

System.out.println('您好,java');

}

}

请标出上面代码错误的地方________________

解析:

/**

错误1.  如果有public修饰类名应与文件名一致

错误2.  应该  public static void

错误3.  参数 应该为  args

错误4.   打印输出的字符串 应该用双引号

*/

3,下列哪些是java的关键字

A、default    //java中的权限修饰符

B、loop       //

C、do   // do  while结构

D、Class  // 只是一个类名称

E、null    //空值

F、java   //

G、String   //只是一个类名称

H、false   // 布尔值

解析:   A、C、E、H

4,下列哪些代码符合java规范(编译不会报错):

A、public static void main(){}

B、public void method(){

private Integer num;    //局部变量不能添加权限修饰符

}

C、public Method(){

int num;     // 未初始化不能使用

System.out.println(num);

}

D、private $5person=5;   //没有指定变量类型

E、public int  5i = 100;    //变量名称不能以数字开头

解析:  A

5,下列哪些变量的声明是正确的?

A、byte i=128;  //-128~127

B、int i = 0220;   //  相当于 144

C、boolean flag = Boolean.TRUE; //正确

D、int number = 'A'; //  ascii 码  65

E、float y = 0x123; //  java中默认的是10进制数据,在数字前加0可以表示8进制的,加0x则可以表示16进制的

F、long a = 0x123l; //  java中默认的是10进制数据,在数字前加0可以表示8进制的,加0x则可以表示16进制的

解析:C

6,下列代码运行结果是:

public static void main(String[] args){

boolean flag=false;

int i=0;

if(flag||i>100){

System.out.println("step1");

}else if(!!flag && i/0>8){

System.out.println("step2");

}else{

System.out.println("step3");

}

}

A、运行时报错

B、打印step1

C、打印step2

D、打印step3

E、编译时报错

解析:  D

7,下面代码的运行结果是:

public static void main(String[] args){

int i=1;

int j=++i;

if(j++>3){

++j;

}else{

i++;

}

int k=++j>4?j++:i++;

System.out.println(i);

}

A、2

B、3

C、4

D、运行时报错

解析:  C

8、下面的程序执行结果是:

public static void main(String[] args) {

int i = 0;

for (i++; i++ < 10; i++);

System.out.println(++i);

}

A、输出0

B、输出13

C、输出1

D、输出12

解析: B

9,下面的程序输出

public static void main(String[] args){

for(int i=0;i<3;i++){

switch(i){

case 1:

System.out.println("a");

break;

case 0:

System.out.println("b");

break;

default:

System.out.println("c");

case 2:

System.out.println("d");

}

}

}

请写出执行的结果______________

解析:b a  d

10,下面哪些方法是void show(int a,char b,boolean c){}方法的重载?

A、void show(char b, int a, boolean c){}  //是

B、int show(boolean a,char c ,int b){}   //是

C、void show(int a,char b,double c){}  //是

D、void show(int x,char y,boolean z){}  //不是 参数类型 一样

E、int show(int x,double y){}  // 是

F、int show(int x, char y,boolean z){}  //不 是

解析: A  B  C  E  重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

11,下面哪个声明数组的方式是正确的?

A、int i[]=null;

B、int[] j=new Integer[]();   //编译报错

C、int[] k=new int[]{1,2,3};

D、int[] L={1,2,3};

E、int[] m={};

F、String[] s=new String[]{"1",'2',"3"};   //不能放 '2' 类型的数据

G、String[] s=new String[3];

H、class A{}

public class B{

private A[] ={new A(),new A(),new A()};   // 却少变量名称  private A[]  arr ={new A(),new A(),new A()};

}

I、class A{}

public class B{

private A[] =new A[]{new A(),new A(),new A()};   //缺少变量名称

}

12,下面哪一项说法是正确的?

A.在一个子类中一个方法不是public的就不能被重载     //错误

B.覆盖一个方法只需要满足相同的方法名和参数类型就可以了 //对

C.覆盖一个方法必须需要相同的方法名参数和返回类型   //错

D.一个覆盖的方法必须有相同的方法名、参数名和参数类型  //错

13,下面代码的输出结果是多少?___________

class A {

public static void prt() {

System.out.println("1");

}

public A() {

System.out.println("A");

}

}

public class B extends A {

public static void prt() {

System.out.println("2");

}

public B() {

System.out.println("B");

}

public static void main(String[] args) {

A a = new B();

a = new A();

}

}

解析: A   B   A

14,下面代码的输出结果是多少?__________

class Parent {

protected String value = "123";

public String getValue() {

return value;

}

}

public class Child extends Parent {

protected String value = "456";

public static void main(String[] args){

Child c=new Child();

System.out.println(c.getValue());

}

}

解析:123

15,表达式(0 > 0 || 0/0 == 0)结果为_____________;

解析: Exception in thread "main" java.lang.ArithmeticException: / by zero

二,主观题

1,请简要写出搭建java开发环境的步骤和java跨平台原理。

2,int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么JDK中要设计两个数据类型来表示同一种数据?

3,谈谈你对面向对象特征的理解并举例说明。

4,谈谈你对抽象类和接口的理解。

5,请说说方法覆写和方法重载的区别

6,面向对象的基本特征,并简单述之

7,多态的作用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值