检验你代码基础的时候到了

1.大胆猜测一下执行结果

public static void main(String[] args) {
        int x = 5;
        int i = 10;
        System.out.println(i=+x);
    }

执行结果:5

     int a = 3;
     int b = 5;
     System.out.println(a+=b); //a = a+b
     
     不要混淆  a+=b ==> a = a+b
              a=+b ==> b

2.BigDecimal 使用要小心了,a.equals(b)会是true吗?

  public static void test1(){
        BigDecimal a = new BigDecimal("3.0");
        BigDecimal b = new BigDecimal("3.00");

        System.out.println(a.equals(b));
    }

执行结果:false
在这里插入图片描述

BigDecimal的等值比较应该使用compareTo()方法,不能使用equals(),equals 会比较值和精度

3.同样是BigDecimal的问题来了,

 public static void test2() {
        BigDecimal a = new BigDecimal(3.10d);
        BigDecimal b = new BigDecimal(3.1d);
        System.out.println(a);
        System.out.println(b);
    }

执行结果:
在这里插入图片描述

不要使用构造方法BigDecimal(double)的方式把double对象转化为Bigdecimal对象,不然就会出现这样的结果

4.对于初学者的考验来了,ascii码的知识还记得吗?

public class Char2Int {
    public static void main(String[] args) {
        char c = '5';
        int a = (int)c - 1;
        System.out.println(a); //等于什么呢?
    } }

会不会有人说是4呢?其实不然,这个涉及到ascii码的转化问题,5的ascii码是53,所以a=53-1,来 看一下结果:
在这里插入图片描述

5. 关于Integer的知识了解一下

  public static void test(){
        System.out.println(Integer.MAX_VALUE); //Integer的最大值
        System.out.println(Integer.MAX_VALUE + 1);// Integer的最大值 + 1 会怎么样呢?
    }

会比最大1吗?不是的,像是一个循环,又从最小值开始了。
在这里插入图片描述

6.最神奇的地方来了

a,b的结果是多少????

public class CodeTest {
    public static void main(String[] args) {
        Integer a = 500;  // 500 > 128 即new Integer(500)
        Integer b = new Integer(500); // \u000a b =b +1;

        System.out.println(a.intValue());  // a的结果是多少????
        System.out.println(b.intValue()); // b的结果是多少????
    }
}

大家可能都认为是500吧,那你就错了,看一下结果:
在这里插入图片描述为什么呢?那是因为对于Unicode 编码的存在,Unicode 编码在代码中即使被注释掉也可能会影响代码执行。
看着一行, Integer b = new Integer(500); // \u000a b =b +1; 其实注释的代码也执行了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值