一.选择题     

1. 随着Java技术的不断发展,oracle公司根据市场进一步将Java细分,其中针对普通PC应用的是( D)    

A. JAVAEE  B. JDK  C. JAVAME  D. JAVASE

2.编译java源代码使用以下哪个命令? (A )

A.javac  B.java  C.javap  D.jdeps

3. 在Java中,负责对字节代码解释执行的是 (B)  

A. 应用服务器

B. 虚拟机

C. 垃圾回收器

D. 编译器

4. 运行java源代码使用以下哪个命令? (B)

A.javac  B.java  C.javap  D.jdeps

5. 编写源代码名称后缀是什么? (A )

A.java  B.class  C.txt  D.doc

6. java程序即字节码,文件后缀是什么? ( B)

A.java  B.class  C.txt  D.doc

7. 编写代码,需要格式良好,让他人看得舒心,通过什么手段? (ABC )

A.合理注释

B.适当缩进

C.成对编程

D.多用中文

E.少写E文

8. 在JAVA中,下列哪些说法是正确的( AC)  

A.java源文件的扩展名为.java

B.写好的java源程序可以直接运行

C.编写的源程序必须先编译后才能运行

D.程序员可以读懂扩展名为.class的文件

9. 下列标识符哪个是合法的( BD)

A.class  B.$abc  C.1234  D._name

10. 下列标识符哪个适用于类名(C )

A.helloWorld

B.helloworld

C.HelloWorld

D.HELLO_WORLD

11. 下列标识符哪个适用于方法名(A )

A.helloWorld

B.helloworld

C.HelloWorld

D.HELLO_WORLD

12. 3.14称之为字面值,其类型为( B)

A.int   B.double  C.char  D.boolean

13. 下面变量声明正确为?(A )

A. long test = 12L;

B. int other = (int) true;

C. double d = 678.999F;

D. byte b = 128;

14. 下面关于float数的定义正确的是:( D)   

A. float f=-5;

B. float f=0x0687;

C. float f=1.0;

D. float f=7.8f;

15. 请问以下代码的运行结果( C)

public class VariableDemo04{

public static void main(String[] args){

int box ;

System.out.println(box);

}

}

A. null

B. 0

C. 编译报错

D. 运行异常

16. 定义整型变量:int n=456;,表达式的值为5的是:(CD )

A. n%10

B. n/1

C. (n-n/100*100)/10

D. n/10%10

17. 在Java中,下列语句不能通过编译的有(ABCD )

A.  String s= “join”+ 3;

B.  int a= “join”+3;

C.  int a= ‘a’+5;

D.  float f=5+5.5;

18. int a = 5; int b = a++; a与b的值分别是(B )

A.  5 5   B.  5 6   C.  6 6   D.  6 5

19.在空白处添加(C )不会出错?

public static void main(String[] args){

int a=5;

___________

}

A.  int a=7;

B.  byte a=1;

C.  a=4;

D.  都不正确

20. 以下+在什么情况下为连接符( D)

A. System.out.println(3+5);

B. System.out.println(3+’5’);

C. System.out.println(’3’+’5’);

D. System.out.println(’3’+”5”);

21. 以下代码的结果是什么?( D)

int a = 5;

int b = 2;

System.out.println(a%b);

A. 2  B. 2.5  C. 3  D. 1

22. 以下代码的结果是什么?(B)

int a = 5;

int b = 2;

System.out.println(1.0*a/b);

A. 2  B.  2.5  C.  2.0  D. 没有正确

23. 以下代码的结果是什么?( B)

int a = 5;

System.out.println(1.0*a/0);

A.编译异常  B.Infinity  C.运行异常  D.1.0

24. 下列代码运行的结果是(C )

public static void main(String[] args) {

int x = 4, y = 5;

if(x++>4 & y>5) {

x=2;

}

System.out.println("x=" + x + ",y=" + y);

}

A. x=4,y=5  B. x=4,y=6  C. x=5,y=5 D. x=6,y=6

25. 下列程序段执行后,t5的结果是:(B)

int t1=5,t2=6,t3=7,t4,t5;

t4=t1<t2?t1:t2;

t5=t4<t3?t4:t3;

A. 7  B. 5  C. 6  D. 8

 26. 执行下列语句后,i 和n的值为(D)

int i=10;int n= i++%5;

