运算符:

  • 算术运算符: 加减乘除求余 + , - , * , / , %

当参与/运算的两个操作数都是整数时, 表示整数除法, 否则表示浮点除法.
例: 15 / 2 = 7; 15 % 2 = 1; 15.0 / 2 = 7.5
整数被0除会产生一个异常, 浮点数被0除将会得到无穷大或NaN结果.

  • 二元运算符:+=, *=,  %=

x += 4 等价于 x = x + 4 (通常将运算符放在赋值号的左侧, 如*=, %=)

  • 自增运算符和自减运算符:

int n = 12;
n++; 后缀方式先运算在加1
++n; 前缀方式先进行加1再运算

  • 关系运算符与boolean运算符

== , != , > , < , >= , <= , && , || , ! , ?:
&&与||是按照短路的方式

  • 位运算符(暂时看不懂!!):

& , | , ^ , ~ , >> , <<
&与|不按照短路的方式, 必须计算两个操作数的值.
^: 异或
~: 非
>> , <<: 移位运算符

运算符优先级:

    运算符                         结合性
  [].() (方法调用)                     从左向右
  ! ~ +(正) -(负) ~ ++ -- ()(强制类型转换) new          从右向左
  * / %                          从左向右
  +(加) -(减)                       从左向右
  << >> >>>                       从左向右
  < <= > >= instanceof                    从左向右
  == !=                          从左向右
  &(按位与)                        从左向右
  ^                            从左向右
  |                             从左向右
  &&                            从左向右
  ||                            从左向右
  ?:                           从右向左
  = += -= *= /= %= &= |= ^= <<= >>= >>>=            从右向左

    && 优先级高于||:
      a && b || c 等价于 (a && b) || c
    += 是右结合运算符所以:
      a += b += c 等价于 a += (b += c) // 将c加到b上之后, 再将b加到a上

taps:
  1. 优先级是从高到低书写的
  2. 结合性是元素安抚结合的顺序, 通常从左到右. 从右向左指符合与运算符右侧的内容结合.
  3. instanceof是判断对象是否为某个类或接口类型
  4. 对于不太清除的优先级, 可以使用小括号去书写, 也便于阅读.

java笔记 -- java运算的更多相关文章

  1. Java 笔记 —— java 和 javac

    Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...

  2. java笔记——Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  3. Java笔记--java一行一行写入或读取数据

    转自 Ruthless java一行一行写入或读取数据 链接:http://www.cnblogs.com/linjiqin/archive/2011/03/23/1992250.html 假如E:/ ...

  4. Java笔记--Java的List、Iterator用法

    1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ...

  5. java笔记 -- java字符串

    概念: Java字符串就是Unicode字符序列, Java没有内置的字符串类型, 而是在标准Java类库中提供了一个预定义类. 每个用双引号括起来的字符串都是String类的一个实例.String ...

  6. java笔记 -- java变量与常量的声明

    变量: 在Java中, 每一个变量属于一种类型. double salary int vacationDays; long earthPopulation; boolean done; 命名: 以字母 ...

  7. java笔记 -- java数据类型与类型转换

    Java是一种强类型语言, 这就意味着必须为每一个变量声明一种类型. Java中一共有8中基本类型: 4种整型: 整型: 用于表示没有小数部分的数值, 允许为负数 类型 存储需求 取值范围 int: ...

  8. java笔记 -- java简单结构代码解析及注释

    结构代码解析 public class FirstSample { public static void main(String[] args) { System.out.println(2.0-1. ...

  9. Think in Java笔记——Java与对象

    最近在重新学习Java,在阅读Java的经典著作——Java编程思想,因此每天记录阅读的心得. 当听到Java这个词时,大家一般想到的是面向对象,确实Java相对于C/C++这两门语言来说,Java最 ...

随机推荐

  1. MSSQL:查看所有触发器信息的命令

    转自:http://www.2cto.com/database/201307/228708.html 编写程序,有时或为了偷懒,或为更简单地实现所需功能,使用了触发器.这可是把双刃剑,用得不好,程序出 ...

  2. adjacent_diffenerce

    版本1: template <class InputIterator,class OutputIterator> OutputIterator adjacent_diffenerce(In ...

  3. Linux命令 umask

    umask: 文件预设权限 指定当前用户在创建文件或目录时的权限默认值. $ umask0002$ umask -Su=rwx,g=rwx,o=rx 创建文件时,预设没有x 权限,即只有rw 权限,最 ...

  4. MongoDB分片集群原理、搭建及测试详解

    随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...

  5. RoR - MetaProgramming

    ruby是动态语言,它有动态语言的优势与劣势 动态语言,像python与ruby 你不用提前去定义method - they need to only be "found" whe ...

  6. vmvare安装vmtools菜单灰色

    光驱和各种驱动器改为自动检测 将vmvaretools.gz文件解压 tar xvf vm...gz 然后进程解压目录运行 sudo ./vmware-install.pl 然后重启 reboot 这 ...

  7. typescript 01 认识ts和ts的类型

    看ITYING ts专辑(前三集总结) TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.TypeScript 扩展了 JavaScript 的语法.TypeS ...

  8. word之高级

    1.更正拼写和语法错误. 2.取消自动编号. 3.添加删除水印. 4.段落设置首行缩进2个字符. 需要先选中需要设置的段落 5.文字覆盖. insert键切换插入与改写功能.修改word状态栏上的改写 ...

  9. 解决wine中文字体方块或乱码

    从Windows使用字体 如果有一个安装了Windows的分区, 可以通过链接它们来使用其字体. 例如, Windows的C:\盘被挂载在/windows: # ln -s /windows/Wind ...

  10. POJ 2154 color (polya + 欧拉优化)

    Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). You ...