请关注我的博客:www.taomaipin.com

家里有急事 暂停了几天,抱歉,现在呢开始说说java的运算语句和运算符

如果想利用java的运算语句 那么就离不开java的运算符,前面第九章讲了java的算术运算符,那么现在咱们说说java的逻辑运算符。特别强调一下

我在这里说的是逻辑运算符而不是位运算符,至于什么是位运算符 我后面章节在说。

java的逻辑运算符包括与、或、非,那么咱们说说这四种逻辑运算符以及在运算语句的使用。

第一:与(&&)

先看下面代码

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=6;
int b=7;
System.out.println((a==6)&&(b==7));

System.out.println((a==6)&&(b==8));

System.out.println((a==1)&&(b==8));

}

首先声明两个变量a和b 并且把6和7赋值给a和b 然后 打印出来的一定是true false false,与(&&)是判断的如果a 和b都为真 那么就是真,如果其

中之一为假 生成的boolea值为false

它的中文意思 你也可以这样理解且的意思 并且的意思,比如a=6&&b=7可以这样理解:a的值为6并且b的值为7或者再声明一个变量c=9;

如果代码写成这样:System.out.println((a==6)&&(b==7)&&(c==9)); 意思是a的值为6 并且b的值为7并且c的值为9满足

所有才会生成一个布尔值true,其中之一不满足就会生成一个布尔值false

第二:或(||)

先看下面代码:

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=6;
int b=7;
System.out.println((a==6)||(b==7));
System.out.println((a==6)||(b==8));
System.out.println((a==8)||(b==7));
System.out.println((a==9)||(b==9));

}

打印结果为true true true false

或的意思是只要其中一个符合 那么生成的布尔值便为true

第三:非(!)

首先看下面代码:

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=6;
int b=7;
System.out.println(a!=6);
System.out.println(a!=12);
System.out.println(b!=7);
System.out.println(b!=90);

}

}

打印结果是

false
true
false
true

非的意思是和实实不符比如a实际上值为6那么我说a的值不是6 我就可以用java代码说a!=6 我说错了 程序就会给返回一个false的布尔值

现在说说 位运算符

&&是短路运算符,&是非短路运算符

区别 例如 表达式A && B   如果A返回为false, 该表达式会直接返回false ,将不会再 对B做判断,而&则无论A为什么结果都会去对B进行判断。

|| 与 |的区别和上面一样,所以从效率上来讲短路运算符的效率要高于非短路运算符

网上也有人这样解释我感觉非常合适:
位运算符:

    包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符

   以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值

   可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。

   位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。例如:

   表达式10&15表示(1010 & 1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1

   表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。

   表达式10^15表示(1010 ^ 1111), 它将返回表示0101的值5。此时是同性相斥,相同的就为假。

   表达式~10表示(~1010),它将返回表示0101的值 -11。此号好理解,按位取反

我的博客www.taomaipin.com

java入门学习(十一)逻辑运算符和位运算符的更多相关文章

  1. java入门学习(九) 算术运算符

    请大家关注我的博客www.taomaipin.com 运算符在java基础中也占有着举足轻重的位置,我们当然要学会它.java 其实和其他计算机语言一样,基本的算术运算符基本一样,让我们看看 有哪些算 ...

  2. Java 逻辑运算符、位运算符、移位操作符 总结(Java 学习中的小记录)

    Java 逻辑运算符.位运算符.移位操作符  总结     作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为 ...

  3. Java的算数运算符、关系运算符、逻辑运算符、位运算符

    JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=  & ...

  4. Java基础——逻辑运算符、位运算符

    逻辑运算符.位运算符.三元运算符 逻辑运算符  public class Demon05 {     public static void main(String[] args) {          ...

  5. Java入门学习路线目录索引

    原创 Java入门学习路线目录索引 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/One_ ...

  6. Java 基础入门随笔(3) JavaSE版——逻辑运算符、位运算符

    上一节写了一些运算符的注意事项,这节开头依然是对运算符的一些注意点的阐述! 比较运算符除了>.>=.<.<=.==.!=之外需要注意instanceof:检查是否是类的对象,例 ...

  7. java注释 命名 数据类型 基本类型转换 位运算符 逻辑运算符 三目运算符

    一.java注释 1.单行注释  //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释 ...

  8. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

  9. 逻辑运算符、位运算符、三元运算符、判断语句(if,switch)

    逻辑运算符 逻辑与 &:由false则false 逻辑或 |:有true则true 逻辑异或 ^:相同为false,不同为true 逻辑非 !:非false则true,非true则false ...

随机推荐

  1. nginx比较apache

    http://blog.csdn.net/hanghangaidoudou/article/details/8506963 话说nginx在大压力的环境中比apache的表现要好,于是下载了一个来折腾 ...

  2. 编译qt-mobility

    因为用到了qt-mobility,必须自己编译一下,参考列出了参考资料. 参考: 1. windows下编译qt-mobility  http://hi.baidu.com/xchinux/blog/ ...

  3. IMX51启动模式

    相关链接: http://blog.csdn.net/kickxxx/article/details/7236040 http://blog.csdn.net/evilcode/article/det ...

  4. 使用Spring框架的12个开源项目

    使用Spring框架的12个开源项目 http://www.csdn.net/article/2013-10-14/2817176-open-source-projects-that-use-spri ...

  5. hdu4630No Pain No Game (多校3)(树状数组)

    http://acm.hdu.edu.cn/showproblem.php?pid=4630 给的题解没看懂..搜解题报告看 了N久  终于在cui大神的指点下 搞明白咋回事了 将1-N中的每个数ai ...

  6. hdu4619Warm up 2

    http://acm.hdu.edu.cn/showproblem.php?pid=4619 二分图匹配  最小点覆盖 = 最大匹配 #include <iostream> #includ ...

  7. poj 1364 King(差分约束)

    题目:http://poj.org/problem?id=1364 #include <iostream> #include <cstdio> #include <cst ...

  8. foreach中引用 的问题

    在工作中遇到 关于 php foreach 引用的一个问题 简单来说,如下代码 $arr=array('a','b','c' ,'d'); foreach($arr as $k=>&$v ...

  9. bzoj1789 AHOI 维护数列(线段树)

    首先想到线段树,然后刚开始写忽然想到树状数组求和岂不是更快,而且编程复杂度又小,于是把之前写的删掉,写树状数组,写完模版之后忽然发现这题竟然是区间修改! 于是又删掉重写,忽然发现不会处理又加又乘的,果 ...

  10. Django提供后台接口的跨域问题

    --> Django跨域 当使用Django仅用来开发后端接口,为前端提供JSON数据的时候,不可避免的要接受前端的POST请求.虽然Django以其强大易用的特定使用很广泛,但在跨域问题上却让 ...