Java十道入门易踩坑题分析前篇
作者:/少司命
1,java基本类型
下面属于java基本数据类型的有( )
A.String
B.byte
C.char
D.Array
Java基本数据类型分为三种,数值型,字符型,布尔型
数值型:
整型:byte、short、int、long
浮点型:double、float
字符型:char
布尔型:boolean
Array String属于引用数据类型,选择BC
2,java包装类
下面属于java包装类的是( )
A.String
B.Long
C.Character
D.Short
Java包装类就是基本类型对应的类类型,基本类型为八种基本数据类型,所以String不属于Java包装类。选择BCD
3,Java编译
下列语句哪一个正确 ( )
A.Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序编译使用命令javac 运行使用 java 命令
D.以上都不正确
Java编译后产生的是字节码文件,Java程序编译使用命令javac 运行使用 java 命令 选择BC
4,JDK,JVM,JRE
下列有关JDK, JRE, JVM三者的叙述,正确的是:( )
A.JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)
B.JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
C.JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行
D.JDK中包含了JRE,JRE又包含JVM
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
ABCD均正确
5,类型转换
基本数据类型均可任意互相转换( )
A.对
B.错
boolean也属于基本数据类型,但不能和其他类型转换
6,转义字符
在Java中表示换行符的转义字符是:( )
A.\n
B.\f
C.'n'
D.\dd
选择A
7,标识符
在java中,下列标识符不合法的有( )
A.new
B.$Usdollars
C.1234
D.car.taxi
Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。new属于关键字。选择ACD
8,类型转换
经过强制类型转换以后,变量a,b的值分别为多少( )
short a =128; byte b =(byte) a;
A.128 127
B.128 - 128
C.128 128
D.编译错误
Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验. 先看以下几个代码场景:
int 和 long/double 相互赋值
int a = 10; long b = 20; a = b; // 编译出错, 提示可能会损失精度. b = a; // 编译通过. int a = 10; double b = 1.0; a = b; // 编译出错, 提示可能会损失精度. b = a; // 编译通过.
long 表示的范围更大, 可以将 int 赋值给 long, 但是不能将 long 赋值给 int.
double 表示的范围更大, 可以将 int 赋值给 double, 但是不能将 double 赋值给 int.
结论: 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行
128赋值给a,a=128,byte为一个字节,大小范围-128-127,所以b=-128
选择B
9,赋值符号
以下哪一个不是赋值符号( )
A.+=
B.<<=
C.<<<=
D.>>>=
增量赋值运算符
+= -= *= /= %=
无符号右移 >>>: 最右侧位不要了, 最左侧补 0
int a = 0xffffffff; System.out.printf("%x\n", a >>> 1);
输出:
// 运行结果(注意, 是按十六进制打印的)
7fffffff
不存在无符号左移,选择C
10,打印一个字符串
如果要打印一个字符串,需要使其输出结果为:\"hello\",则以下哪种方式可以正确输出:( )
A.System.out.println("\\\"hello\\\"");
B.System.out.println("\\"hello\\"");
C.System.out.println("/\"hello/\"");
\\指打印一个\, \''指打印一个'',所以选择A
到此这篇关于Java十道入门易踩坑题分析前篇的文章就介绍到这了,更多相关Java十道入门易踩坑题分析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!