JavaSE 初级部分第一周测试(java语言概述、java基本语法)

这是一份针对JavaSE初学者的第一周测试,涵盖Java语言概述和基本语法。试题包括单选题,涉及Java的面向对象特性、JVM、JDK工具、程序并行机制、关键字、数据类型、变量、运算符等方面,帮助学生检验学习成果。
摘要由CSDN通过智能技术生成

一、单选题
1. Java 语言是一种( ) 语言 。(选择一项)
A.机器
B.汇编
C.面向过程的
D.面向对象的

解析:B
D ; Java语言是一种面向对象的语言,与其他面向对象语言相比,Java利用面向对象技术更彻底,它把所有的Java应用和Applet都看作对象。

2.java 程序的执行过程中用到一套 JDK 工具,其中 javac.exe 指( )。(选择一项)
A.java 语言编译器
B.java 字节码编译器
C.java 文档生成器
D.java 类分解器

解析:A
B;javac.exe将java源文件编译成字节码文件,而java.exe是解释运行字节码文件解释器或运行工具

3.下面关于 JVM 的说法中不正确的是( )。(选择一项)
A.JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范
B.JVM 是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
C.Java 之所以能够跨平台是因为 JVM 是跨平台的。
D.Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行

解析:B
C;不同的系统下有不同的JVM(JVM是C语言写的),所以JVM不是跨平台的。
JAVA依赖于JVM,JVM给JAVA提供了运行环境,所以JAVA是跨平台的。

4. JDK 是( )。(选择一项)
A.一种全新的程序语言
B.一种程序开发辅助工具
C.一种由 Java 写成的,并支持 Java Applet 的浏览器
D.一种游戏软件

解析:B;

5. Java 语言具有许多优点和特点,下列选项中,哪个反映了 Java 程序并行机制的特点( )。
(选择一项)
A. 安全性
B. 多线程
C. 跨平台
D. 可移植

解析:C
B;安全性是指Java执行多层安全机制,以提供足够的安全保障的特点;跨平台和可移植是指Java一次编写到处运行;多线程反映了Java程序可同时执行多个任务的并行机制特点。

6. 如果 jdk 的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用
javac 和 java 命令,需要将环境变量 path 设置为以下哪个选项( )。(选择一项)

A.c:\jdk;
B.c:\jdk\bin;
C.c:\jre\bin;
D.c:\jre;

解析:C
B;path环境必须设为javac.exe和java.exe的上一级目录bin

7. 以下不是 java 关键字的有( )。(选择一项)
A.super B.this C.class D.tree

解析:D;

8. 以下能作为 char 类型的字面值的有( )。(选择一项)
A. “e” B. ’ f’ C.‘123’ D.’\u0012’

解析:D;
A:双引号表示字符串
B:注意此处f前面有一个空格,当仅有f一个字符的时候用单引号编译是可以通过的
C:123是三个字符,属于字符串,用双引号可以编译

9. java 程序中程序运行入口方法 main 的声明正确的是( )。(选择一项)。
A.public static void main(String[] args)
B.static public void main(String args)
C.public void static main(String[] args)
D.public void main(String args[])

解析:A;

10. 以下关于变量的说法错误的是?( )(选择一项)
A.变量名必须是一个有效的标识符
B.变量在定义时可以没有初始值
C.变量一旦被定义,在程序中的任何位置都可以被访问
D.在程序中,可以将一个 byte 类型的值赋给一个 int 类型的变量,不需要特殊声明

解析:C;
要看它的作用域,如果是全局变量,则全局(任何位置)都可访问,如果是局部变量,则只能在它的作用域(函数或过程内部)中才能生效。

11. 以下( )不是合法的变量名。(选择一项)
A.STRING_
B.x3x
C.void
D.de$f

解析:C;
void是关键词

12. 在 Java 中,不属于整数类型变量的是( ) 。(选择一项)
A.double B.long C.int D.Byte

解析:A;
double是浮点型变量

13.下面哪种注释方法能够支持 javadoc 命令( )。(选择一项)
A.//
B.//
C.//
D./**…*/

解析:D;
以“//”开始的是单行注释语句,以“/”开始、“/”结束的是C语言风格的注释语句,在“/
…*/”内的文档注释是自由形式的文本,支持javadoe命令,被javadoc处理,可以建立类的一个外部说明性文件。**

