Java学习笔记五:Java中常用的运算符
Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。
Java 语言中常用的运算符可分为如下几种:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 条件运算符
一:Java中的算术运算符;

其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同的
例如;

代码如下:
public class HelloWorld {
public static void main(String []args) {
int a=2;
int b=++a;//++a 先让a自增,然后将值赋给变量;
System.out.println("a:"+a);
System.out.println("b:"+b);
int c=2;
int d=c++;//c++ 先将c的值赋给d,然后再执行自增;
System.out.println("c:"+c);
System.out.println("d:"+d);
}
}
运行结果为;

解析:b=++a;先处理++a,a自增1并赋值给a,a=6;再处理赋值,b=a
而d=c++;先处理赋值,先将c赋给d,d=c,然后执行自增1
二:Java中的赋值运算符;
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
Java 支持的常用赋值运算符,如下表所示:

三:Java中的比较运算符;
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
Java 中常用的比较运算符如下表所示:

注:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
四:Java中的逻辑运算符;
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

这里需要注意的是,逻辑运算符比较的对象元素可以是值,变量或是条件,当比较的元素为值时,0代表false,其他非零值代表true。
例如:

代码如下:
public class HelloWorld {
public static void main(String []args) {
boolean a=true;
boolean b=false;
boolean c=true;
System.out.println(a&&b);
System.out.println(a||b);
System.out.println(!a);
System.out.println(a^b);
System.out.println(a^c);
}
}
运行结果为:

注:逻辑运算符的‘||’在做比较时,是先判断左边的元素是否为true,当其为true时,直接返回true,不会继续判断右边了,同理,'&&'如果可以判断左边的元素为false,则直接返回false,不继续向下判断。
五:Java中的条件运算符;
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例如:

代码如下:
public class HelloWorld {
public static void main(String []args) {
String str = (5>1)? "5大于1" : "5不大于1";
System.out.println(str);
}
}
运行结果为:

注:因为表达式 5>1 的值为 true ,所以返回: 5大于1
六:Java中运算符的优先级;
所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 5 + 3 * 2 得到的结果是 11 “先乘后加”嘛!
注:其实没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。因为小括号优先级最高。
例如:

代码如下:
public class HelloWorld {
public static void main(String []args) {
int a =10;
int b = a*(a+18);
System.out.println("b:"+b);
}
}
运行结果为:

解析:因为括号优先级最高所以先算a+18 再算 a*28.
Java学习笔记五:Java中常用的运算符的更多相关文章
- Java 学习笔记 (五) Java Compile\Build\Make的区别
以下内容引自: http://blog.51cto.com/lavasoft/436216 Compile.Make和Build的区别 原创leizhimin2010-11-30 11:30:20评论 ...
- Java学习笔记十:Java的数组以及操作数组
Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元 ...
- Java 学习笔记(4)——java 常见类
上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...
- java 学习笔记1 java语言概述及开发环境
高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...
- JAVA学习笔记之JAVA 对象引用以及赋值
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ...
- 8.4(Java学习笔记)java脚本引擎(Rhino)
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...
- Java学习笔记之—Java基础
将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- Java 学习笔记 (三) Java 日期类型
以下内容摘自: https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...
随机推荐
- Flask入门模板过滤器与测试器(五)
1 模板引擎之过滤器 概念 : 过滤器本质上是个转换函数,第一个参数是待过滤的变量.如果它有第二个参数,模板中就必须传进去. 过滤器使用管道符| 放在{{ }} Jinja2模板引擎提供了丰富的内置过 ...
- 6.Zabbix 3.0 MySQL 监控
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=94cd760a4848939d33892b7464cc0401&sub=8B6EDD27671 ...
- libxml2用xpath进行查找
xml文档 <?xml version="1.0" encoding="UTF-8"?> <radios> <radio> ...
- 设计模式——抽象工厂模式(AbstractFactoryPattern)
抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类. UML图: IFactory: package com.cnblog.clarck ...
- csu 1965
Description You are a boss who has N employers. One day, you have a message and you want to tell it ...
- 【转】Android Activity原理以及其子类描述,androidactivity
Android Activity原理以及其子类描述,androidactivity 简介 Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实 ...
- python 3+djanjo 2.0.7简单学习(五)--Django投票应用
1.编写一个简单的表单 编写的投票详细页面的模板 ("votes/detail.html") ,让它包含一个 HTML <form> 元素: <!DOCTYPE ...
- 【洛谷P2447】[SDOI2010]外星千足虫
外星千足虫 题目链接 首先,它一看题解就是个高斯消元 只是改成了奇偶性的判断 性质: 奇数+奇数=偶数 奇数+偶数=奇数 偶数+奇数=奇数 偶数+偶数=偶数 于是我们用1表示奇数,0表示偶数 1+1= ...
- ContentProvider 、 ContentResolver 、 ContentObserver
说说ContentProvider . ContentResolver . ContentObserver 之间的关系**a. ContentProvider 内容提供者,用于对外提供数据 b. Co ...
- LeetCode16.最接近的三数之和 JavaScript
给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如,给定数 ...