1. 整形
(1)字节数(以下所有类型均可表示负数)
int : 4字节
short: 2字节
long : 8字节
byte : 1字节
(2)数值表示
长整型 :后加L或l
16进制 :前加0x或者0X
八进制 :前加0
二进制 :前加0b或者0B
2. 浮点型
(1)字节数及精度
float :4字节,精度6-7位
double :8位,精度15位
(2)数值表示
float :后加F或者f
double :后加D或d或者不加
注:浮点类型采用二进/制表示,某些情况下不能精确的表示一些数
3. 大数类型
Big Integer和BigDecimal是位于java.math包下的两个类
数值转换+加减乘除(P78)
4. char类型
(1)基本
Char类型原本用于表示单个字符,现在一些Unicode字符可能需要两个Char类型表示
(2)表示方法
Char类型的字面量需要用’ ‘括起来表示
“A”表示一个包含A的字符串,’A’表示一个Char类型的字符
Char如果用16进制表示的话表示范围从/u0000-/Uffff
(3)陌生的转义字符
/b表示退格
5. Unicode和Char类型
(1)Unicode基本特点
定义:别名,万国码,单一码,统一码,可以呈现出世界上数十种文字,涵盖了 字形 编码方法 字符特性;
码点:指与一个代码表中某个字符对应的代码值,采用十六进制书写并加上前缀U+;
码点级别:17个代码级别,第一级别从U+0000—U+FFFF为基本的多语言级别(包括经典的Unicode代码); 剩余级别从U+10000—U+10FFFF(包括辅助字符);
(2)char类型与Unicode的联系
UTF-16编码采用不同长度的编码表示所有的Unicode码点,Char类型描述了UTF-16中的一个代码单元
6. Boolean类型
(1)数值
(2)注意
Boolean值不能与整形相互转换(与C++和C不同)
7. 变量
(1)声明及初始化
变量声明和初始化与C语言基本相同(数组略微有区别)
int[ja-newint[5l;
int[b-newint[5];
int[canewint[10];

8. 常量
(1)定义
常量使用final定义,一旦赋值不能再次更改(习惯上常量值使用大写字母表示)
9. 枚举类型
(1)定义与声明
1)定义
枚举类型中可以添加一些构造器,方法,域(本质上就是一个类)(其中的枚举变量就相当于一个对象)
。构造器私有化,只有自己内部使用
其实这里的SMALL叫做枚举常量
枚举类型只能在主函数外部定义,可以单独一个类
所有的枚举类型都是Enum类的子类,他们继承了不少方法(toString是最有用的一个,返回枚举常量名)

toString方法的逆方法是静态方法valueOf(前者将枚举转换成基本类型,这里直接将变量对象化成枚举)
2)使用
values方法(返回包含所有枚举类型的数组,还借用上文中定义的枚举类,枚举变量太花哨了)
compareTo方法,比较枚举常量的顺序(在前就返回一个负值,否则返回一个正值)
10. 字符串
(1)常用字符串函数
substring方法:从一个字串中提取一个子串(表示从0个开始到3个结束,不包括3包括0)
“+”拼接(将字符串与非字符串拼接的时候会将非字符串转换成字符串)
“/“多个字符串用分隔符隔开

equals方法检测两个字符串是否相等(结果是false)
length方法检测字符串的长度(结果是6包含了空格)
charAt方法返回该处的代码单元(结果是H)
StringBuilder方法构建字符串(直接添加 结果是sssjjj)
toCharArray方法用于提取字符串中的字符组成一个数组

(2)字符串特点
JAVA中的字符串与C语言中的不太相同,C语言中的字符串是字符数组,可以逐个修改,但是JAVA中不可改
特别的需求可以直接用”+”来操作
(3)字符串类型

(4)字符串与基本类型之间的转换
- 基本类型转换位字符窗
- 直接转换

- 包装类转换

- 字符串类转换

- 直接转换
- 字符串转换成基本类型
- 包装类转换

- 包装类转换
11. 运算符
(1)注意事项
JAVA中的运算符与C中基本相同,当参与’/‘运算的两个数都是整数时结果是整数,其他情况全是小数
在JAVA中没有逗号表达式,但是在for中可以用逗号分隔分号两边中的表达式
(2)数学函数运算
在头文件中导入数学函数即可直接使用(基本数学函数与C中的相同)
不过也可以使用加前缀的方法
注意:log表示自然对数,round表示四舍五入(返回值是long型,需要强制转换成int型)
(3)强制转换
强制转换从高精度转换为低精度会丢失数据,反过来则不会(除非你懂的)
强制转换Boolean类型为整数可以使用B?1:2;
(4)位运算符
将二进制表示的数按位左移和右移使用<< , >>(这样移动的结果是用符号位填充高位)而>>>用0,填充无<<<
