• Java开发笔记(十二)布尔变量论道与或非


    在编程语言的设计之初,它们除了可以进行数学计算,还常常用于逻辑推理和条件判断。为了实现逻辑判断的功能,Java引入了一种布尔类型boolean,用来表示“真”和“假”。该类型的变量只允许两个取值,即true和false,其中true对应真值,而false对应假值。
    如同数值变量拥有加减乘除四则运算那样,布尔变量也拥有逻辑方面的四则运算,包括“非”、“与”、“或”、“异或”,下面分别加以介绍。
    1、“非”运算求的是某布尔变量的对立值,若原变量值为true,则“非”运算的结果为false,若原变量值为false,则“非”运算的结果为true。Java把符号“!”加在布尔变量前面,表示这里进行“非”运算。
    2、“与”运算求的是两个布尔变量的逻辑交集,只有两个变量都为true时,运算结果才为true,其余情况的运算结果都为false。Java把符号“&”放在两个布尔变量之间,这里表示进行“与”运算。
    3、“或”运算求的是两个布尔变量的逻辑并集,只要两个变量有一个为true,运算结果就为true;只有两个变量都为false时,运算结果才为false。Java把符号“|”放在两个布尔变量之间,表示这里进行“或”运算。
    4、“异或”运算求的是两个布尔变量的逻辑相异,当两个变量同为true或者同为false时,运算结果为false;当两个变量一个为true另一个为false时,运算结果为true。Java把符号“^”放在两个布尔变量之间,表示这里进行“异或”运算。
    下面是对布尔变量进行“非”、“与”、“或”、“异或”等逻辑运算的代码例子:

    		// boolean表示布尔类型,该类型的变量只允许两个取值,即true和false
    		boolean zhen = true; // true表示为真
    		System.out.println("zhen="+zhen);
    		boolean jia = false; // false表示为假
    		System.out.println("jia="+jia);
    		// “!”加在布尔变量前面表示进行“非”运算
    		boolean not = !zhen;
    		System.out.println("not="+not);
    		// “&”放在两个布尔变量之间表示进行“与”运算
    		boolean and = zhen&jia;
    		System.out.println("and="+and);
    		// “|”放在两个布尔变量之间表示进行“或”运算
    		boolean or = zhen|jia;
    		System.out.println("or="+or);
    		// “^”放在两个布尔变量之间表示进行“异或”运算
    		boolean xor = zhen^jia;
    		System.out.println("xor="+xor);
    

    上述的四则逻辑运算当中,“与”、“或”、“异或”三种都需要两个布尔变量才能判断,这意味着:倘若某个变量既参与逻辑运算,又能保存运算结果,此时的逻辑运算就转变为对该变量的自处理。譬如,对一个布尔变量与另一个布尔值进行“与”运算,且运算结果仍旧保存在该变量中,则可使用运算符“&=”简化赋值操作。如同数值计算“x = x+7”等价于“x += 7”那般,也存在布尔计算“value = value&false”简化成“value &= false”的情况。依此类推,对布尔变量自身进行或运算,可利用新的赋值运算符“|=”;对布尔变量自身进行异或运算,可利用新的赋值运算符“^=”。这些逻辑赋值符的详细应用代码如下所示:

    		boolean value = true;
    		System.out.println("value="+value);
    		// 对布尔变量进行“与”运算,且运算结果仍旧保存在该变量中,则可使用运算符“&=”
    		value &= false; // 该行代码等同于 value = value&false;
    		System.out.println("value="+value);
    		// 对布尔变量进行“或”运算,且运算结果仍旧保存在该变量中,则可使用运算符“|=”
    		value |= true; // 该行代码等同于 value = value|true;
    		System.out.println("value="+value);
    		// 对布尔变量进行“异或”运算,且运算结果仍旧保存在该变量中,则可使用运算符“^=”
    		value ^= false; // 该行代码等同于 value = value^false;
    		System.out.println("value="+value);
    

      

  • 相关阅读:
    Educational Codeforces Round 13
    Educational Codeforces Round 12
    vscode 修改标签栏样式为换行全部展示
    webpack uglifyjs 报错 Unexpected token name
    tsconfig.js 使用 paths 设置alias无效问题
    Webpack 报错 filename.indexOf is not a function 的问题
    'GL_EXT_shader_framebuffer_fetch' : extension is not supported
    Flutter命令突然无响应、vscode突然无法连接到IOS模拟器
    解决node fs.writeFile 生成csv 文件乱码问题
    数组map方法与如何使用ES5实现
  • 原文地址:https://www.cnblogs.com/pinlantu/p/9824585.html
Copyright © 2020-2023  润新知