本节重点思维导图

递增递减

前缀自增自减法(++a,--a): 先进行自增、减运算,再进行表达式运算

后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增、减运算

例【1】:

int a = 2;
int b = ++a;
System.out.println("++a = " + b);
a=2;
int c = --a;
System.out.println("--a = " + c);
a=2;
int x = a--;
System.out.println("a-- = " + x);
a=2;
int y = a++;
System.out.println("a++ = " + y);

结果: 3 1  2  2

例【2】:

int a = 2;
if(a++ == 2)
System.out.println("a++ = 2");
a = 2;
if(a-- == 2)
System.out.println("a-- = 2");
a = 2;
if(--a == 1)
System.out.println("--a == 1");
a = 2;
if(++a == 3)
System.out.println("++a == 3");

结果:

a++ = 2
a-- = 2
--a == 1
++a == 3

赋值运算符

int a =3;
a+=3; a = a+3;
a-=4; a = a-4;
a*=5 a= a*5;
a/= 3 a= a/3;
a%b
a%=b a = a%b;

关系运算符

结果是boolean类型

>、>=、<、<=、==、!=

int a = 47;
int b = 7;
boolean res1 = a>b; //if a > b,res1 = true
System.out.println(res1);
boolean res2 = a == b; //if a == b,res2 = true
System.out.println(res2);
//结果是true false

逻辑运算符

&& 与    ||或   !非

boolean b1 = true;
boolean b2 = false;
boolean b = b1 || b2;
System.out.println(b);
System.out.println(!b2);

&& || 与& |的区别,双的有短路作用:

短路:当结果一定成立时,就不再计算后面的了

int a = 2;
boolean b1 = a++ == 2;
System.out.println(b1);
System.out.println(a);
boolean b2 = --a != 2;
System.out.println(b2);
System.out.println(a);
System.out.println("--------------------");
boolean res = b1 && b2;
System.out.println(res);
System.out.println(a);

结果:

true
3
false
2
--------------------
false
2

^异或运算符

字符能够进行异或运算

一个字符进行两次异或运算就会回到原来的值

char c ='a';
System.out.println(c^'0');
System.out.println((char)(c^'0'));
System.out.println(c^'0'^'0');
System.out.println((char)(c^'0'^'0'));

结果:

81
Q
97
a

三目运算符

int  a = 10;
int b = 15;
String res = a>b ? "max is a":"max is b";
System.out.println(res);

instanceof 运算符

移位运算符

<<:向左移位,相当于变大为原来的2的多少次幂

>>:向右移位,相当于变小为原来的2的多少次幂

可以快速地计算2的多少次方

int a = 1<<3; //1*2^3
System.out.println(a);
a = 4<<6; //4*2^6=2^8
System.out.println(a);
a = 256>>3;
System.out.println(a);

8
256
32

 instanceof 额外补充

1.【总结在上方思维导图中】

2.

Java ——运算符的更多相关文章

  1. Java笔记2-数据类型,变量,Java运算符

    我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...

  2. Java运算符优先级(转)

    转自:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 ...

  3. 【转】Java运算符优先级

    原文网址:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 ...

  4. java运算符优先级与流程控制

    1. Java 的方法Method (函数 Function), 功能, 动作 1) 方法就是函数: y=f(x)=3x+6; 2) 方法的语法   (修饰词)(返回值类型)(方法名)(参数列表){  ...

  5. Java基本语法-----java运算符的优先级与结合性

    这是本人以前的上学期间java 运算符这块知识的总结的,截图存到了word里,大家将就看下吧(不会用Markdown的表格 不然就在写一遍了 T T). [正在看本人博客的这位童鞋,我看你气度不凡,谈 ...

  6. Java 基本语法---Java运算符

    Java 基本语法---Java运算符 0. 概述 Java中的运算符主要分为以下几种: 算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符 其他运算符 1. 算术运算符 操作符 描 ...

  7. [转]Java 运算符的优先级

    Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...

  8. Java运算符使用总结(重点:自增自减、位运算和逻辑运算)

    Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...

  9. Java 运算符及优先级

    运算符 分割符: , ; [] () 算数运算符: + - * / % ++ -- 关系运算符: > < >= <= == != 逻辑运算符: ! & | ^ & ...

  10. 【java基础】Java运算符优先级

    Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右   [ ] 方括号 从左到右   2 + 正号 从右到左 单目 - 负号 ...

随机推荐

  1. 解决deepin没有ll等命令的办法

    编辑~/.bashrc, 添加alias 如下 vim ~/.bashrc 设置别名. 添加如下行 alias ll='ls -alF' alias la='ls -A' alias vi='vim' ...

  2. yum 报错2

    Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 打开/etc/yu ...

  3. 跨平台信息获取小工具第三版本(增加了继承、多线程、异常处理模块、excel表格内容剔除空格)

    # coding=utf-8 import threadingimport paramikoimport osimport timeimport xlrdimport xlwtimport openp ...

  4. JVM基础——面试、笔试

    1.java内存与内存溢出 1.1 JVM分为哪些区,每一个区干嘛的?(见java虚拟机38页) (1)程序计数器(线程私有) 当前线程执行字节码的信号指示器.(每个线程都会在程序计数器中存储其指令, ...

  5. 【shell】sed处理多行合并

    有这么一个题 文件格式 table=t1 name owner address table=t2 id text col1 comment col5 table=t3 prod_name price ...

  6. The Preliminary Contest for ICPC Asia Shanghai 2019 J. Stone game

    题目:https://nanti.jisuanke.com/t/41420 思路:当a(a∈S′)为最小值 如果Sum(S′)−a≤Sum(S−S′)成立 那么(∀t∈S′,Sum(S′)−t≤Sum ...

  7. linux 配置内网yum源

    一.yum服务器端配置1.安装FTP软件#yum install vsftpd #service vsftpd start#chkconfig --add vsftpd#chkconfig vsftp ...

  8. node 的CommonJS的引入

    1.CommonJS 每个文件是一个模块,有自己的作用域 引入:

  9. C++ -- 类与成员

    一.初始化列表 1.是构造函数中一种成员的初始化方式   例如,class    类名 { 类名(参数列表):成员1(成员1),成员2(成员2)... {   } } 2.用此方法可以解决类中的成员与 ...

  10. (WCF) There is already a listener on IP endpoint 0.0.0.0:9999.

    有個nettcpbinding, service host總是不能起來,出現如題錯誤. 查了下,同樣的程序并沒有在進程裏面,但是看起來好像有其他的程序在占用這個Port C:\Program File ...