知识点范围:初识Java+数据类型、运算符
一、选择题
- 以下选项中关于Java跨平台原理的说法正确的是( AC )。(选择2项)
- A:Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行
- B:Java的跨平台原理决定了其性能比C/C++高
- C:Java虚拟机是可运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口
- D:Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行
解析:
- A选项:Java语言是编译解释型语言,规则:先编译再解释;JVM作用是把字节码文件解释成对应平台的机器码并执行,正确
- B选项:Java跨平台与C语言跨平台相比,执行效率低,但是安全性高,错误
- C选项:JVM就是一台虚拟的计算机,不同的平台都有性能相同的JVM,正确
- D选项:JAVA语言并不是可以在所有的平台上运行,需要在对应的平台上安装对应的JVM才行,错误
- 以下选项中是对一个Test.iava源文件进行正确编译的语句是( A )(选择1项)
- A:javac Test.java
- B:javac Test
- C:java Test
- D:java Test.class
解析:
编译.java源文件使用javac命令,后面跟文件名称和扩展名。
解释.class字节码文件使用java命令,且后面只跟文件名称。
- 在Java中,源文件Test.java中包含如下代码,则程序编译运行的结果是( B )。(选择1项)
public class Test {
public static void main(String[ ] args) {
system.out.println("Hello!");
}
}
- A:输出:Hello!
- B:编译出错,提示“无法解析system”
- C:运行正常,但没有输出任何内容
- D:运行时出现异常
解析:
System代表的是系统类,既然是类,就应该首字母大写,此题选择B。
- 以下选项中属于合法的Java标识符的是( CD )。(选择2项)
- A:public
- B:3num
- C:name
- D:_age
解析:
标识符由26个英文大小写字母、下划线、美元符号、数字组成。
规则:
- 只能字母、下划线、美元符号开头,数字不能开头
- 大小写敏感
- Java的关键字不能作为标识符
- A选项:public,属于关键字,错误
- B选项:3num,数字开头,错误
- C选项:name,符合标识符规定,正确
- D选项:_age,符合标识符规定,正确
-
int i=1; int j; j=i++;
执行之后i和j的值分别是( C )。(选择1项)
- A:1,1
- B:1,2
- C:2,1
- D:2,2
解析:
++在前规则:先自增后赋值,int a = ++i;
相当于i = i + 1; int a = i;
++在后规则:先赋值后自增,int a = i++;
相当于int a = i; i = i + 1;
- 下面Java代码的执行结果是( A )。(选择1项)
public class Test {
public static void main(String args[]) {
System.out.print(100 % 3 + " ");
System.out.println(100 % 3.0);
}
}
- A:1 1.0
- B:1 1
- C:1.0 1.0
- D:33 33.3
解析:
取余运算符的规则:两个数相除所得的余数。
整数默认的是int,小数默认的是double,如果类型不同的数据进行混合运算时,结果会是最大的数据类型。
- 下面的赋值语句中错误的是( A )。(选择1项)
- A:
float f = 11.1;
- A:
- B:
double d = 5.3E12;
- B:
- C:
double d = 3.14159;
- C:
- D:
double d = 3.14D;
- D:
解析:
- float:单精度浮点型,精确到小数点后7位,在定义时,小数后面必须加F或f
- double:双精度浮点型,精确到小数点后15位,在定义时,小数后面可以加D或d,也可以不加
- 小数默认的数据类型是double
- 在Java中,下面语句能正确通过编译是( AB )。(选择2项)
- A:
System.out.println(1 + 1);
- A:
- B:
char i = 2 + '2'; System.out.println(i);
- B:
- C:
String s = "on" + 'one';
- C:
- D:
int b = 255.0;
- D:
解析:
- A选项:系统输出语句中,可以添加表达式,正确
- B选项:char类型和int类型可以进行“+”运算,正确
- C选项:字符串和字符可以使用“+”号连接符进行连接,但是char类型单引号内只能是一个字符,不能是多个字符,错误
- D选项:255.0是double类型,double > int,所以此处欠缺强制转换,错误
- 以下Java运算符中优先级别最低的两个选项是( AB )。(选择2项)
- A:赋值运算符=
- B:条件运算符? :
- C:逻辑运算符|
- D:算术运算符+
解析:
赋值 < 三目 < 逻辑 < 关系 < 算术 < 单目
- 关于以下Java程序中错误行的说明正确的是( B )。(选择1项)
public class Test {
public static void main(String[] args) {
short s1 = 1; // ①
s1 = s1 + 1; // ②
s1 += 1; // ③
System.out.println(s1);
}
}
- A:①错误
- B:②错误
- C:③错误
- D:①②③都错误
解析:
s1 = s1 + 1;
s1是short类型,1是int类型,两者运算后,结果是int类型,无法使用short类型变量接收,应改为s1 = (short)(s1 + 1);
s1 += 1;
此时JVM会进行自动类型转换
二、简答题
- 简述Java语言跨平台与C语言跨平台的区别。
Java语言所编写的程序会先由.java文件编译成.class文件,再通过类加载器、字节码校验器、解释器等的一系列操作后运行,这些操作是在JVM中进行的,与平台无关,属于一次编译到处运行,效率低,安全性高;而C语言则是根据平台的不同分别进行编译,属于多次编译到处运行,效率高,安全性低。 -
Java语言是强类型语言,说明Java的数据类型分类。
Java分为基本数据类型和引用数据类型。
基本数据类型包括:boolean、char、byte、short、int、long、float、double
引用数据类型包括:类、接口、数组
基本数据类型和引用数据类型之间转换则是通过Java自动拆装箱,可以将基本数据类型装箱成对应的包装类,也可以将包装类拆箱成对应的基本数据类型。
- 简述i++和++i之间的区别。
i++:先赋值再自增,如int a = 1; int b = a++;
结果为a=2,b=1
++i:先自增再复制,如int a = 1; int b = ++a;
结果为a=2,b=2 - 简述&与&&之间的区别。
&:无论左边是true或false,右边都运算。同时作为位运算符,可以将两边数据转换成二进制,再判断每位的情况,同1则1,有0则0。
&&:只有当左边是true,右边才运算(短路现象)。 - Java中基本数据类型转换的规则。
boolean(true、false)、char(Unicode0~Unicode128)、byte(-128~127)、short(-215~215-1)、int(-231~231-1)、long(-263~263-1)、float(IEEE754)、double(IEEE754)。
低位向高位转换是安全的,可以直接转换;高位向低位转换是不安全的,有可能丢失位数,必要时需要使用强制类型转换。
三、编码题
- 使用记事本编写Java程序,进行自我介绍。
-
代码:
-
结果截图:
- 使用记事本编写Java程序,打印九九乘法表的前四行。
-
代码:
-
结果截图:
- 输入自己的名字,年龄和性别,分别用不同的变量接收,并将输入的信息输出。
-
代码:
-
结果截图:
- 输入圆形半径,求圆形的周长和圆形的面积,并将结果输出。
-
代码:
-
结果截图:
- 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
-
代码:
-
结果截图: