java008基础讲解

java008基础讲解数据类型扩展以及面试题讲解 整数拓展 进制 int i 10 int i2 010 八进制 0 int i3 0x10 十六进制 0x 0 9 A F 16 相关进制转换自行学习 用的不多 浮点数拓展 银行业务怎么表示 钱的问题意味着精准不能出错 通常实用 BigDecimal 来表示 这是一个数学工具类 float 与 double 有有限 离散 接近但不等于 舍入误差这样的特点

大家好,我是讯享网,很高兴认识大家。



数据类型扩展以及面试题讲解

整数拓展:进制

  • int i=10;
  • int i2=010; //八进制0
  • int i3=0x10; //十六进制0x 0~9 A~F 16

    相关进制转换自行学习,用的不多

浮点数拓展

银行业务怎么表示? 钱的问题意味着精准不能出错

通常实用BigDecimal来表示,这是一个数学工具类

float与double 有有限,离散,接近但不等于,舍入误差这样的特点

因此最好不要使用浮点数进行比较

  float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d); java008基础讲解//false

float d1=f;
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);

转义字符总结

a 响铃(BEL) 007 b 退格(BS) ,将当前位置移到前一列 008 f 换页(FF),将当前位置移到下页开头 012 换行(LF) ,将当前位置移到下一行开头 010 回车(CR) ,将当前位置移到本行开头 013 水平制表(HT) (跳到下一个TAB位置) 009 v 垂直制表(VT) 011 代表一个反斜线字符''' 092 ' 代表一个单引号(撇号)字符 039 " 代表一个双引号字符 034 ? 代表一个问号 063 0 空字符(NUL) 000 ddd 1到3位八进制数所代表的任意字符 三位八进制 xhh 十六进制所代表的任意字符 十六进制

分析一些东西

前面写浮点数时,了解了看上去相等的东西其实是不等的,这里利用对象来展示一下

 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! 代码要精简易读

代码要精简易读

小讯
上一篇 2024-12-25 08:32
下一篇 2024-12-27 18:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4112.html