整型 浮点型
(float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308【科学计数法5.12e2=5.12*10^2 5.12e-2=5.12/10^2】)
浮点数=符号位+指数位+尾数位
整形常量默认为int
浮点型常量位double型
long、float 类型要在数字后加L、F
float (有限、离散、舍入误差、接近但不等于) 精度double>float
不建议用浮点数进行比较(尾数部分可能丢失,造成精度损失【小数都是近似值】)
浮点数使用陷阱 字符类型表单个字符,占用两个字节
多个字符用string
char本质是一个整数,在默认输出时,是Unicode码对应的字符
char c1 = 'a'; char c2 = 'A'; c1 + c2 = 162
Unicode编码转换 - 站长工具 (chinaz.com)
【ASCII 占一个字节,一共128个字符 '0'=48 'A'=65 'a'=97
Unicode编码,字母汉字都占两个字节 Unicode兼容ASCII
utf-8 字母一个字节,汉字两个字节
gbk 字母 1 汉字(范围 < utf-8) 2
big5 繁中 】
布尔类型:boolean值为 true 和 false (占一个字节)
(Java中,不可以用0或非0整数代替布尔值)
不能对布尔值进行转换
进制 二进制(0b) 十进制 八进制(0) 十六进制(0x)010 0~8 0~9 A~F
类型转换((手动)强制类型转换【高→低】、自动类型转换【低→高】) 自动类型转换:程序在进行赋值或运算时,精度小的自动转为精度大的类型
多种数据混合运算时,系统会自动将所有数据转为运算中容量最大的数据类型,再进行计算。
把容量大的数据类型赋值给小的数据类型时,会报错。
char==== byte,short 之间不会自动转换
byte,short,char在计算时首先转换为int类型
boolean不参与类型的自动转换
强转符号只针对最近的操作数有效,可以使用小括号提升优先级 (类型)(数据)(int)(5 * 6.7+6 * 8.8)
char类型可以保存int的常量值,但不能保存int的变量值,需要强转
byte,short,char在计算时首先转换为int类型
将基本类型的值+" "
int a = 100; String s1 = a + "";
System.out.println(100+3+"hello") //103hello
System.out.println("hello"+100+3)//hello1003
String转数据基本类型
通过基本类型的包装类调用 parse 的方法
使用基本数据类型对应的包装类的相应的方法,得到基本数据类型
(将String类型转为基本数据类型,要确保String类型能转为有效的数据,否则将异常,程序会终止)
数据类型 包装类 方法
double num2 = Double.parseDouble(); float num3 = Float.parseFloat(); long num4 = Long.parseLong(); int num5 = Integer.parseInt(); short num6 = Short.parseShort(); byte num7 = Byte.parseByte(); boolean b1 = Boolean.parseBoolean();String转char
String s2 = "678"; System.out.println(s2.charAt(1)); // 7
(s2.charAt(1)) 得到字符串第2个字符



