• 逻辑与(&&)、或(||)、非(!)

示例:

package operator;

public class Demo05 {
   public static void main(String[] args) {
       // 与(and) 或(or) 非(取反)
       boolean a = true;
       boolean b = false;

       System.out.println("a && b :"+(a&&b));//逻辑“与”运算:两个变量都为真,结果才为true
       System.out.println("a || b:"+(a||b));//逻辑“或”运算:两个变量有一个为真,则结果才为true
       System.out.println("!(a && b):"+!(a&&b));//逻辑“非”运算:取反

       //短路运算
       int c = 5;
       boolean d = (c<4)&&(c++<4);
       System.out.println(d);
       System.out.println(c);

  }
}
  • 位运算:&,|,~,^(异或),<<(左移),>>(右移)

示例:

package operator;

public class Demo06 {
   public static void main(String[] args) {
       /*
       A = 0011 1100
       B = 0000 1101
--------------------------------
       A&B = 0000 1100 //位与运算
       A|B = 0011 1101 //位或运算
       A^B = 0011 0001 //异或运算,不同为1
        ~B = 1111 0010 //位非运算

        面试题:如何快速计算2*8?
        分析:2*8 = 16 2*2*2*2
        <<:位左移
        >>:位右移
       
        0000 0000   0
        0000 0001   1
        0000 0010   2
        0000 0011   3
        0000 0100   4
        0000 1000   8
        0001 0000   16
       
        */

       System.out.println(2<<3);
  }
}
  • 扩展赋值运算符:+=,-=,*=,/=

package operator;

public class Demo07 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;

       a+=b;//等同于 a = a +b
       a-=b;//等同于 a = a -b

       System.out.println(a); //输出结果10

       //字符串连接符 + String
       System.out.println(a+b);//输出结果30
       System.out.println(""+a+b);//输出结果1020
       System.out.println(a+b+"");//输出结果30
  }
}
  • 条件运算符?:

package operator;

public class Demo08 {
   public static void main(String[] args) {
       //三元运算符 x ? y :Z,即如果x==true,则结果为y,否则结果为z
       int score = 50;
       String type = score < 60 ?"不及格":"及格";//输出结果“不及格”;必须掌握,类似if语句
       System.out.println(type);
  }

}

【java从入门到精通】day-07-逻辑运算符-位运算符-条件运算符-扩展赋值运算符的更多相关文章

  1. 2017年9月22日作业 c++算术运算符 自增 自减 逻辑运算符 位运算符 条件运算符(三元运算符)

    作业1: c++算术运算符试题,分析下面程序的输出结果是什么 //第一个: int x=8999;int value=x*1000/1000; //第二个 int x=8999;int value=x ...

  2. 《java从入门到精通》学习记录

    目录 <Java从入门到精通>学习记录 3 基础的基础部分: 3 一. 常量与变量 3 1. 掌握: 3 (1) .常量与变量的声明方式: 3 (2) .变量的命名规则: 3 (3) .变 ...

  3. 《JAVA 从入门到精通》 - 正式走向JAVA项目开发的路

    以前很多时候会开玩笑,说什么,三天学会PHP,七天精通Nodejs,xx天学会xx ... 一般来说,这样子说的多半都带有一点讽刺的意味,我也基本上从不相信什么快速入门.我以前在学校的时候自觉过很多门 ...

  4. 《Java从入门到精通》src0-8

    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello wo ...

  5. cucumber java从入门到精通(4)Scenario Outline及数据驱动

    cucumber java从入门到精通(4)Scenario Outline及数据驱动 到目前为止,我们的TodoList类工作良好,不过离我们的预期--任务清单系统还是有不少差距,究其原因不过如下: ...

  6. cucumber java从入门到精通(3)简单实现及断言

    cucumber java从入门到精通(3)简单实现及断言 上一节里我们定义了step的java代码实现文件,step就是测试步骤及断言的集合,我们先定义出来,以后可以驱动开发以及在持续集成时重用. ...

  7. cucumber java从入门到精通(2)用代码定义步骤

    cucumber java从入门到精通(2)用代码定义步骤 上一节里我们定义了feature文件,feature文件就是自然语言描述的用例文件,它有一定的章法,具体的潜规则是: 使用Feature关键 ...

  8. cucumber java从入门到精通(1)初体验

    cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍 ...

  9. 《Java从入门到精通》学习笔记(详细)

    目录 03 Java语言基础 基本数据类型 变量与常量 运算符 类型转换 代码规范 标识符命名规范 常用输入输出 04 流程控制 条件语句 循环语句 循环控制 练习 05 字符串 创建字符串 连接字符 ...

随机推荐

  1. MeteoInfoLab脚本示例:闪电位置图

    这个脚本示例读取文本格式的闪电数据,读出每条闪电记录的经纬度和强度,在地图上绘制出每个闪电的位置,并用符号和颜色区分强度正负.数据格式如下:0 2009-06-06 00:01:16.6195722 ...

  2. 关于pipeline的一篇转载博文https://www.cnblogs.com/midhillzhou/p/5588958.html

    引用自https://www.cnblogs.com/midhillzhou/p/5588958.html 1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客 ...

  3. c# 常用帮助类

    C#常用帮助类 因为小土现在还是处于小白阶段,所以自己的知识技术还达不到要求,但是小土在网上找到一个大神的,等以后小土技术有了一定提升以后,在走自己的路,啥也不说了上货. 地址 :https://gi ...

  4. 如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)

    介绍   Go 语言最近十分火热,但对于新手来说,想立马上手全新的语法和各种各样的框架还是有点难度的.即使是基础学习也很有挺有挑战性.   在这篇文章中,我想用最少的代码写出一个可用的 API 服务. ...

  5. spring boot:使用log4j2做异步日志打印(spring boot 2.3.1)

    一,为什么要使用log4j2?     log4j2是log4j的升级版,     升级后更有优势:     性能更强/吞吐量大/支持异步     功能扩展/支持插件/支持自定义级别等     这些优 ...

  6. 子网划分和VLAN

    子网划分 IP地址的结构和分类 根据tcp/ip协议,连接在Internet上的每个设备都必须有一个IP地址,它是一个32位二进制数,为了方便人类识别,我们将它用点分十进制表示,每8位分为一段. IP ...

  7. Vue踩坑日记-You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.

    记录时间:2019年4月24日16:55:54 在build/webpack.base.conf.js文件中,注释或者删除掉:module->rules中有关eslint的规则

  8. LinkBlockedQueue的c++实现

    c++链表实现的阻塞队列 最近从java源码里发现了阻塞队列的实现,觉得非常有趣. 首先,介绍下什么是阻塞队列.阻塞队列代表着一个队列可以线程安全的往该队列中写数据和从该队列中读数据.也就是说,我们可 ...

  9. Error response from daemon: conflict: unable to delete a2f2e369e78e (cannot be forced) - image has dependent child images

    错误现象: Error response from daemon: conflict: unable to delete a2f2e369e78e (cannot be forced) - image ...

  10. Map 和 Json 互转

    Json 转 Map<String,String> String query = "{tableName:\"iov_biz_car_info\",selec ...