java中“比较”小汇总

版权声明:本文为北风梁雪原创 https://blog.csdn.net/qq_43797491/article/details/86606963
  • =和==
    Java中=是赋值运算,而==判断值是否相等。
  • ==和equse
    ==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等如果作用于引用类型的变量【该运算符表示指向字符串的引用是否相同】
    对于equals方法,注意:equals方法不能作用于基本数据类型的变量如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
  • &和&&
    相同点:
    它们都表示运算符的两边都是true时,结果为true;
    不同点:
    &&两边的运算符必须是boolean类型的,而按位与&可以是boolean类型,两边也可以是int类型的。
    当按位与、按位或两边是int类型时,将是通过二进制进行按位运算。&&又叫短路运算符,如果左边表达式就能决定最终结果(即:false),那么就不再计算右边表达式。是true就继续运算右边表达式。
    &表示在运算时两边都会计算,然后再判断,不管前边表达式正确还是错误;
  • |和||
    共同点:它们都表示运算符的两边任意一边为true,结果为true,两边都不是true,结果就为false;
    不同点:
    逻辑或||两边的运算符必须是boolean类型的,而按位或可以是boolean类型,两边也可以是int类型的。
    当按位与、按位或两边是int类型时,将是通过二进制进行按位运算。|| 表示先运算符号左边的东西,然后判断是否为true,是true就停下来直接输出不会再运行后面的东西,是false就继续运算右边的然后判断并输出。
    |表示两边都会运算,然后再判断结果
  • /与%
    /结果等于得到的整数(商的整数)
    %结果等于余数(剩余多少)取余(取模)有个规律就是:左边小于右边,结果为左边,左边大于右边,看余数
  • >>、<<和>>>
    左移<< :就是该数对应二进制码整体左移,左边超出的部分舍弃,右边补零。
    右移>> :该数对应的二进制码整体右移,左边的用原有标志位补充,右边超出的部分舍弃
    无符号右移>>> :不管正负标志位为0还是1,将该数的二进制码整体右移,左边部分总是以0填充,右边部分舍弃。
    写的不是很好,希望可以帮到大家,有什么问题欢迎补充

猜你喜欢

转载自blog.csdn.net/qq_43797491/article/details/86606963