JAVA运算符之 与

原创 2017年11月28日 20:56:33

&&和&

&&和&:是双目运算符,写成(a&&b)或(a&b),且a、b结果一定是boolean类型(即true或false)。

  • &&:短路与,如果a为false不执行b部分直接输出结果
  • &:非短路与,a为false依然执行b部分

例如:

代码1:

public class Operate {

    public static void main(String[] args) {
        if((11%2==0)&&(11/0==0))
        {
            System.out.println("&&");
        }
    }

}

代码2:

public class Operate {

    public static void main(String[] args) {
        if((11%2==0)&(11/0==0))
        {
            System.out.println("&");
        }
    }

}`

上面两段代码中,代码1不会报错,代码2会报错。因为对于&&:(11%2==0)为false就不执行(11/0==0);对于&:(11%2==0)为false依然执行(11/0==0)的判断;但是除数为0是没有意义的,所以会报错。

按位与

是一个双目运算符,语法形式为a&b,将两个数转换为2进制数进行每一位的与运算。

例如:14&(-8)
步骤:

  1. 将两个数表示为二进制数(此时的二进制数是原码,因为人能直接看来的形式就是原码形式)因为这两个数默认是int类型,int类型是一个4字节的数,一个字节是8位,所以14的原码是:00000000 00000000 00000000 00000110,-8的原码是:10000000 00000000 00000000 00001000(原码第一位是符号位)
  2. 将两个数原码转换为反码,对于正数原码反码补码都一样,对于负数,反码是对原码出符号位外取反,所以-8反码:11111111 1111111111111111 11110111
  3. 将两个数转化为补码,对于负数就是反码+1,所以-8补码:11111111 11111111 11111111 11111000
  4. 对14和-8补码每一位进行与操作:
    14: 00000000 00000000 00000000 00001110
    -8: 11111111 11111111 11111111 11111000

代码:

public class Andand {

    public static void main(String[] args) {
        System.out.println(-8&14);

    }

}

结果:8

21天学通JAVA 第3章 运算符.PPT

  • 2012年07月13日 09:50
  • 303KB
  • 下载

Java语法之变量与运算符

本博客选自于沈阳尚观云科技 我们在学习变量之前,首先要知道什么是变量?变量是内存中的存储数据的容器,举个例子,我们生活中经常用水瓶装水,那么,变量是水瓶,因为水瓶是容器,而瓶子里边的水呢,就是数据,所...

Java中算术运算符的使用

  • 2013年12月08日 18:57
  • 647B
  • 下载

Java:比较运算符compareTo()、equals()、==之间的区别与应用总结

1、== 和 equals的区别:  ==主要是两个变量值的比较,返回值为true 或者是false。 对于普通变量,如:int a=10; int  b= 10; a==b,返回为 tru...

java第3章 运算符表达式和语句

  • 2013年05月17日 13:22
  • 320KB
  • 下载

java基本类型、运算符、和表达式

  • 2015年03月29日 00:36
  • 372KB
  • 下载

Java基础语法(一)---关键字、常量、变量、运算符 (黑马程序员)

 一、关键字         定义:被Java赋予了特殊含义的单词。         特点:体现上都是英文小写。 1、 用于定义数据类型的关键字 基本数据类型:         整数类...

java运算符小程序

  • 2010年04月18日 17:10
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA运算符之 与
举报原因:
原因补充:

(最多只允许输入30个字)