package com.kira.base;
public class Test1 {
public static void main(String[] args) {
/**
* 整数扩展
* 二进制0b
* 八进制0
* 十六进制0x
*/
int a = 0b10;//2进制
int b = 010;//8进制
int c = 0x10;//16进制
/**
* 浮点数扩展
* 最好完全避免使用浮点数比较
* 小数用BigDecimal进行比较
* float和double在内存中精度是不同的,所以表示同样一个数值是有微小误差的
*/
float d = 0.1f;// float 单精度
double e = 1.0/10;// double 双精度
System.out.println(d==e);//false
float f = 23423423423f;
float g = f+1;
System.out.println(f==g);//true
/**
* 字符扩展 编码 Unicode 2字节 0-65536
* u0000-uffff
*/
char c1 = 'a';
char c2 = '阿';
char c3 = '\u0061';// \u0061是字母a
System.out.println((int)c1);//97
System.out.println((int)c2);//把"阿"这个字转换成数字
/**
* 转义字符
* \r 表示接受键盘输入,相当于按下了回车键;
* \n 表示换行;
* \t 表示制表符,相当于Table键;
* \b 表示退格键,相当于Back Space键;
* \' 表示单引号;
* \''表示双引号;
* \\ 表示一个斜杠\。
*/
System.out.println("Hello\tWorld");
/**
* 字符串扩展
*
* 如果作用于基本数据类型的变量,则直接比较其存储的值是否相等,
* 如果作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。
*/
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.println(s1==s2);//他们比较的是地址
String s3 = "Hello";
String s4 = "Hello";
System.out.println(s3==s4);
/**
* 布尔值扩展
* 这两种相同
*/
boolean flag = true;
if(flag==true){
}
if(flag){
}
}
}