1. Keyword :被java赋予了含义,用作专门用途的字符串,所有关键字都是小写。
reversed word: 现有的版本没有使用,以后版本可能会用,goto, const
2.标识符:即各种自己可以起名的,类名,变量名,包名,接口名等,有自己的命名规则。
3. 变量
变量是最基本的存储单元,包含变量类型,变量名和存储的值
变量需要先声明和赋值,才能再使用; 同一个变量名在同一个范围内只能有一个
int myAge = 22;
a. 整数类型 默认为int
即byte只能表示-128到127的数值,128就无法用byte的声明下使用。
b. 浮点型(float和double)都是小数类型,默认通常用double
浮点型占据的空间很大,float的数值范围比long还大,因为浮点数是使用数字+e的次方表示,虽然数值范围大,但是精度不能保证。
c. 字符类型(char)单引号
char c1 = 'a';\\输出为97
char c2 = '\n'; \\换行转义符
char c2 = '\t'; \\tab转义符
内部只能使用一个字符(一个单词,一个unicode(用\u+数字表示),或者一个中文汉字,一个其他国家文字)或者一个转义字符,1字符= 2字节。
d. 自动类型提升
byte+int会自动提升至int, int+long也会自动提升至long,其中char进入运算时,char会被转化数字,从而和int,long等进行运算 (char,byte,short并列,三者运算匹配的只有int和int以上)
char+chat = int; byte + byte = int, byte +short = int
e. 强制类型转化: 自动类型提升的逆运算
double d1 = 12.9;
int i1 = (int)d1;
此处强转后,输出的 i1 =2, 丢失了精度(只取整数)
f. 字符串 (String)并不是基本数据类型,而是引用数据类型
String可以和以上所有八种基本数据类型进行运算, 且只能进行连接运算(+),运算完用String接收。一定要注意只是连接,不能运算,也不能简单的强转。
4. 进制的准化
二进制转十进制 1000101 = 2^0 + 2^2 +2^6 = 69
当计算机里出现二级制变化是,首位作为符号位,0为正,1为负数,对于正数补码,原码和反码三码合一,但是负数如图下所示
十进制转二进制 除以2取余数的逆(即反过来的顺序)
四种进制的转化
二进制转八进制,每三个一位化为八进制的一位;二进制转十六进制,每四个一位化为十六进制的一位。 如果逆运算的话,是反向拆分八进制拆成二进制的三位。