Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。
byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
char:16位,存储Unicode码,用单引号赋值。
public class demo01 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 八进制0 十进制0x
int i1 = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十进制0x
System.out.println(i1); //(10)
System.out.println(i2); //(8)
System.out.println(i3); //(16)
System.out.println("=========================================================");
//=======================================================================
//浮点数拓展? 银行业务怎么表示? 钱
//BigDecimaL 数学工具类
//=======================================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 23123123414f;
float d2 = d1 + 1;
System.out.println(d1==d2); //true
System.out.println("==========================================================");
//=======================================================================
//字符拓展?
//=======================================================================
char c1 = 'A';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有字符本质还是数字
//编码 Unicode 表:(97 = a 65 = A) 2字节 2**16= 65536
// U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3); //a
//转义字符
// \t 制表符
// \n 换行
System.out.println("hello\tworld");
System.out.println("==========================================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//布尔值拓展
boolean flag = true;
}
}