位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制。
字节(byte):是计算机中 处理数据的基本单位,习惯用大B来表示
1B(byte)=8bit(位)
整数类型
byte 1字节 8位
short 2字节 16位
int 4字节 32位
long 8字节 64位
浮点型
float 4字节 32位
double 8字节 64位
布尔型
boolean 1/8字节 1位
字符型
char 2字节 16位
//整形的4中类型
int num1=1;//最常用的类型4字节
short num2= 2;//比较短
long num3=3L;//比较长的整形8字节
byte num4= 127;//最大127,最小-128
//浮点型
float num5= 5.5F;//四字节,需要写个F
double num6 = 8.1321;//八字节
//字符类型
char a = '1';
//布尔值
boolean b1= true;
//整数拓展 二进制0b开头 8进制0开头 16进制0x开头
int i1=0b10;//2进制
int i2=010;//8进制
int i3=10;//10进制
int i4=0x10;//16进制
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
System.out.println("===============================================");
//浮点数拓展
//银行业务用什么 不能用浮点型,浮点数不靠谱
//BigDecimal,C#中是Decimal
//有限 离散 舍入误差 大约 接近但不等于
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//举个浮点数不靠谱的例子
float f1 = 2121312354646545F;
float f2 = f1+1;
System.out.println(f1==f2);//相等,因为f1溢出了
float f3=0.3F;
float f4=0.3F;
float f5=0.3F;
System.out.println(f3+f4+f5);//0.90000004
float f6=0.9F;
System.out.println((f3+f4+f5)==f6);//false
//
float f7=0.1F;
double d1 = 0.1;
System.out.println(f7==d1);//false,因为两种类型精度不一样导致的
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
System.out.println('u0061');//16进制 输出 a
//unicode占用两个字节(0000—FFFF),容纳65536个字符
String sa = new String("HW");
String sb = new String("HW");
String sc ="HW";
String sd = "HW";
System.out.println("sa==sb:"+(sa==sb));//false
System.out.println("sc==sd:"+(sc==sd));//true
//这里跟C#不太一样