1-1-数据类型
(基本类型 (primitive type) 与 引用类型 (reference type) 使用注意事项)
根据b站up主 狂神说视频整理
1. 八大基本数据类型
补充:
字节 : 1B(byte,字节)= 8bit(bit 位)
1bit表示1位
1Byte表示一个字节 1B=8b
1024B = 1KB
1024KB = 1M
1024M = 1G
//整数
byte num2 = 20; //byte占一个字节范围:-128-127
short num3 = 30;//short占一个字节范围:-32768-32767
int num1 = 10; //int 占一个字节范围:-2147483648-2147483647
long num4 = 30L; //Long 类型要在数字后面加L //long 占一个字节范围:-9223372036854775808-9223372036854775807
//小数:浮点数
float num5 = 50.1F; //float类型要在数字后面加L
doublie num6 = 2.341592623242424242424;
//字符
char name = '国';
//字符串,String不是关键字,类
String name2 = "嗨";
//布尔值:是非
boolean flag = true;
//boolean flag = false;
###2. 类型拓展
// 整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10; // 输出 10
int i2 = 010; // 输出 8
int i3 = 0x10; // 输出 16
//======================================
//浮点数拓展
//======================================
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//避免使用浮点数进行比较
float f = 0.1f; //0.1
double d =1.0/10 //0.1
System.out.println(f==d); //结果为false
System.out.println(f); //结果为10
System.out.println(d); //结果为10
float d1 = 231331313131313121f;
float d2 = d1 + 1;
System.out.println(d1==d2); //结果为true
//======================================
//字符串拓展?
//======================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1); //结果为:a
System.out.println((int)c1); //强制转换 结果为:97
System.out.println(c2); //结果为:中
System.out.println((int)c2); //结果为 20013
//所有的字符本质还是数字
//编码 Unicode 表:(97 = a 65 =A) 2字节 65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3); //结果为:a
//转义字符
// \t
System.out.println(“Hello\nWorld”);
//结果为: hello
// World
//======================================
//======================================
String sa = new String(“hello world”);
String sb = new String(“hello world”);
System.out.println(sa==sb); //结果为:false
String sc = “hello world”;
String sd = “hello world”;
System.out.println(sc==sd); //结果为:true
//对象 从内存分析
//布尔值扩展
boolean falg = true;
//两种方法结果相同
if(falg==true){};
if(flag){}
2. 类型转换
低-------------------------------------------------------》高
byte,short,char–> int —> long —> float --> double
int i = 2;
byte a = byte(i); //高到低 的转换
double c = i; //低到高 自动转换
不能与布尔类型转换