算术运算符

  加减乘除(+、-、*、/)就不说了。

求余运算符%

  描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数

  注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可能是小数。

  

double a = 5.2;
double b = 3.1;
double mod = a%b;
System.out.println(mod);//值为2.1

自增运算符++

  自增运算符++有两个要点:

  1. ++是单目运算符只能操作一个操作数
  2. ++只能操作在数值型(整数、浮点型)的变量上

  自增运算符有两种用法:

  1. 在操作数前面,表示先将操作数加1,再参与其它运算
  2. 在操作数后面,表示先参与其它运算,最后将操作数加1
        int a = 1;
a++;
System.out.println(a);//值为2 double b = 5.2;
b++;
System.out.println(b);//值为6.2 int c = ++a*4;
System.out.println(c); //值为12,因为a本为2,先加1然后乘4
int d = a++*4;
System.out.println(d); //值为12,因为a本为3,先乘4,赋值给d,a再加1

自减运算符--

  用法和自增运算符差不多,只是将操作数减1

        double b =1.2;
b--;
System.out.println(b); //0.19999999999999996,因为Java本身的double不精确 int a = 5;
int c = --a*5;
System.out.println(c); // int d = c--*5;
System.out.println(d); //

位运算符

  位运算符是对操作数的二进制数据进行运算的,所以要得到正确结果,得先将数据化成二进制才明白。

  Java中有7中位运算符:

  • &:按位与,双目运算符,对两个操作数的二进制进行运算,当两位同时为1才返回1
  • |:按位或,双目运算符只要有一位为1,即返回1
  • ~:按位非,单目运算符,将操作数的二进制数的每个位取反,即1变0,0变1
  • ^:按位异或,双目运算符,当两位相同则返回0,不同返回1
  • <<:左移运算符,单目运算符,移n位,相当于乘以2n
  • >>:右移运算符,单目运算符,移n位,相当于除以2n
  • >>>:无符号右移,单目运算符
        int a = 8;
int c = a<<2;
System.out.println(a); //8,左移和右移对变量本身不改变
System.out.println(c); //32,相当于乘以2的2次方

比较运算符

  比较运算符用于判断两个变量或常亮的大小,比较结果是一个布尔值(true或false),Java中的比较运算符:

  • >:大于
  • >=:大于等于
  • <:小于
  • <=:小于等于
  • ==:等于
  • !=:不等于

逻辑运算符

  逻辑运算符用于操作两个布尔值的变量或常量,结果是布尔值,逻辑运算符主要有6种:

  • &&:与,双目运算符,两个操作数都是true时,才为true,否则为false
  • &不短路与,当操作数是布尔值时。作用与&&相同,但不会短路
  • ||:或,双目运算符,只要操作数中有一个是true,则返回true
  • |不短路或,当操作数是布尔值时。作用与||相同,但不会短路
  • !:非,单目操作数,取反
  • ^:异或,双目操作数,当两个操作数不同时返回true,否则返回false

三目运算符

  Java中只有一个三目运算符: ? :  。格式如下:

  result = (expression) ? result1 : result2;

  当表达式expression的结果为true时,返回result1,否则返回result2。

        int a = 5;
int b = 3;
int c = a > b ? a:b;
System.out.println(c); // 5,若a>b为true,返回a,否则返回b

Java学习笔记四——运算符的更多相关文章

  1. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  2. (C/C++学习笔记) 四. 运算符

    四. 运算符 运算符优先级和结合性 Operator precedence and associativity (or fixity) 注意: ① 成员运算符MemberOperators可以称为点运 ...

  3. 【原】Java学习笔记004 - 运算符

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 运算符:对常量 或 ...

  4. Java学习笔记四:Java的八种基本数据类型

    Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...

  5. Java 学习笔记 (四) Java 语句优化

    这个问题是从headfirst java看到的. 需求: 一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法. 下面两段程序的优缺点,哪个占用内存更少. 第一段: Contact[]c ...

  6. Java学习笔记四:三目运算符与字符串连接符等

    一 .三目运算符与自增自减 GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac02.java 条件运算符由 ...

  7. Java学习笔记四

    1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程 ...

  8. 面向对象三大特征之封装与static——(Java学习笔记四)

    面向对象     编程本质:以类的方式组织代码,以对象的方式组织(封装)数据 对象:具体的事物,某个类的对象(实例) 类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念 对象和类的关系:特殊到一 ...

  9. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

随机推荐

  1. ---JS canvas学习笔记

    context的fillStyle属性 fillStyle=color | gradient | image | canvas |video strokeStyle也有上述属性. 1.color:#f ...

  2. 利用Unity制作“表”

    一枚小菜鸟   目前没发现在Unity有其他路径制作类似于c# WinForm中的表:但是利用Unity自带的UGUI,制作了一张"伪表",具体方案如下: 效果图如下: 步骤: 1 ...

  3. centos从日志文件查找关键字的日志并生成文件

    grep "unset user wechat user_id:" app* | tee wechat_log

  4. GPU高性能计算-CUDA

    前段时间有个同学的毕设是搞并行计算的,他基本不懂编程把我拉过去帮忙,我之前也没弄过,帮着搞了2天.先把代码贴上去,等有时间在把详细补充一些内容. CUDA编程主要是利用了显卡优越的并行计算能力,把一个 ...

  5. 总结下用Vue.js和webpack遇到的问题

    这段时间用vue.js+webpack做一个单页应用的demo,第一次尝试模块化,技术水平有限,学习不够深入,总是遇到各种问题,所谓前事不忘后事之师,so记录下. 1.ES6匿名函数里面this值 结 ...

  6. PHP正则表达式 /i, /is, /s, /isU等

    PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢? i 匹配大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义的或在字符类中的以外完 ...

  7. FIFO

    FIFO存储器 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序 ...

  8. ue4 FPaths各目录

    GetWrappedLaunchDir() 启动时的工作目录,因为马上要把工作目录改为下面所说的exe所在目录,所以会先把当前的缓存起来 FPlatformProcess::BaseDir() 这个是 ...

  9. TCP/IP协议和HTTP协议 浩哥指教

    TCP和IP在HTTP协议的上层,HTTP算是应用层,IP协议建立的是电脑跟电脑之间的联系,具体过程是,物理上,通过网线,解析MAC地址,到达路由,路由告诉数据将要去哪里,对方电脑通过NDS解析,解析 ...

  10. 用datagrid实现完整的一个页面

    打怪升级真的好难,记录一点一滴,一滴一点,先上效果图. 1.想完成一个界面,先得有界面.界面是在WebRoot下的根目录文件中新建的zjqktj.jsp中建立的,再通过java在后台调用数据库取出数据 ...