importjava.util.Scanner;/* day05 类型转换 */publicclassDay05{publicstaticvoidmain(String[] args){//数据类型扩展//二进制 0b 十进制 八进制0 十六进制0x//浮点数的扩展float a =0.1f;double b =1.0/10;System.out.println(a==b);//最好完全避免使用浮点数进行比较//字符扩展//所有的字符都可以转换为数字 Uincode编码char c ='\u0061';System.out.println(c);//转义字符// \t 制表符 \n 换行//字符串扩展String a1 =newString("hello");String a2 =newString("hello");System.out.println(a1==a2);String b1 ="hello";String b2 ="hello";System.out.println(b1==b2);//布尔值扩展Boolean flag =true;if(flag==true);if(flag);//低到高,自动转换,高到低,强制转换int i =128;//此处因为超过byte的取值范围,因而计算错误byte a =(byte) i;//byte的取值范围为 -128-127long b = i;//低向高转换,无问题//操作比较大的数,注意溢出问题,JDK7的新特性,数字之间可以用下划线分割int count =10_0000_0000;int res = count*10//计算结果超出int的范围,发生溢出long result = count*10;//结果仍然是错误的,原因为,count为int类型,计算结果溢出后赋值给long类型的变量long result =(long)count*10;//正确的操作//Scanner的使用,计算输入多少个数字,平均值Scanner scanner =newScanner(System.in);int number =0;double sum =0;System.out.println("请录入数字:");while(scanner.hasNextDouble()){
number++;
sum+=scanner.nextDouble();}System.out.println("一共输入了"+number+"个数,和为:"+sum);//JDK5引入的新特性,增强for循环,遍历数组或集合的元素int[] numbers ={10,20,30,40,50};for(int x : numbers){System.out.println(x);}}}