A. 10,0  B. 11,0  C. 10,1  D. 11,1

 27. 尝试运行下面的代码会发生什么?( A)

public class Test {

public static void main(String[] args) {

boolean m = true;

if (m) {

System.out.println("true");

} else {

System.out.println("false");

}

}

A. 输出字符串”true”

B. 输出字符串”false”

C. 编译时错误

D. 运行时错误

28. 尝试运行下面的代码最终的输出结果?(B )

class Demo {

public static int fun(int c){

return  c+=2;

}

public static void main(String[] args){

int temp = fun(2)

System.out.println(temp);

}

}

A.  2   B.  4   C.  6  D.  8

29. 下面哪些方法是public void test(){...}的重载? (BD )

A. void test ( ){...}

B. public int test (int a, float b){...}

C. public void test (){...}

D. public float test (int m){…}

30. 在java中,关于数组描述正确的是( BCD)

A.数组中的索引下标从1开始

B.存储在数组当中的数据都属于同一数据类型

C.通过数组名.length()能获得数组的长度

D.数组的最大索引下标是数组的长度减1

31. 下面程序的输出结果是什么( D)

int[] arr = new int[10];

System.out.println(arr[0]);

A.编译不通过  B.运行时出错  C.输出null D.输出0

32. 下面程序的输出结果是什么(A )

int[] arr = new int[4]{1,2,3,4};

System.out.println(arr[0]);

A.编译不通过  B.运行时出错  C.输出null D.输出1

33. 下面程序的输出结果是什么(A )

int[] arr = new int[4];

arr = {1,2,3,4};

System.out.println(arr[0]);

A.编译不通过  B.运行时出错  C.输出null D.输出1

34. 返回类型可以为哪些( A)

public static __ test(){

return 'A';

}

A. char B. int C. float D. double

35. 方法能被成功调用的有( AB)

public static void test(int a){

System.out.println(a);

}

A、test('a') B、test(100) C、test(100L) D、test(3.14)

36. 以下代码输出是( D)

class Demo {

public static void main(String[] args) {

int i = 0;

int sum = 0;

while (i <= 10) {

i++;

sum += i;

}

System.out.println(sum);

}

}

A. 55    B. 45   C. 35   D. 没有正确答案

37. 以下代码段将创建几个对象? ( D)

String s1="bc";

String s2="bc";

A. 2  B. 3  C. 0  D. 1

38. 定义字符串:String s1="hello";对下面程序描述正确的是:(D )

if(s1=="hello"){

System.out.println("s1 = \"hello\"");

}else{

System.out.println("s1 !=hello");

}

A. 输出 s1 !=hello

B. 编译正确,运行错误

C. 产生编译错误

D. 输出 s1="hello"

39. 返回类型不可以为哪些?? (BD )

public __ demo(){}

A. int   B. null  C. void  D.static

40. 以下调用方法的方式正确的是? (C )

public static void test(int a){

System.out.println(a);

}

A. test();  B. test(“haha”); C. test(3); D. Sytem.out.println(test(5));

41.方法的签名是什么( D)

public static void add(int a,int b,int c){}

A. add()  B. add(int)  C. add(a,b) D. add(int,int,int)

42. 下面的数组定义哪些是正确的?(AD )

A.  int a[]= new int[3];

B.  int a[3]= new int[];

C.  int[] a= new int[3]{1,2,3};

D.  int[] a = new int[]{1,2,3,4};

43. 阅读代码片段 ( C)

public static int checkAge(int age){

if(age <18){

return -1;

}

return ;

}

A. 编译正确 B.运行正确 C. 编译错误 D.运行错误

44. 请问在一个方法中跳出循环可以方式有(C )

A. break  B. continue C. return D. goto

45. 阅读代码片段,请问结果是什么?( B)

public static void main(String[] args){

add(1,1);

}

public static int add(int a,int b){

System.out.println("add(double ,double )");

return a+b;

}

A. 2   B. add(double ,double )   C. null   D.没有正确选项

46.下面有关递归的说法错误的是(D)

A. 递归做为一种算法在程序设计语言中广泛应用

B. 递归就是自己调用自己

C. 递归编写程序能使程序变得简洁和清晰

D. 递归运算节省内存消耗

47. 阅读代码片段,ch结果为( E)

String str ="talk is cheap,show me thecode."

char ch = str.charAt(2);

A. a  B. k  C. t  D. c  E. l

48. 阅读代码片段 str的结果为(A )

String str ="talk is cheap,show me thecode."

String sub = str.substring(1,7);

A. alk is  B. alk i  C. talk  D. talk is

49. String str1 = " a b c ".trim(); str1.length()结果为( `````````````````````   C)

A. 3  B. 4  C. 5  D. 6

50. 类的实例方法表示的是什么?(C )    

A. 以下没有正确的 B. 类的属性  C. 类对象的行为D. 类的行为

51. 关于类的理解正确的是(A C)

A.类就是抽象   B. 类就是模板   C.类是复杂的应用类型  D.类用于存储数据

52.下面关于缺省构造方法的描述中正确的是(A )

A. 当类中没有定义任何构造方法时,Java编译器将为这个类创建缺省构造方法

B. 缺省构造方法可以初始化其他方法中定义的变量

C. Java编译器会为所有的类创建缺省构造方法。

D. 如果在一个类中定义的构造方法都声明了参数,Java编译器将为这个类创建一个缺省构造方法

53. 关于new的作用有(ABCD )

A. 开辟空间  B.初始化对象信息  C.声明引用类型  D.返回地址

54.对象是Java中很重要的概念,下列说法中能准确地描述对象的是( ABD   )。

A.对象可以理解为一种数据结构,具有属性和操作数据的方法

B.对象是抽象的,类可以通过对象来生成

C.对象只是方法的集合

D.对象是一组具有共同的结构和行为的类

55. 下列关于构造方法的叙述中,错误的是(  ABCD  )。

A.构造方法名与类名必须相同

B.构造方法没有返回值,但不用void声明

C.构造方法不可以重载

D.构造方法只能通过new自动调用

56. 给出如下类定义:

public class Test {

Test(int i) {}

}

如果要创建一个该类的对象,正确的语句是(  AB )。

A.Test t = newTest('5');

B.Test t = newTest(5);

C.Test t = newTest("5");

D.Test t = newTest(3.4);

57. 给出如下类定义:

public class Test {

Test(int i) {}

}

如果要创建一个该类的对象,正确的理解是(  BC  )。

A. javac自动加入无参构造

B. 可以通过new Test()创建对象

C. 可以通过 new Test(100) 创建对象

D. 编译错误

58.()下述概念中不属于面向对象的是(  D  )。

A.对象、消息                   B.属性、方法

C.类、封装                     D.过程调用

59. 以下代码的调试结果为(B)。

class Square {

int a;

void Square() {

a = 10;

}

public static void main(String[] args) {

Square s = new Square();

System.out.println(s.a);

}

}

A.输出10  B.编译错误 C.输出0  D.运行错误

60. 下面代码片段的p2.name结果是(A)。

Person p1 = new Person();

p1.name = "老高";

Person p2 = new Person();

p2.name = "老裴";

p1 = p2;

p1.name = "shsxt";

A. shsxt B. "老裴" C. "老高" D. null

61. 以下代码输出是( A)。

class Base {

Base() {

int i = 100;

System.out.println(i);

}

}

public class Pri extends Base {

static int i = 200;

public static void main(String argv[]) {

Pri p = new Pri();

System.out.println(i);

}

}

A. 100  200

B. 200  100

C. 200

D. 没有正确答案

62. 下列父类中的变量不能够被子类所访问的是 (A )

    class Parent {

private int i = 20;

protected int j = 30;

public int k = 40;

int h = 50;

}

class Child extends Parent {

void f() {

}

}

A.i   B.j   C.k   D.h

63.下面说法错误的是( AC

A)接口中的抽象方法只能被公众和抽象的修饰,因此可以不写

b)接口中的成员变量默认都是public static final修饰,因此可以不写

C)接口只能继承接口,抽象类只能继承抽象类

d)抽象类能够继承普通类和抽象类,也可以实现接口

64以下关于最终关键字说法错误的是( A)中

A)final不能修饰抽象类

B)final修饰的类不能被继承

C)final修饰的方法不能被重载

D)final修饰的变量不允许被再次赋值

65.下列说法正确的有( BC)中

A)类中的构造方法不可省略

b)类中构造方法必须与类同名,但方法不能与类同名

C)构造方法在一个对象被创建时执行

d)一个类只能定义一个构造方法

66.下列说法正确的是( C)中

A) 一个子类能够重写父类的构造方法

B)子类对象生成时,先执行子类的构造方法,再执行父类的无参构造方法

C)当父类没有无参构造方法时,子类构造器的第一句必须使用超(参数列表)方法显式调用父类的构造器

d)子类无法在构造方法中使用此(参数列表)显示调用自身的其他重载构造方法

67.多态的表现形式为:(ABC )中

a)重写

b)接口

c)权限

d)垃圾回收

68.阅读下列代码,其运行结果为( C)

public class MC extends father{

private String text="text2";

public static void main(String[] args) {

MC mc=new MC();

System.out.println(mc.getText());

}

}

class father{

private String text="text1";

public String getText() {

return text;

}

}

a)     编译出错

b)     运行异常

c)     text1

d)     text2

69.下列修饰符能用来修饰接口的是(B)中

A. private

B. public

C. protected

D. static

70.如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该用(D )关键字申明这些方法

A. final

B. static

C. abstract

D. interface

71.java中,已定义两个接口BC,要定义一个实现这两个接口的类,以下语句正确的是(C)

A. interface A extends B,C

B. interface A implements B,C

C. class A implements B,C

D. class A implements B,implements C

72.修饰符private的作用域(A)

A. 同类下

B. 同一package下的类

C. 子孙类

D. 其他package下的类

二.判断题

1. Java程序中的被public类名称必须与存放该类的文件名相同?( √)

2. 基本数据类型数据均可任意转换( ×)

3. Switch能否用string做参数?(√ )

4.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象( ×)

5.java程序里创建新的类对象用关键字new.回收无用的类对像使用关键字free。( ×)

6.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除个字符子串。( ×)

7.类及其属性、方法可以同时有一个以上的修饰符来修饰。( √)

8.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(× )

9.一个java类名为MyJava.java,构造器为 public Myjava(){System.out.println()}. ( √)

10.java中即有值也有引用传递,对吗? (√ )

11.抽象类中不能有构造函数?(× )

12. 一个类可以继承多个类也可以实现多个接口 (× )

13. 子类继承父类可以不重写父类中的抽象方法 (√ )

14. 一个类中只能定一个构造方法。 ( ×)

15. 接口可以继承接口,抽象类可以实现接口  (√ )

16.是否可以从一个静态(static)方法内部发出对静态方法的调用  (√ )

17. 父类的静态方法能否被子类重写 ( ×)

三.编程题

1.请尝试编写多种方案,实现a与b的互换。

int a = 5; int b = 2;

/*请尝试编写多种方案,实现a与b的互换。int a = 5; int b = 2;*/public class Zy01{public static void main(String[] args) {//第一种int a =5;int b=2;int k=0;k = a;a = b;b =k;System.out.println("a="+a+"b="+b);//第二种a =5;b=2;k = 0;k = a>b?b:a;b =a>b?a:b;a = k;System.out.println("a="+a+"b="+b);k = 0;//第三种a =5;b=2;k = a + b;b= k - b;a= k - a;System.out.println("a="+a+"b="+b);}}

2.随机生成[0,100]的年龄,判断是否小于18,为 "小屁孩"

public class Zy02 {// 随机生成[0,100]的年龄,判断是否小于18,为 "小屁孩"public static void main(String[] args) {int add =(int)( Math.random()*100+1);if(add<18){System.out.println("小屁孩");}System.out.println(add);}
}

3.编写功能打印九九乘法表,封装成方法,并在控制台输出

public class Zy03 {//编写功能打印九九乘法表,封装成方法,并在控制台输出public static void main(String[] args) {cfb();}public static void cfb(){for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){System.out.print(i+"*"+j+"="+i*j);System.out.print("\t");}System.out.println("    ");}}
}

4.定义一个计算器类,包括加、减、乘、除运算。要求:进行测试。

public class Zy04 {//定义一个计算器类,包括加、减、乘、除运算。要求:进行测试。public static void main(String[] args) {//加Jia.jsj(45,3);//减Jian.jsj(345,54);//乘Chen.jsj(53,3);//除Cu.jsj(645,23);}
}
class Jsj{private int a;private int b;public Jsj() {}public Jsj(int a, int b) {this.a = a;this.b = b;}public int getA() {return a;}public void setA(int a) {this.a = a;}public int getB() {return b;}public void setB(int b) {this.b = b;}
}
class Jia extends Jsj{public static void jsj(int a,int b){int c=a+b;System.out.println(c);}
}
class Jian extends Jsj{public static void jsj(int a,int b){int c=a-b;System.out.println(c);}
}
class Chen extends Jsj{public static void jsj(int a,int b){int c=a*b;System.out.println(c);}
}
class Cu extends Jsj{public static void jsj(int a,int b){int c=a/b;System.out.println(c);}
}

JAVA基础-面型对象测试题相关推荐

  1. Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)

    Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...

  2. java基础之类、对象、实例、属性、方法等概念理解

    在之前的文章里,讲过一些java基础概念,并写了一个简单的java入门代码,通过这些代码,对类和方法的定义做了部分说明. java基础介绍及第一个java程序 如果是了解java的同学,可能就没什么问 ...

  3. Java 基础——类和对象

    Java作为一种面向对象语言.支持以下基本概念: •多态 •继承 •封装 •抽象 •类 •对象 •实例 •方法 •消息解析 本节我们重点研究类与对象的概念. 对象:对象是类的一个实例,有状态和行为.例 ...

  4. Java基础之序列化对象Serialized

    文章目录 序列化对象Serialized 目的: 序列化类型 应用场景 代码案例 直接应用 自定义对象序列化 序列化对象Serialized 目的: 序列化机制允许将实现序列化的Java对象转换成字节 ...

  5. JAVA基础之类和对象

    引用 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用. 引用和指向 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建了一个对象,没有办法访问它 为了访 ...

  6. java基础学习总结——对象转型

    一.对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型.转型的意思是:如把float类型转成int类型,把double类 ...

  7. java基础学习之对象转型

    对象转型(casting): 1)一个基类的引用类型变量可以指向其子类的对象 2)一个基类的引用不可以访问其子类对象新增加的成员(属性和方法) 3)可以使用引用变量instanceof类名,来判断该引 ...

  8. java基础 第一章 对象入门

    第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与 ...

  9. Java基础--类与对象

    2019独角兽企业重金招聘Python工程师标准>>> 一.类与对象 类是对一类事物描述,是抽象的.概念上的定义.   对象是实际存在的该类事物的每个个体,因而也称实例(instan ...

  10. Java基础:常见对象

    第一讲   API 一.API概述 1.API(Application Programming Interface) :应用程序编程接口 2.编写一个机器人程序去控制机器人踢足球,程序就需要向机器人发 ...

最新文章

  1. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
  2. Tableau实战系列浏览 Tableau 环境(二) -工作区域
  3. 例子:倒计时按钮可用
  4. Java和操作系统交互细节
  5. ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记
  6. 海思芯片怎么使用tde给qt加速_3519移植Qt适配附件
  7. 123 Best time to buy and sell stock iii
  8. 最全ACM常用STL
  9. Java使用继承的语法是,Java基础语法八 继承
  10. 25行代码实现定时自动发送微信消息!
  11. 有关《家》的经典歌曲_浅谈艺术歌曲《家》的演唱
  12. java学习之面向对象和封装
  13. 中国首枚NFC邮票发行背后,NFC技术的“有限性”创新
  14. 详解什么是软件企业认定
  15. register hotkey
  16. PS长图快速切片_如何解决PS选择主体崩溃问题
  17. 十三、添加RD 会话主机角色
  18. 我的世界java版骷髅_我的世界:击杀凋灵骷髅,才会掉落“凋灵头”?听起来有些不靠谱...
  19. 闲聊色彩学(Chromatology)
  20. 扩视机器视觉 | 机器视觉培训C#halcon

热门文章

  1. 如何选择频谱监测的天线?
  2. 【考试总结贴】工程测量学
  3. 服务器系统自带的系统清理工具,一键清除系统垃圾
  4. 谎言,统计数据和供应商
  5. MRP里如何预测lead time :Approaches for the Prediction of Lead Times in an Engineer to Order Environment
  6. ipv6文件服务器,在IPV6网络如何创建FTP服务器
  7. 数据结构之二叉树深度计算
  8. 光大银行引入USB Server实现虚拟机调用Ukey
  9. 这些孩子对计算机游戏上瘾英语,沉迷网络游戏高中英语作文
  10. beetle-j2ee-application-framework框架介绍.md