Java入门(四):运算符优先级、关键字与保留字
上次介绍了Java的运算符,今天来介绍下运算符的优先级,以及Java的关键字、保留字。
一、运算符优先级
|
序号 |
运算符 |
名称 |
目数 |
结合性 |
说明 |
|
1 |
[ ] |
方括号 |
从左向右 |
优先级最高 |
|
|
. |
点号 |
双目 |
|||
|
( ) |
圆括号 |
||||
|
2 |
! |
逻辑非运算 |
单目 |
从右向左 |
|
|
~ |
按位非运算 |
单目 |
|||
|
++ |
自增 |
单目 |
|||
|
-- |
自减 |
单目 |
|||
|
+ |
正号 |
单目 |
|||
|
- |
负号 |
单目 |
|||
|
( ) |
强制类型转换 |
||||
|
new |
new关键字 |
||||
|
3 |
* |
乘号 |
双目 |
从左向右 |
算术运算符 |
|
/ |
除号 |
||||
|
% |
取余 |
||||
|
4 |
+ |
加号 |
双目 |
从左向右 |
算术运算符 |
|
- |
减号 |
||||
|
5 |
<< |
带符号左移位运算 |
双目 |
从左向右 |
位运算符 |
|
>> |
带符号右移位运算 |
||||
|
>>> |
无符号右移运算 |
||||
|
6 |
< |
小于 |
双目 |
从左向右 |
关系运算符 |
|
<= |
小于等于 |
双目 |
|||
|
> |
大于 |
双目 |
|||
|
>= |
大于等于 |
双目 |
|||
|
instanceof |
对象是否为特定类的实例 |
双目 |
|||
|
7 |
== |
关系等于运算 |
双目 |
从左向右 |
关系运算符 |
|
!= |
关系不等于运算 |
双目 |
从左向右 |
||
|
8 |
& |
按位与运算 |
双目 |
从左向右 |
位运算符 |
|
9 |
^ |
按位异或运算 |
双目 |
从左向右 |
|
|
10 |
| |
按位或运算 |
双目 |
从左向右 |
|
|
11 |
&& |
逻辑与运算 |
双目 |
从左向右 |
逻辑运算符 |
|
12 |
|| |
逻辑或运算 |
双目 |
从左向右 |
|
|
13 |
? : |
三目运算 |
三目 |
从右向左 |
|
|
14 |
= |
赋值运算 |
双目 |
从右向左 |
优先级最低 |
|
+= |
混合赋值运算符 |
||||
|
-= |
|||||
|
*= |
|||||
|
/= |
|||||
|
%= |
|||||
|
&= |
|||||
|
|= |
|||||
|
^= |
|||||
|
<<= |
|||||
|
>>= |
|||||
|
>>>= |
下面用代码来介绍下从右向左计算。
package javalearningday03; /**
*
* @author 小川94
* @date 2018年1月28日
*/
public class JavaOperationPriority { public static void main(String[] args) {
testMethod();
} /**
* 由右向左计算,在进行运算代码编写时,建议加上括号区分层级性,增加可读性,同时方便后期维护
*/
public static void testMethod() {
// 右结合运算:运算符右边是否连接变量
// -n++,-号右边连接变量n,++右边没有连接变量,先算-号,再算++
int n = 5;
int m = -n++; //后加加是先算整体,(-n)++为-5
System.out.println(m); // m = -5
System.out.println(n); // n = 6 // ++右边连接变量i,先计算++i,再计算-(++i)
int i = 5;
int k = -++i;
System.out.println(i); // i = 6
System.out.println(k); // k = -6 int a = 5;
int b = -8-++a;
System.out.println(a); //
System.out.println(b); // -14 int c = 5;
int d = c<<=2; //c=c<<2; d = c
System.out.println(c); //
System.out.println(d); //
}
}
二、Java关键字和保留字
|
序号 |
关键字 |
含义 |
|
1 |
abstract |
修饰类、方法,成为抽象类、抽象方法 |
|
2 |
assert |
用来查找内部程序错误 |
|
3 |
boolean |
基本数据类型之一,布尔类型 |
|
4 |
break |
跳出一个switch或结束一个循环 |
|
5 |
byte |
基本数据类型之一,8位整型 |
|
6 |
case |
switch语句的一个分支 |
|
7 |
catch |
捕获异常的try块子句 |
|
8 |
char |
基本数据类型之一,字符型 |
|
9 |
class |
定义一个类 |
|
10 |
const |
未使用 |
|
11 |
continue |
跳过continue语句后面的循环部分,进入下一次循环 |
|
12 |
default |
switch的缺省子句 |
|
13 |
do |
do/while循环最前面的语句 |
|
14 |
double |
基本数据类型之一,双精度浮点数 |
|
15 |
else |
if语句的else子句 |
|
16 |
enum |
枚举类型 |
|
17 |
extends |
表明一个类型是另一个类型的子类型 |
|
18 |
final |
一个常量,或不能覆盖的一个类或非法 |
|
19 |
finally |
try语句块中总会执行的部分 |
|
20 |
float |
基本数据类型之一,单精度浮点数 |
|
21 |
for |
一种循环类型 |
|
22 |
goto |
未使用 |
|
23 |
if |
一个条件语句 |
|
24 |
implements |
定义一个类实现的接口 |
|
25 |
import |
导入一个包 |
|
26 |
instanceof |
判断一个对象是否为一个类的实例 |
|
27 |
int |
基本数据类型之一,32位整型 |
|
28 |
interface |
一种抽象类型,其中包含可以由类实现的方法 |
|
29 |
long |
基本数据类型之一,64位长整型 |
|
30 |
native |
用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
|
31 |
new |
用来创建新的实例对象 |
|
32 |
null |
一个空引用 |
|
33 |
package |
包含类的一个包 |
|
34 |
private |
一种访问控制方式,私有模式,只能由该类的方法访问 |
|
35 |
protected |
一种访问控制方式,保护模式,只能由该类、其子类和同包类的方法访问 |
|
36 |
public |
一种访问控制方式,共有模式,所有类的方法都可以访问 |
|
37 |
return |
从一个方法返回 |
|
38 |
short |
基本数据类型之一,16位短整型 |
|
39 |
static |
表明具有静态属性,属于类,不属于类的对象 |
|
40 |
strictfp |
对浮点数计算使用严格的规则 |
|
41 |
super |
超类对象或构造函数 |
|
42 |
switch |
一个选择语句 |
|
43 |
synchronized |
对线程而言是原子的方法或代码块 |
|
44 |
this |
当前类的一个方法或构造函数的隐含参数 |
|
45 |
throw |
抛出一个异常 |
|
46 |
throws |
一个方法可能抛出的异常 |
|
47 |
transient |
标志非永久的数据 |
|
48 |
try |
捕获异常的代码块 |
|
49 |
void |
修饰方法,表示无返回值 |
|
50 |
volatile |
确保一个字段可以由多个线程访问 |
|
51 |
while |
一种循环 |
|
|
||
|
52 |
true |
不是关键字,是字面量,但是依旧不能当做变量名使用,属于保留字 |
|
53 |
false |
文章首发于我的个人公众号:悦乐书。喜欢分享一路上听过的歌,看过的电影,读过的书,敲过的代码,深夜的沉思。期待你的关注!

