java.学习笔记day02(数据类型拓展)

java数据类型拓展

1.整数拓展(进制)

  1. 二进制:(以0b开头)例如:

    int i = 0b10;//b为小写
  2. 八进制:(0开头)例如:

    int i = 010;
  3. 十进制:例如:

    int i = 10;
  4. 十六进制:(0x开头 )例如:

    int i = 0x10;//x为小写(使用0-9来表示十进制中的十个数字,同时使用字母A-F(不区分大小写)来表示十进制中的10-15)

输出时会将所有进制转换成10进制。

2.浮点数拓展

问题1:在银行中该使用什么字符类型进行银行业务处理?

通常我们新手可能会使用float,或者double,但是有问题的。

举例1:

代码:

float f=0.1f;
double d = 1.0/10;
System.out.println(f==d);

注:f==d这种方式可以判断f是否等于d,正确输出ture,错误输出false

输出:false(不同),但我们都感觉f和d是相同的,但运行结果却显示false。

举例2:

代码:

float f1 = 242342424234234f;
float f2 = f1+1;
System.out.println(f==d);

输出:ture。但我们都感觉f1和f2是不相同的,但运行结果却显示ture。

原因:浮点数是有限的,离散的,具有舍入误差,是大约的,接近但不等于的,因此我们最好避免使用浮点数进行比较。

所以:对应银行业务处理我们应该使用一种类:BigDecimal

字符类拓展

举例1:

  1. 代码:

        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c1);
        System.out.println((int)c2);
        
       //其中System.out.println((int)c1);为强制转换,可以将字符转换成数字;
       //输出:a,中,97,20013;

从上面我们可以看出字符能转换成数字,因此我们可以知道:

  1. 所有的字符本质还是数字

  2. char类型涉及到编码(Unicode)问题,该编码占2个字节,并可以从0写到65536个及以上

举例2:

  1. 代码:char c3 = '\u0061';System.out.println(c3);其中\u代表给0061转义

  2. 输出:a

转义字符

  1. \t(制表符)类似tab键的长度空格

  2. \n(换行)

问题:当我们代码输入以下图片内容时

img编辑

结果:

img

这是为什么?(涉及到对象和内存来分析)

布尔值拓展

(less is more 代码要精简易读)

代码:

boolean flat = ture;
if(flag=ture){}
if(flag){}
//其中if(flag=ture){}和if(flag){}所表示的意思是一样的因此我们可以将前者简化成后者。
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值