整数拓展:进制
-
int i=10;
-
int i2=010; //八进制0
-
int i3=0x10; //十六进制0x 0~9 A~F 16
相关进制转换自行学习,用的不多
浮点数拓展
银行业务怎么表示? 钱的问题意味着精准不能出错
通常实用BigDecimal来表示,这是一个数学工具类
因此最好不要使用浮点数进行比较
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d); java008基础讲解//false
float d1=22223333333333333f;
float d2=d1+1;
System.out.println(d1==d2);//true
字符拓展
所有的字符本质都是数字,强制转换,字符型转整数型时都会被换成数字,这里就涉及到编码
编码Unicode表中97=a,占两个字节,能表示0~65536的数
很多人都以为Excel是无限的,其实不然,最大也时65536(2的16次方)
在Java中也可以用16进制的写法
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 2字节 0~65536 Excel 2的16次方=65536
//U0000~UFFFF
char c3='a';//里面的61是16进制
System.out.println(c3);
转义字符总结
分析一些东西
前面写浮点数时,了解了看上去相等的东西其实是不等的,这里利用对象来展示一下
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);
输出结果
flase
true
为啥呢,这里涉及到java的一些设定上的东西,java有堆和栈的概念
第一个输出结果是因为两次创建对象分了不同的内存,在这个概念
上sa和sb不是一个东西
第二就是简单创建两个变量的结果,调用的是同一个内存下的东西
布尔值拓展
boolean flag=true;
if (flag==true){ }//新手
if (flag){ }//老手
//Less is More! 代码要精简易读
代码要精简易读
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/26541.html