关键字:被java语言赋予特定含义的单词,比如public;组成关键字单词的字母全部是小写的。 注:goto和const是保留字,目前并不使用。 关键字一览表如下图所示:
标识符:实质就是给类、接口、方法、变量起名字 标识符的组成包括1)英文字母大小写;2)数字字符;3)$和_ 标识符注意事项:1)不能以数字开头;2)不能是java关键字;3)严格区分大小写,y1和Y1是两个不同的标识符。 常见的命名规则: 包:可以理解为文件夹,其作用就是为了把相同的类名进行区分,包名要全部小写 类名或者接口名:一个单词的时候,单词的首字母必须大写,比如:Student,Dog; 多个单词的时候,每个单词的首字母必须大写,比如:HelloWorld。 方法或者变量:一个单词时,单词的首字母小写,比如:age; 多个单词时,从第二个单词开始,每个单词的首字母大写,比如:StudentName,showName()。 常量:一个单词时,全部大写,比如PI;多个单词时,咩个字母都大写,用_隔开,比如MIN_AGE
常量:在程序的执行过程中,其值不会发生改变的量。分为字面值常量和自定义常量
二进制:由0,1组成,以0b开头; 八进制:由0,1,…,7组成,以0开头; 十六进制:由0,1,…,9,a,b,c,d,e,f(大写也可)组成,以0x开头。
java是一种强类型的语言,针对每一种数据都定义了明确的数据类型。
A.基本数据类型; B.引用数据类型(类,接口,数值)
A.整数
数据类型占用字节数目byte1short2int4long8B.浮点数
数据类型占用字节数float4double8C.字符
数据类型占用字节数char2D.布尔
数据类型占用字节数boolean1整数默认是int类型,浮点数默认是double类型;长整型后缀用L或l标记。单精度浮点数用F或f标记。
作用域 变量定义在哪个大括号内,它就在这个大括号内有 效,并且,在同一个大括号内不能同时定义同名的变量。
初始化值 没有初始化值的变量不能直接使用;只要在使用前给值就行,不一定非要在定义的时候立即给值;推荐在定义的时候给值。 定义变量的格式: a.数据类型 变量名 = 初始化值; b.数据类型 变量名; 变量名 = 初始化值
A.byte,short,char-int-long-float-double B.byte,short,char相互之间不能转换,他们参与运算首先转换为int类型
格式:目标数据类型 变量 = (目标数据类型)(被转换的数据); 注:强制转换会导致精度损失,在使用的时候三思
上面的代码中哪一句会编译失败,请说明理由 答案: b=b1+b2;是有问题的。因为变量相加,会首先看类型问题,最终把结果赋值得也会考虑类型问题;常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。
byte b = 130;上述代码的问题在哪里,如果想要代码正确运行,应该怎样修改,最后输出的正确结果是多少? 答案: A.获取130这个数据的二进制。 00000000 00000000 00000000 10000010 这是130的原码,也是反码,也是补码 B.做截取操作,截成byte类型 10000010 这个结果是补码 C.已知补码求原码
符号位数值位补码10000010反码10000001原码11111110所以最终的结果为-126
class Demo{ public static void main(String[] args{ byte b = (byte) 130; System.out.println(b); } } -126字符串数据(不是字符数据)与其他数据做+,结果是字符串类型,这里的+不是加法运算,而是字符串连接符。
class Demo { public static void main(String[] args) { System.out.println("hello"+'a'+1); System.out.println('a'+1+"hello"); System.out.println("5+5="+5+5); System.out.println(5+5+"=5+5"); } } helloa1 98hello 5+5=55 10=5+5