java的数据类型分为两大类,基本类型(数值类型[整数类型,浮点类型,字符类型]bollean类型)和引用类型(类,接口,数组)
public class 数据类型 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//Long要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;//Lfloat类型要在数字后面加F
double num6 = 3.141592653589793238462643;
//字符
char name = '中';
//字符串,String不是关键字,类
//String name = "秦 江";
//布尔值:是非
//boolean flag = true;
//boolean flag = false;
//整数拓展: 进制 二进制 0b 十进制 八进制0 十六进制0x
int i1 = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0--9 A--F 16
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
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
System.out.println(f);
System.out.println(d);
float d1 = 12357647775769543792f;
float d2 = d1 + 1;
System.out.println(d1 == d2);
//==================================================================
//字符拓展
//==================================================================
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字节 0--65536
//U0000 UFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
System.out.println("hello\nworld");
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;
if (flag == true) { }//新手
if (flag) { }//老手
}
}