Java基础知识练习题

本文详细介绍了Java编程的基础概念,包括编译命令javac的使用,Java程序的执行流程,变量定义、数据类型、数组、继承、多态、字符编码、异常处理、final关键字、方法重载和数组索引规则等内容。
摘要由CSDN通过智能技术生成

1.对Java源文件进行编译操作的命令是(B)

A.Java

B.javac

C.where is java

D.javaw

2.下列命令中,用来运行Java程序的是(A)
A.java

B. javadoc

C. jar

D. javac

分析:

对Java源程序进行编译的命令是Javac 

对.class字节码文件解释执行的命令是java

java程序的完整执行流程:
Java源文件(*.java)--->javac命令:调用编译器--->产生字节码文件(*.class)---> java命令:JVM虚拟机--->Java解释器--->运行结果

3.下列代码执行后,输出结果是什么?(D)

for(int i=0 ; ; ){

System.out.println("这是"+i);break;

}

A.语法错误,缺少表达式2和表达式3

B.死循环

C.程序什么都不输出

D.输出:这是0正确答案

分析:

for循环中必须要有语句1,但是可以没有语句2 语句3 题目中for循环的语句1初始化i=0,所以输出这是0

4.以下的变量定义语句中,不合法的选项是(A B D)

A.byte= 128

B.boolean= null

C.long a= 123L

D.double = 0.9239d

分析:

A. byte b = 128;
这是不合法的。byte 数据类型的取值范围是从 -128 到 127。因此,128 超出了 byte 的取值范围,这会导致编译错误。
B. boolean b = null;
这是不合法的。boolean 数据类型只能包含两个值:true 或 false。它不能包含 null 值。
C. long a = 123L;
这是合法的。long 数据类型是一个64位有符号二进制整数,可以包含从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的值。123L 中的 L 后缀表示这是一个 long 类型的字面量,所以这是合法的。
D. double d = 0.9239d;
这是合法的,但有点冗余。double 数据类型是一个64位双精度浮点数。即使没有 d 后缀,Java也会将 0.9239 视为 double 类型。但是,d 后缀确实可以明确地表示这是一个 double 字面量。

5.下列作为java中变量名在编译期间会报错的是(D)

A.Count

B.$Hello

C._3m

D. #a

6.下面表达式正确的是(C)

A.byteb= 128;

B.booleanb= 1;

C.long a=1L;

D.floatf= 12.3;

7.下列有短路功能的逻辑运算符是(B D)

A.&

B.&&

C.|

D.||

8.以下选项中的数据类型全部属于基本数据类型中数值型的是(D)

A.int、 char、 byte、 short、 Iong

B.Double、float、 byte、 int、short

C. byte、int、 short、 long、boolean

D.double、 float、 byte、 short、int

9.char类型在内存中占用的字节长度是(B)

A.1个字节

B. 2个字节

C.3个字节

D.4个字节

10.对于变量int n=6789,表达式计算结果值为7的选项是?(C)

A.n%10

B.n/10%10

C.n/100%10

D.n/1000%10

11.设数组定义,intD array=new int[10],则数组的第一个元素的正确用法是(B)

A. array[1];

B.array[0];

C.array;

D.aray[];

12.Sring字符串的rplce0方法的作用是?(C)

A.根据下标,获取字符串中的指定位置字符

B.截取字符串

C.替换字符串 

D.查找子字符串,返回子字符串 在原字符串中的下标位置

13.执行下列程序段后,运行结果为:(C)

Integer n1= 127;

Integer n2= 127;

System.out.println(nl = n2);

