基础第一阶段day01——DOS命令、常量、变量、标志符

DOS命令:

以下选项中哪个是表示进入目录的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正确。

你可能感兴趣的:(基础第一阶段day01——DOS命令、常量、变量、标志符)