当前位置:网站首页 > Java基础 > 正文

java008基础讲解



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

整数拓展:进制

  • 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=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);

转义字符总结

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

代码要精简易读

版权声明


相关文章:

  • java ssh 基础编程2024-10-13 13:50:02
  • 黑马java基础班和就业班2024-10-13 13:50:02
  • java最基础的import2024-10-13 13:50:02
  • java基础if多分支语句2024-10-13 13:50:02
  • java基础练习之点菜系统2024-10-13 13:50:02
  • 动力节点java零基础文档2024-10-13 13:50:02
  • java大数据基础562024-10-13 13:50:02
  • java基础考试填空题题库2024-10-13 13:50:02
  • java基础知识简书2024-10-13 13:50:02
  • 2018年java基础视频2024-10-13 13:50:02