今天复习前几天所学的知识,有关java最基础的东西。也就是数据结构和运算符。
首先是java标识符。Java标识符有如下命名规则:
1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字;
2、不能把Java关键字作为标识符;
3、标识符没有长度限制;
4、标识符对大小写敏感。
5、不能包含空格。
java数据结构:数据结构决定了内存中储存数据的类型和所需内存的大小。数据类型的转换分为 自动类型转换和强制类型转换。前者的规则是由低到高分别是byte(8) ,short /char(16),int(32),long(64),float(32),double(64).这些数的具体范围可以查到的。为什么long比float小是有原因的。因为整数型和浮点型在内存中的表示方式是不同的。浮点型是符号位1位,指数域8位,小数域23位。而long是直接符号位,数值是2的63 次方。强制转换,即级别高的向低的转换要用显示转换格式:(格式类型)被转换值.eg:long y=(long)34.98f;//y的值为34 这样会是精度损失 或者溢出。
补码。计算机只认识补码,换句话说计算机数据是以补码形式存在计算机内的。这就要求了解补码。正数的补码,源码,反码一样,负数求补码:以二进制形式展开,求反码(符号位不变,其他全部取反),补码(在反码的基础上加一)。
常量和变量。变量的命名规则:1遵循标识符的命名规则 2首字母小写,多个单词从第二个首字母大写 3由名词组成。变量的概述:通过定义变量来申请数据储存空间,并通过变量名获取或改变储存的值。 常量 1由final关键字修饰 2一般大写,多个单词之间用下划线间隔。声明时必须初始化。
位运算符。这个是十分重要的部分。*位运算是将数据转化为二进制补码形式,在逐位(包括符号位)的按规则运算。
一按位与运算符‘&’,规则:全1则1,否则为0
二按位或运算符‘|’,规则:全0则0,有1则1
三 按位非运算符‘~’规则:遇1则0,遇0则1
四按位异或运算符,‘^’规则:相同则为0,不同则为1 异或是可逆的,对某数据a进行两次相同的运算,结果是a 例如a^5=6, 6^5=a
逻辑运算符(&&、||)与位运算符(&、|)的区别前者只针对布尔类型,而且有短路的情况(前面得到最终值,后面的表达式不在被执行)。后者还可以对数值进行逻辑运算。
还有几个表达式要区分。 b=++a表示先对a+1,在将值赋给b 。 b=a++表示先将a的值赋给b,在对a+1 。