JAVA基础-面型对象测试题
一.选择题
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中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是(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基础-面型对象测试题相关推荐
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...
- java基础之类、对象、实例、属性、方法等概念理解
在之前的文章里,讲过一些java基础概念,并写了一个简单的java入门代码,通过这些代码,对类和方法的定义做了部分说明. java基础介绍及第一个java程序 如果是了解java的同学,可能就没什么问 ...
- Java 基础——类和对象
Java作为一种面向对象语言.支持以下基本概念: •多态 •继承 •封装 •抽象 •类 •对象 •实例 •方法 •消息解析 本节我们重点研究类与对象的概念. 对象:对象是类的一个实例,有状态和行为.例 ...
- Java基础之序列化对象Serialized
文章目录 序列化对象Serialized 目的: 序列化类型 应用场景 代码案例 直接应用 自定义对象序列化 序列化对象Serialized 目的: 序列化机制允许将实现序列化的Java对象转换成字节 ...
- JAVA基础之类和对象
引用 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用. 引用和指向 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建了一个对象,没有办法访问它 为了访 ...
- java基础学习总结——对象转型
一.对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型.转型的意思是:如把float类型转成int类型,把double类 ...
- java基础学习之对象转型
对象转型(casting): 1)一个基类的引用类型变量可以指向其子类的对象 2)一个基类的引用不可以访问其子类对象新增加的成员(属性和方法) 3)可以使用引用变量instanceof类名,来判断该引 ...
- java基础 第一章 对象入门
第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与 ...
- Java基础--类与对象
2019独角兽企业重金招聘Python工程师标准>>> 一.类与对象 类是对一类事物描述,是抽象的.概念上的定义. 对象是实际存在的该类事物的每个个体,因而也称实例(instan ...
- Java基础:常见对象
第一讲 API 一.API概述 1.API(Application Programming Interface) :应用程序编程接口 2.编写一个机器人程序去控制机器人踢足球,程序就需要向机器人发 ...
最新文章
- 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
- Tableau实战系列浏览 Tableau 环境(二) -工作区域
- 例子:倒计时按钮可用
- Java和操作系统交互细节
- ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记
- 海思芯片怎么使用tde给qt加速_3519移植Qt适配附件
- 123 Best time to buy and sell stock iii
- 最全ACM常用STL
- Java使用继承的语法是,Java基础语法八 继承
- 25行代码实现定时自动发送微信消息!
- 有关《家》的经典歌曲_浅谈艺术歌曲《家》的演唱
- java学习之面向对象和封装
- 中国首枚NFC邮票发行背后,NFC技术的“有限性”创新
- 详解什么是软件企业认定
- register hotkey
- PS长图快速切片_如何解决PS选择主体崩溃问题
- 十三、添加RD 会话主机角色
- 我的世界java版骷髅_我的世界:击杀凋灵骷髅,才会掉落“凋灵头”?听起来有些不靠谱...
- 闲聊色彩学(Chromatology)
- 扩视机器视觉 | 机器视觉培训C#halcon
热门文章
- 如何选择频谱监测的天线?
- 【考试总结贴】工程测量学
- 服务器系统自带的系统清理工具,一键清除系统垃圾
- 谎言,统计数据和供应商
- MRP里如何预测lead time :Approaches for the Prediction of Lead Times in an Engineer to Order Environment
- ipv6文件服务器,在IPV6网络如何创建FTP服务器
- 数据结构之二叉树深度计算
- 光大银行引入USB Server实现虚拟机调用Ukey
- 这些孩子对计算机游戏上瘾英语,沉迷网络游戏高中英语作文
- beetle-j2ee-application-framework框架介绍.md