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 ...
随机推荐
- 设计模式之模板方法模式(Template)
一.介绍 模板方法模式是编程中经常用到的模式.它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现.这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤. 二.场景举例 当一 ...
- Windows远程桌面,出现身份验证错误,要求的函数不正确
升级windows10 1803后,mstsc远程桌面出现 mstsc 远程桌面要求的函数不受支持,这可能是由于 CredSSP 加密 Oracle 修正.如图所示: 运行(win+r) gpedit ...
- 基于FPGA的HDMI显示设计(三)
上一篇:基于FPGA的VGA显示设计(二) 10月10日 ~ 20日期间实习,令我万万没想到的是实习题目是 “便携式高清电视显示屏测试系统原型设计” 也就是 “基于FPGA的视频显示”. 实习要求用 ...
- python功能
1.前端使用ajax 项目名字/views.py from django.shortcuts import render from django.http import JsonResponse fr ...
- ZT C++关键字new学习
http://blog.csdn.net/waken_ma/article/details/4007914 C++关键字new学习 很多新手对C++关键字new可能不是很了解吧,今天我一起来学习一下. ...
- 在浏览器里使用SAPGUI里的SE80
效果如图:点击Fiori launchpad的SE80对应的tile: 即可在浏览器里打开SE80 具体步骤 (1). 在后台找到Fiori catalog page ID: SAP_FIORI_EX ...
- Jupyter notebook远程访问linux服务器
[转]https://blog.csdn.net/akon_wang_hkbu/article/details/78973366
- Codeforces 7C 扩展欧几里得
扩展欧几里得是计算 ax + by = gcd(a,b) 的 x,y的整数解. 现在是ax + by + c = 0; 只要 -c 是 gcd(a,b) 的整数倍时有整数解,整数解是 x = x*(- ...
- Git使用02--branch分支, tag版本, 忽略文件 .gitingore
一.分支 # 查看分支 git branch # 创建分支 git branch 分支名 # 切换分支 git checkout name # 创建并切换分支 git checkout -b name ...
- 学习Apache的mod rewrite、access写法
Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和 ...