类型扩展
整数扩展
进制:二进制(0b)、八进制(0)、十进制(自然数)、十六进制(0x)(不分大小写)。
int a = 0b101,//用二进制数表示十进制数
int b =0101,
int c =0x101;
注:int是整型,不是整数。
浮点型扩展
float与double这俩种分配的内存空间并非全存数字,分为三部分。
三部分:符号(+-),指数位(2^n,系统中储存),数据。
float:23bit;double:52;故超出范围会被用就近原则(四舍五入)优化掉。
浮点型性质:离散,有限,超出接近而不相等;故需要精准的方面不能用浮点型进行比较统计,改用内部类'BigDecimal'。
字符型扩展
扩展:记录jdk对照表(Unicode)里面的字符可以转换成int。
'/u' , '/t' , '/'(作用于后面一个字符)用在字符或者字符串中。
int c1 ='a'
System.out.println(int(c1))//输出97
' " " '和' ' ' '表示字符或者字符串的始末且不包含在字符内;故易出现以下问题
String s = "我喜欢说: "666""//结果只有:我喜欢说(遇到第二个"结束)
String s = "我喜欢说:/"666/""//""这个作为普通输出了,故在内部
//"abc"+"bca"有+这些连接符不会断,输出为二者结果(字符串只有加法)
'/'在外部作为除法,字符或字符串中作为转义。
再扩展
引用类型的变量中存储的是地址,再由地址指向对象;
基本类型中的变量存储的是值;
故而引出以下结论:
- 对于基本类型判断符'=='比较的是值是否相等
- 对于引用类型则是比较地址
- 且引用类型与boole型无法使用'>'和'<',其他基本类型可用
String s = new String("sas");
String d = new String("sas");
System.out.println(s==d);//输出false
因为使用new会开辟新地址而引用型比较的是地址故不相同。
String f ='6';
String h='6';
System.out.println(f==h);//输出true
因为不用new,对于存在过的值共用地址。
String s = new String("sas");//变量(s),对象(new String())
String g ="6";//变量(g),对象(6)
String d = new String("sas");
System.out.println(s==d);//输出false,
小拓展
public static void main(String[] arg),这里的String[] arg 用于存放运行时需要的参数。
java dog cat dog 666
"cat","dog","666"这个是参数
浙公网安备 33010602011771号