Java基础
数据类型扩展
public class Demo03 {public static void main(String[] args) {//整数拓展:进制 二进制0b 十进制 八进制0 十六进制0xint i=10;int j=010;//八进制int k=0x10;//十六进制System.out.println(i);System.out.println(j);System.out.println(k);System.out.println("==========================");//浮点数拓展 银行业务怎么表示钱//BigDecimal 数学工具类//flaot 有限 离散 舍入误差 接近但不等于//double//最好完全避免使用浮点数进行比较float f=0.1f;//0.1double d=1.0/10;//0.1System.out.println(f==d);//falsefloat f1=1111111111111111111111111f;float f2=f1+1;System.out.println(f1==f2);//tureSystem.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表 2字节 0-65536//u0000-uFFFF//Excel 2^16=65538char c3='\u0061';System.out.println(c3);//aSystem.out.println("==========================");//转义字符//\t 制表符//\n 换行// \\ 输出一个反斜杠本身//\r 回车(回到本行开头)//\' 输出单引号//\" 输出双引号//\b 退格(删掉前一个字符)System.out.println("Hello\tWorld");System.out.println("==========================");//面向对象 从内存分析String sa="Hello World";String sb="Hello World";System.out.println(sa==sb);String sc=new String("Hello World");String sd=new String("Hello World");System.out.println(sa==sd);}
}
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换(小数的优先级大于整数)
-
运算中,不同类型的数据先转换为同一类型,然后再运算
public class Demo04 {public static void main(String[] args) {int i=128;byte b=(byte)i;//内存溢出double d=i;//强制转换 (类型)变量名 高--低//自动转换 低--高System.out.println(i);System.out.println(b);/**notice1.不能对布尔值进行转换2.不能把对象类型专为不相干的类型3.在把高容量转为低容量的时候,强制转换4.转换的时候可能存在内存溢出,或者精度问题*/System.out.println("========================");System.out.println((int)23.7);//23System.out.println((int)-23.7f);//-23System.out.println("========================");char c='a';int e =c+1;System.out.println(e);System.out.println((char)e);} }public class Demo05 {public static void main(String[] args) {int money = 10_0000_0000;int years = 20;int total1 = (money*years);//-1474836480,计算的时候已经溢出了long total2 = (money*years);//默认是int,转换之前已经有问题了long total3 = (money*(long)years);//先把一个数转换为LongSystem.out.println(total1);System.out.println(total2);System.out.println(total3);} }
