Java学习笔记四——运算符
算术运算符
加减乘除(+、-、*、/)就不说了。
求余运算符%
描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数
注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可能是小数。
double a = 5.2;
double b = 3.1;
double mod = a%b;
System.out.println(mod);//值为2.1
自增运算符++
自增运算符++有两个要点:
- ++是单目运算符只能操作一个操作数
- ++只能操作在数值型(整数、浮点型)的变量上
自增运算符有两种用法:
- 在操作数前面,表示先将操作数加1,再参与其它运算
- 在操作数后面,表示先参与其它运算,最后将操作数加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学习笔记四——运算符的更多相关文章
- Java学习笔记四---打包成双击可运行的jar文件
写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...
- (C/C++学习笔记) 四. 运算符
四. 运算符 运算符优先级和结合性 Operator precedence and associativity (or fixity) 注意: ① 成员运算符MemberOperators可以称为点运 ...
- 【原】Java学习笔记004 - 运算符
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 运算符:对常量 或 ...
- Java学习笔记四:Java的八种基本数据类型
Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...
- Java 学习笔记 (四) Java 语句优化
这个问题是从headfirst java看到的. 需求: 一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法. 下面两段程序的优缺点,哪个占用内存更少. 第一段: Contact[]c ...
- Java学习笔记四:三目运算符与字符串连接符等
一 .三目运算符与自增自减 GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac02.java 条件运算符由 ...
- Java学习笔记四
1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程 ...
- 面向对象三大特征之封装与static——(Java学习笔记四)
面向对象 编程本质:以类的方式组织代码,以对象的方式组织(封装)数据 对象:具体的事物,某个类的对象(实例) 类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念 对象和类的关系:特殊到一 ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
随机推荐
- 手把手教你用新浪云容器 Java 搭建自己的网站
经过一段时间的开发,更新,迭代,新浪云容器 Java 环境逐渐成熟起来,相比过去的 Java 运行环境,可用性和易用性都得到了大量的提升.同时也收到了不少用户反馈的使用问题,特此在这篇文章里综合介绍一 ...
- python 2.4 与 python 3.0 的比较
转过来,留着日后查看 [转自:]http://hi.baidu.com/autoitcn/blog/item/5f41973294b5fc4fac4b5f77.html python 2.4 与 py ...
- mybatis组合模糊+分页查询
//组合模糊查询就是这么简单 <select id="findAllJiemu" parameterType="java.util.Map" result ...
- python初学day01
1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...
- MYSQL-5.5二进制包安装
groupadd mysql 添加用户组 useradd mysql -s /sbin/nologin -g mysql -M 添加用户 mv mysql-5.5.54-linux2.6-x86_6 ...
- MSSQLSERVER服务无法启动的解决方案
MSSQLSERVER服务无法启动的解决方案 有时候sqlserver无法启动了,原因是mssqlserver服务没有启动,当你手动启动时,又出现服务无法响应的可恶错误提示... 笔者“有幸”遇到了, ...
- android:digits属性
android:digits属性限定输入的字符 可以用于密码输入等输入框 ex: 个人意见: 但是这样的话不符合要求的字符直接输入不上去,可能会给用户造成困惑,最好给出提示或用其他工具. 本文欢迎转载 ...
- 百度自动发贴,登录很顺利的模拟实现,但发贴攻关失败,能力有限,追JS过程中颇为痛苦
攻关失败,且短期内看不到希望,看不到方向,且越来越焦急,目前已知的是,用根据用户的鼠标事件以一定的规则结合其他数据,服务器以这些数据验证是否为真正的手动发贴. 不过闲暇时实现了百度贴吧的自动签到. 较 ...
- 关于delphi点击webbrowser中任意一点的问题
关于delphi点击webbrowser中任意一点的问题 有时候我们需要delphi载入webbrowser1打开网页的时候 需要点击某一个点的位置 可能是坐标 可能是按钮 可能是其他的控件应该如何来 ...
- QT5.2.1大BUG
本来以为5.2.1是release版本 谁知道编译某个程序,执行老是crash 换5.3.2就ok了. 坑啊