day02 Java语言基础语法

来源:互联网 发布:刺客信条4优化补丁3dm 编辑:程序博客网 时间:2024/05/01 18:02

1、关键字:被赋予特定含义含义的英文单词(全部小写)

mian不是关键字


2、标识符:定义包、类、接口、方法、变量

字母/数字(不能开头)/$/_

严格区分大小写


3、命名规则

包:全部小写

类、接口:一个单词首字母大写,多个单词首字母皆大写

方法、变量:一个单词首字母小写,多个单词第二个单词首字母开始大写

常量:单词全部大写


4、单行注释 //

      多行注释/**/

注释的作用:调试程序


5、1 bit = 1 字节 (8个字节组成一个byte)

1 byte = 8 bit

6、进制的标识:

二进制:0b

八进制:0

十六进制:0x

  

①思考题:

N进制转换为十进制(进制转换的规律  系数、基数、权)

十进制转换为N进制 (除法求余)

N进制转换为M进制


7、8421码,bcd码的一种


8、有符号的表示法:原码、反码、补码

计算机操作时调用数据对应的二进制的原码的补码进行计算。

         


正数负数原码最高位为0,其余为数值位最高位为1,其余位为数值位反码正数的反码与原码相同负数的反码与原码的符号位相同,数值位取反补码正数的补码与原码相同负数的补码是在反码原来的基础上加1

②思考题:

byte b=(byte)130;

System.out.print(b);

输出的结果为多少?


Ans:

130 的原码 : 00000000 00000000 00000000 10000010

        反码: 00000000 00000000 00000000 10000010

补码: 00000000 00000000 00000000 10000010

强制转换后得到:                                          10000010

逆推:(因为符号位为1,所以该数为负数)

补码:1000010

反码:1000001(符号位不变,数值位-1)

原码:1111110(符号位不变,数值位取反)

输出结果                                                           1(126) →   - 126


9、变量

在程序执行过程中,其值可以在一定范围内发生变化的量

变量的组成规则:

① 类型变量名= 初始值 ;

② 类型变量名

变量名=初始值;


10、基础数值类型:4类8种

A 整数 B 浮点数 C 字符D 布尔类型

1 byte 2 short 3 int 4 long 5 float 6 double 7 char 8 boolean 

注意:整数默认为int ,浮点数默认为double

长整型: long  l1 = 19000000L;

单精度: float  f1 =  12.36F;

 ③思考题

为什么byte的取值范围为 -128—127?

Ans:

java中的byte是有符号整形,1字节,8位,最高位是符号位,只有7位用来表示数值

最大值:01111111b=127 即2的7次方减去1

最小值:10000000b即2的7次前面加个负符号:-128


11、数据转换

显性转换:强制转换(大小)

隐性转换:自动转换(小 → 大)

④思考题

1、float f1 =(float)12.345;

float f2=12.345f;

f1==f2?

 2、byte b1 = 3 ,b2 = 4 ,b;

A:b = b1 + b2;

B:b = 3 + 4;

以上的计算语句是否会报错?

Ans:

1、相等

2、 A 报错 :变量想加,会先看数据类型,全部转换为默认类型,最后通过强制转换对变量赋值

       B 不报錯 : 常量相加, 首先做运算,结果看赋值是否在取值范围内,根据情况报错


12、ASCII 编码表: ‘a’ = 97     ‘A’ = 65  ‘0’ = 48 

 

⑤思考题

以下输出结果为什么?

A:System.out.println(" hello " + ' a ' +  ' 1 ');

B:System.out.println (' a ' +  ' 1 ' + " hello ");


Ans:

A:helloa1

字符串后面所跟着的 + 不再是运算符,而是字符串连接符号

B:98hello

只要前面没有字符串, + 依旧为运算符,可以进行计算



0 0