公众号后台输入关键字“Java学习电子书”,即可获得12本Java学习相关的电子书资源,如果经济能力允许,还请支持图书作者的纸质正版书籍,创作不易。
Java入门(四):运算符优先级、关键字与保留字的更多相关文章
- java表达式中运算符优先级
运算符优先级:运算符*和/(以及%)的优先级高于+和-(优先级越高,越早运算) 在逻辑运算符中,!拥有最高优先级,之后是&&,接下来是||. 一般来说,相同优先级的运算符的运算顺序是从 ...
- java中的标识符、关键字、保留字
Java中关键字(keyword)和保留字(reservedword) Keyword :Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等. Reserv ...
- 针对安卓java入门:运算符和表达式
逻辑运算符 &&和&判断是一样的,区别在于过程,&会把整个过程算一遍,&&一旦碰到false就不会往下
- js运算符、关键字、保留字、转义字符
- Java 之常用运算符(3)
什么是运算符: 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java 语言中常用 ...
- [Python3 填坑] 003 关键字?保留字?预留字?
目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 网上搜索 2.3 结论 2.4 后记 1. print( 坑的信息 ) 挖坑时间:2019/01/04 明细 坑的编 ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- 1.Java关键字和保留字
关键字和保留字 http://www.cnblogs.com/wwxbi/p/4292170.html 访问控制 private protected public 类,方法和变量修饰符 abstrac ...
- java SE 入门之运算符(第三篇)
在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...
随机推荐
- SpringBoot学习(七)-->SpringBoot在web开发中的配置
SpringBoot在web开发中的配置 Web开发的自动配置类:在Maven Dependencies-->spring-boot-1.5.2.RELEASE.jar-->org.spr ...
- 《C#并发编程经典实例》学习笔记-关于并发编程的几个误解
误解一:并发就是多线程 实际上多线程只是并发编程的一种形式,在C#中还有很多更实用.更方便的并发编程技术,包括异步编程.并行编程.TPL 数据流.响应式编程等. 误解二:只有大型服务器程序才需要考虑并 ...
- .net 公共基础类
using WL.Infrastructure.Http; using System; using System.Collections.Generic; using System.IO; using ...
- 49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)
本章学习内容: 1.WIFI如何开启 2.扫描热点 3.连接热点 4. 断开热点 5.关闭WIFI 本节使用的是wpa_supplicant工具,它主要包含wpa_supplicant(命令行模式)与 ...
- Netty实战十一之预置的ChannelHandler和编解码器
Netty为许多通用协议提供了编解码器和处理器,几乎可以开箱即用,这减少了你在那些相当繁琐的事务上本来会花费的时间与精力.我们将探讨这些工具以及它们所带来的好处,其中包括Netty对于SSL/TLS和 ...
- [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数
[js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...
- memcached 源码阅览 一
想要快速了解memcached内部原理么?那么赶紧离开本页,这会耽误您的时间. 不知时隔多少时间,今天受了些刺激,在码农路上开始犹豫起来,但是想想自己也没其他本身,就只好放下王者荣耀,重新看看技术内容 ...
- Laravel 系列入门教程(四)【最适合中国人的 Laravel 教程】
本篇文章中,我将跟大家一起实现 Article 的新增.编辑和删除功能,仔细解读每一段代码,相信本篇文章看完,你就能够 get Laravel 使用之道. RESTful 资源控制器 资源控制器是 L ...
- adb for mac
1.Install homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...
- angular select2 ng-model 取值 ng-change调用方法
页面: 引入文件 '/select2.css', '/select2-bootstrap.css', '/select2.min.js', '/ui-select2.js' html: <div ...