数据类型
public class demo2 { public static void main(String[] args) { //八大基本数据类型 //整数 int num=10; //最常用 byte num2=20; short num3=30; long num4=30l; //long类型在数字后面加个l //浮点数 float num5=50.1f; //float类型在数字后面加个f double num6=3.164411345613164; //字符 char name ='啊'; //字符串,String不是关键字,是一个类 //String namea="大跌"; //布尔值 boolean flag=true; boolean flag1=false; // 整数拓展 进制 二进制0b 十进制 八进制 十六进制0x int i=10; int i2=010; //八进制0开头 int i3=0x10;//十六进制0x开头 0~9 A~F System.out.println(i); System.out.println(i2); System.out.println(i3); //======================================= //浮点数拓展 银行业务怎么表示?钱 //BigDecimal 数学工具类 //================== //float 有限 离散 舍入误差 大约 接近但不等于 //最好完全使用浮点数比较 //最好完全使用浮点数比较 //最好完全使用浮点数比较 //double float f=0.1f;//0.1 double d=1.0/10;//0.1 System.out.println(f==d); float d1=123265433654f; 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 字节 65536 Excel 2^16=65536 char c3='\u0061'; System.out.println(c3); //a //转义字符 // \t 制表符 // \n 换行 System.out.println("hello\tworld"); System.out.println("hello\nworld"); // 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 flag3=true; if(flag3==true){}//新手 if(flag3){}//老手 //less is more 代码精简易读 } }
类型转换
public class demo4 { public static void main(String[] args) { //操作比较大地时候,注意溢出的问题 //jdk7新特性 ,数字之间可以使用下划线分割 int money =10_0000_0000; int years=20; int total=money*years;// -1474836480 计算时溢出了 long total2=money*years;//默认是int,转换之前已经出现问题了? long total3 =money*((long)years);//先把一个数转换成 System.out.println(money); System.out.println(total); System.out.println(total3); // L l } }