14. Java 源文件和编译后的文件扩展名分别为( ) 。(选择一项)
A..class 和 .java
B..java 和 .class
C..class 和 .class
D..java 和 .java

解析:B;
java源文件扩展名是.java。
java编译后的文件扩展名是.class。
我们编好的Java源程序保存为.java后缀,然后再用javac(Java语言的编译器)进行编译,生成后缀名为.class的字节码文件,保存在和源程序一致的目录下,如源代码有错误,会报告错误,按行指出错误,我们按报告查找并修改错误,重新进行编译,直至生成.class字节码文件为止。

15.下列运算结果默认为 float 的是( )。(选择一项)
A.100/10
B.100*10
C.100F+10
D.100D-10

解析:C;
AB默认为整型int ; D默认为double型

16.用 8 位无符号二进制数能表示的最大十进制数为 ( )(选择一项)
A.127
B.128
C.255
D.256

解析:D
C;最大的8位无符号二进制数是11111111,与之对应的十进制数是1X27+1X26+1X25+1X24+1X23+lX22+1 X21+1X20=255

17.下列数据类型进行运算时,哪一个会发生自动类型提升( )(选择一项)
A.int + int
B.long + long
C.byte + byte
D.double + double

解析:C;byte型的变量在运算期间类型会自动提升为int型

18.下面的语句中,错误的是( )(选择一项)
A.||表示的是逻辑或
B.&&表示的是逻辑与
C.& 表示的是按位与
D.&和&&使用的时候没有任何差别

解析:D;
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

19.表达式(11+3*8)/4%3 的值是( ) (选择一项)
A.31
B.0
C.1
D.2

解析:D;先算()里的
下表为运算符优先级

在这里插入图片描述

20.已知 i 为整形变量,关于一元运算 ++i和 i++,下列说法正确的是( )(选择一项)
A.++i 运算将出错
B.在任何情况下运行程序结果都一样
C.在任何情况下运行程序结果都不一样
D.在任何情况下变量 i 的值都增 1

解析:D;
++i 与 i++ 都表示自增,前者表示先自增再取值;后者表示先取值再自增 无论什么情况 i的值都增加1

21.为一个 boolean 类型变量赋值时,可以使用的方式是( )(选择一项)
A.boolean a = 1;
B.boolean a =(9>10);
C.boolean a =”真”;
D.boolean a == false;

解析:B;boolean即java中的基本类型——布尔类型,值只有true和false两种。
A是对int类型的赋值方式。
B中(9>=10)的值是false,因为有关系运算符是用来比较运算,结果只有对(true)与错(false)两种,是boolean类型,所以B正确
C的赋值方式根本不对,既不符合char类型,也不符合String类型
D中 == 是关系运算符,不能用来赋值,如果 == 改成“=”就是正确的
故选B。

22.分析下面的代码,输出正确的是( )(选择一项)

public class Test {
   
public static void main(String[ ] args) {
   
double d = 84.54;
d++;
int c = d/2;
}
 }

A.42
B.编译错误,更改为 int c = (int)d/2;
C.43
D.编译错误,更改为 int c = int(d)/2;

解析:B;
d是double类型 , double类型给int类型赋值时,要使用 (int)的方式进行强制转换。

23.下面程序的执行结果是( )(选择一项)

public class Test {
   
public static void main(String[ ] args) {
   
int x=3,y=4;
x=(y<x++)?1:0;
System.out.println(x);
} 
}

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

解析 :D;
三目运算符结果为flase x = 0

24. 下面程序的执行结果是( )(选择一项)

public class Test {
   
public static void main(String[ ] args) {
   
int i=10,j=10;
System.out.println(++i+,+j--);
} }

A.10,10
B.11,9
C.11,10
D.10,10

解析:C;
++i 表示先自增再取值,输出i = 11;
j-- 表示先取值再自减,虽然 j = 9 了,但是输出为 j= 10;

25.下面程序的执行结果是( )(选择一项)

public class Test {
   
public static void main(String[ ] args) {
   
float a = 4.0f,b=6.0f,c=8.0f;
String s =10.0; 4
System.out.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值