JAVA:equals与==的习题

一,==的习题

package com.whpu.equals_;
public class exercise2 {
    public static void main(String[] args) {
        int it=12;
        float ia=12.0f;
        System.out.println(it==ia);
        char ch1='A';
        char ch2=12;
        System.out.println(ch1==65);
        System.out.println(ch2==it);
    }
}

如上图的源代码,在做这道题这前需要了解一下char这个数据类型。

1.char类型本来是用来存储字母和字符的,但是在技术实现上char却是整数类型,这是因为char类型实际存储的是整数而不是字母,只不过用ASCII码进行了转换。也就是说char型实际就是整形。

2.占用存储空间小。在一些MCU上内存空间有限,需要节省一些空间,用char来定义整形就是一个不错的选择。而char仅仅只占1个字节,unsigned char的范围则是0~255,对于一些基础的#define数据是能满足的。

因此char本质上是一个整数类型,可以存放0~255之间的数值,因此可以用ch2和it比较,在0~255以内的值。而ch1中的‘A’它会自动转换成65,所以和65的整数比起来也是相等的。因此三个输出语句都是对的

==号两边要比较的内容必须是对等的比较,如果是不对等的,就会报错,像拿一个引用类型String的变量去和一个对象比较,这肯定是比较不了的,所以就会报错。

二,

equals方面的习题就不举例了,具体的方法就是分析这个引用类型中的有没有equals方法重写,如果有,则判断内容是否相等,如果没有,则直接使用Object中的equals方法判断地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值