以下选项中哪个是表示进入目录的DOS命令()
A、cmd
B、dir
C、cd
D、cls
解析:
A是启动命令行
B是查看当前目录下所有的文件和文件夹
C是进入某一个目录,因此选C
D是清屏
========================================================================================================================================================
小伙伴们,以下代码哪些有错误呢?
public static void main(String[] args) {
char c1='ab';//有俩个
char c2='';//什么都没
char c3=' ';//有个空格
char c4=null;
}
解析:
(1)字符常量单引号内,必须要有且仅有一个字符(必须有内容);
(2)空常量和字符串都是引用类型 ;
c1错误;
c2错误;
c3正确(可以是一个空格);
c4错误,(不能将null赋值给char类型)。
========================================================================================================================================================
小伙伴们,以上代码哪些有错误呢?
public static void main(String[] args) {
System.out.println(null);//第一行
String str = null;//第二行
System.out.println(str);//第三行
}
解析:
第一行错误;空常量null不能直接打印;
第二行正确,所有的引用类型变量都可以赋值为一个null值,代表什么都没有;
第三行正确,注意:输出的是什么都没有,不是输出了一个null值。
========================================================================================================================================================
public static void main(String[] args) {
double num0=1.0F;//1.0
double num1=1.1F;//1.100000023841858
double num2=1.2F;//1.2000000476837158
double num3=1.3F;//1.2999999523162842
double num4=1.4F;//1.399999976158142
double num5=1.5F;//1.5
double num6=1.6F;//1.600000023841858
double num7=1.7F;//1.7000000476837158
double num8=1.8F;//1.7999999523162842
double num9=1.9F;//1.899999976158142
}
解析:
1: 首先,这些都是自动类型转换,精度提升;
2: float 1.3 在计算机中真实存储的的是 1.2999999523162842,只不过float精度没那么高,没有展示那么多的小数位;
而double的精度更高,展示更多的小数位,结果是:1.2999999523162842。
总而言之,浮点数是个近似数,并不精确,尽量不要使用。
========================================================================================================================================================
第一题:
以下选项中变量定义变量正确的是()
A、byte b = 200;
B、short s=100000;
C、long l=12345678900L;
D、double d=8.5f
解析:
A错误,byte的范围是-128 ~ 127,200超过了范围,编译报错
假如是byte b = 127;这种范围内的就可以。
B错误,short类型超过范围,数据溢出,编译报错
C正确,所有选项中最标准,选C
D半个正确,因为是自动类型转换,这样定义没有错,但是没有C选项的标准
第二题:
下列属于正常赋值的是()
A:byte b = 3; b += 5;
B:int num1 = 10; byte sum = num1 + 5;
C:String s = 5 + “abc”;
D:int num = “abc” + 5;
解析:
A正确,byte b=3,然后加法复合赋值(隐含强制转换,不会报错)b +=5。
B错误,sum的运算带有变量,有变量就必须进行强制类型转换。
应该修改成 byte sum = (byte) (num1 + 5);
C正确,字符串连接操作,结果是 “5abc” 。
D错误,任何数据和字符串通过+号连接,都会被同化成字符串。
========================================================================================================================================================
命名规则,必须遵守:
(1)不能已数字开头(重点注意)
(2)标志符不能是关键字
(3)只能包含字母、数字下划线_ 、美元符号$
第一题:
以下变量声明不正确的是:()
A. int _a = 10;
B. int 0x = 1996;
C. String string = “itheima”;
D. String S1994 = “String”;
解析:
A正确,不是数字开头,且开头是准许的符号。
B错误,是数字开头。
C正确。
D正确。