System.out.println(n1 .equals(n2);

A.false false

B.true false

C.true true

D.false true

14.执行下列程序段后,运行结果为:(B)

System outprintn(Integer. parselnt("01");

A.0 

B.1

C.01

D.2

15.switch语句结构支持的类型包括:(A D E F I )

A.枚举

B.floal

C.double

D. byte 

E.short 

F. int

G.boolean

H.long

I.String 

16.下列选项中,可以正常创建一维数组的选项是? (B C D E)

A.int[]nsI = new int[ ];

B.int[ ]ns2 = new int[8];

C.intns3[]= new int[8];

D.int[ ]ns4= {1,2,3,4,5};

E.int[ ]ns5 = new int[ ]{1,2,3,4,5}

F.int[ ]ns6 = new int[5]{1,2,,4,5};

17.在类的定义中可以有两个同名方法,这种现象被称为方法(D)

A.封装

B.继承

C.覆盖

D.重载

18.下列选项中关于Java中super关键字的说法正确的是(A)

A.super关键字是在子类对象内部指代其父类对象正确答案的引用

B.super关键宇不仅可以指代子类的直接父类,还可以指代父类的父类

C.子类通过super关键字只0能调用父类的方法,而不能调用父类的属性

D.子类通过super关键字只能调用父类的属性,而不能调用父类的方法

19.下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)

A.protected

B.static

C.private 

D.public

20.有一个类A,下面为其构造函数的声明,其中正确的是(B)

A.void A(xntx){...}:

B. A(int x){...}; 

C.a(int x){...}

D.void a(int x){...}:

21.下列关于继承的说法哪个是正确的(B)

A.子类 只继承父类public方法和属性

B.子类继承父类的非私有属性和方法

C.子类只继承父类的方法, 而不继承父类的属性

D.子类将继承父类的所有属性和方法

22.下列代码段中,存在编译错误的语句是(B C D)
byte b1 = 1,b2 = 2,b3,b6,b8;
final byte b4 = 4,b5 = 6,b7;
b3 = (b1 + b2);/*语句1*/
b6 = b4 + b5 ; /*语句2*/
b8 = (b1 + b4);/*语句3*/
b7 = (b2 + b5);/*语句4*/
System.out.println(b3 + b6);


A. 语句2

B.语句1

C.语句3

D.语句4

23.给出以下代码,请给出结果(B)
 

package com.ztt.Demo02;

class Two{
   Byte x;
}
class passO {
   public static void main(String[] args){
       passO p = new passO();
       p.start();
   }
   void start(){
       Two t = new Two();
       System.out.println(t.x+" ");
       Two t2 = fix(t);
       System.out.println(t.x +" " + t2.x);
   }
   Two fix(Two tt){
       tt.x = 42;
       return tt;
   }
  
}

运行结果:

null 
42 42

A.null null 42

B. null 42 42

C. 0 0 42

D.  0 42 42

E.An exception is thrown at runtime

F. Compilation

24.java语言使用的字符编码集是(D)
A:ASCII

B: BCD

C: DCB

D: Unicode

25.类Car里面有一个方法run(),如果直接用Car.run(),则方法run前面必须用关键字(D)
A. class

B. final

C. public

D. static

26.(多选)下面关于Java异常类的描述,正确的有(A B C)
A. 异常类的继承结构:基类为Thowable,Error和Exception,实现Thowable,RuntimeException和IOException等继承Exception

B. 非RuntimeException 一般是外部错误(不考虑Error的情况下),其可以在当前类被try{}catch语句块所捕获

C. Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕获

D. RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被try{}catch语句所捕获

27.(多选)多态的作用(B C)
A. 隐藏细节

B. 提高可重用性

C . 扩展代码模块

D. 提高编译可靠性

28.(多选) final、finallymfinalize的区别中,下述说法正确的有 (A B C D)
A. final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

B.finally号异常处理洁句结枸的一部分,表示总导执行。

C .finalize号Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件。

D.引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的

29.将类的成员的访问权限设置为默认的,则该成员变量能被(A)
A. 同一包中的类访问

B. 其他包中的类访问

C. 所有的类访问

D. 所有的类的子类访问

30.下列代码中,ABCD注释标注的哪行的哪些代码有错误?(D)
public class Test {
    public static void main(String[] args) {
        byte b = 'a';//A
        int n = 100;
        char c = 65;//B
        b = b;//C
        b = b + 1;//D
        
    }
}


A. A

B. B

C. C

D. D

31.关于Java编译和运行命令叙述不正确的是(A)
A. 运行“java Scut.class”

B. 运行“java Scut”

C . 编译Scut.java文件,使用“java Scut.java”命令的输出文件是Scut.class

D. java这个命令的运行对象时Scut.class

32.如下Java语句double x = 2.0;int y = 4;x /=++y;执行后,x的值是(C)

package com.ztt.Demo02;

public class Test {
	public static void main(String[] args) {
		double x = 2.0;int y = 4;x /=++y;
		System.out.println(x);
		
	}
}


运行结果:
0.4


A. 0.5

B. 2.4

C. 0.4

D. 2.0

33.在循环中,break语句的作用是(C)
A. 终止本次循环

B. 终止程序

C. 终止循环

D. 终止方法

34.以下程序的输出结果是(A)

package com.ztt.Demo02;

public class Print {
	static boolean out(char c) {
		System.out.print(c);
		return true;
	}
	public static void main(String[] args) {
		int i = 0;
		for(out('A');out('B')&&(i < 2);out('C')) {
			i++;
			out('D');
		}
	}
}


运行结果:
ABDCBDCB


A. ABDCBDCB

B. BCDABCD

C. 编译错误

D. 运行错误

35.下列说法正确的是(C)
A. 不需要定义类,就能创建对象

B. 对象中必须有数据域和方法

C . 数据域可以使基本数据类型,也可以是一个对象

D. 数据域必须是基本数据类型变量

36.下列那个选项是正确计算42度(角度)的余弦值(C)
A. double d = Math.cos(42)

B. double d = Math.cosine(42)

C. double d = Math.cos(Math.toRadians(42))

D. double d = Math.cos(Math.toDegress(42))

37.下列类定义中哪些是合法的抽象类的定义(C)
A. abstract Animal{abstract void grow();}

B. class abstract Animal{abstract void grow();}

C. abstract calss Animal{abstract void grow();}

D. abstract calss Animal{abstract void grow(){System.out,println("grow!");};}

38.(多选)针对以下代码,哪些选项执行后是true的(B C)

package com.ztt.Demo02;

public class CompareReference {
	public static void main(String[] args) {
		float f = 42.0f ;
		float f1[] = new float[2];
		float f2[] = new float[2];
		float[] f3 = f1;
		long x = 42;
		f1[0] = 42.0f;
		System.out.println(f1 == f2);
		System.out.println(x == f1[0]);
		System.out.println(f1 == f3);
//		System.out.println(f2 == f1[1]);
		
	}
}

运行结果:
false
true
true


A. f1 == f2

B. x == f1[0]

C. f1 == f3

D. f2 == f1[1]

39.默认类型等价表示是哪一项 (B)
  public interface IService {String NAME = "default";}
A. public String NAME = "default";

B. public static String NAME  = "default"

C. public static final String NAME  = "default"

D. private String NAME = "default";

40.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换(B)
byte[] src,dst;

A. dst = String.fromBytes(src,"GBK").getBytes("UTF-8")

B. dst = new String(src,"GBK").getBytes("UTF-8")

C . dst = new String(src,"GBK").getBytes()

D. dst = String.encode(String.decode(src,"GBK")),("UTF-8")

41.String s = new String("xyz");创建了几个StringObject?(A)
A. 两个或一个都有可能

B. 两个

C. 一个

D. 三个

42.在Java中,以下数据类型中,需要内存最多的是(B)
A. byte

B. long

C. Object

D. int

43.(多选)Java关于继承的描述正确的是(A C D)
A. 一个子类只能继承一个父类

B. 子类可以继承父类的构造方法

C. 继承具有传递性

D. 父类一般具有通用性,子类更具体

44.Java语言中的数组元素下标总是从0开始,下标可以是非负整数。(A)
A. 正确

B. 错误

 

 

  • 40
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值