一篇文章带你入门Java运算符
运算符时一种特殊的符号,用以表示数据的运算,赋值和比较等。
- 算数运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 三元运算符
算数运算符(Arithmetic operator)
算数运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多。
算数运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +7 | 7 |
- | 负号 | b=11;-b | -11 |
+ | 加 | 9+9 | 18 |
- | 减 | 10-8 | 2 |
* | 乘 | 7*8 | 56 |
/ | 除 | 9/9 | 1 |
% | 取模(取余) | 11%9 | 2 |
++ | 自增(前):先运算后取值 | a=2;b=++a; | a=3;b=3 |
++ | 自减(后):先取值后运算 | a=2;b=a++; | a=3;b=2 |
- - | 自增(前):先运算后取值 | a=2;b=--a; | a=1;b=1 |
- - | 自减(后):先取值后运算 | a=2;b=a--; | a=1;b=2 |
+ | 字符串相加 | "hsp"+"edu" | "hsp edu" |
关系运算符(Relational operator)
- 关系运算符的结果都是boolean型,也就是要么是true,要么是false。
- 关系表达式经常用在if结构的条件中或循环结构的条件中。
关系运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 8==7 | false |
!= | 不等于 | 8!=7 | true |
< | 小于 | 8<7 | false |
> | 大于 | 8>7 | true |
<= | 小于等于 | 8<=7 | false |
>= | 大于等于 | 8>=7 | true |
instanceof | 检查是否是类的对象 | "hsp" instanceof String | true |
逻辑运算符(Logical operator)
用于连接多个条件(多个关系表达式)。最终的结果也是一个boolean值。
逻辑运算符
- 短路与&&,短路或||,取反!。
- 逻辑与&,逻辑或|,^逻辑异或。
a | b | a&b | a&&b | a|b | a||b | !a | a^b |
---|---|---|---|---|---|---|---|
true | true | true | true | true | true | true | true |
true | false | false | false | true | true | false | true |
false | true | false | false | true | true | true | true |
false | false | false | false | false | false | true | false |
- a&b:&叫逻辑与:规则:当a和b同时为true,则结果为true,否则为false。
- a&&b:&&叫短路与:规则:当a和b同时为true,则结果为true,否则为false。
- a|b:|叫逻辑或:规则:当a和b,有一个为true,则结果为true,否则为false。
- a||b:||叫短路或:规则:当a和b同时为true,则结果为true没否则为false。
- !a:叫取反(非运算):当a为true,则结果为false,当a为false时,结果为true。
- a^b:叫逻辑异或:当a和b不同时,则结果为true,否则为false。
赋值运算符(Assignment Operators)
赋值运算符就是将某个运算后的值,赋给指定的变量。
基本赋值运算符:= , int a =10;。
符合赋值运算符:+= , -= , *= , /= , %=等。
赋值运算符特点
1.运算顺序从右往左,int num = a + b + c;
2.赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值 ,int num = 20; int num2 = 78*34 - 10; int num3 = a;
3.复合赋值运算符等价于下面的效果
比如:a+=3;等价于a=a+3;
4.复合赋值运算符会进行类型转换
byte b = 2; b+=3;b++;
三元运算符(Ternary operator)
条件表达式?表达式1:表达式2;
1.如果条件表达式为true,运算后的结果是表达式1;
2.如果条件表达式为false,运算后的结果是表达式2;
口诀:[一真]
使用细节
1.表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)。
2.三元运算符可以转换成if else语句。
运算符优先级
1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
2.只有单目运算符,赋值运算是从右向左运算的。
运行左右顺序 | 运行顺序 |
---|---|
R――>L | . () {} ; , |
L――>R | ++ -- ~ !(data type) |
L――>R | * / % |
L――>R | + - |
L――>R | << >> >>> 位移 |
L――>R | < > <= >= instanceof |
L――>R | == != |
L――>R | & |
L――>R | ^ |
L――>R | | |
L――>R | && |
L――>R | || |
L――>R | ? : |
R――>L | = *= /= %= |
+= -= <<= >>= | |
/>>>= &= ^= |= |
标识符的命名规则和规范
标识符概念
- Java对各种变量,方法和类等命名时使用的字符序列称为标识符。
- 凡是自己可以起名字的地方都叫标识符 int num1 = 90;。
标识符的命名规则(必须遵守)
- 由26个名文字母大小写,0-9,_或$组成。
- 数字不可以开头,int 3ab = 1;。
- 不可以使用关键字和保留字,但包含关键字和保留字。
- Java中严格区分大小写,长度无限制。 int totalNum = 10; int n = 90;。
- 标识符不能包含空格。int a b = 90;。
标识符命名规范
1.包名:多单词组成时所有字母都小写: aaa.bbb.ccc //比如com.hsp.crm
2.类名、接口名:多单词组成时,所有单词的首字母大写: XxxYyyZzz
比如:TankShotGame
3.变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个
单词首字母大写: xxxYyyZzz 比如: tankShotGame
4.常量名:所有字母都大写。多单词时每个单词用下划线连接: XXX YYY ZZZ
比如:定义一个所得税率TAX RATE
5.后面我们学习到类,包,接口,等时,我们的命名规范要这样遵守,更加详细的 看文档.
关键字定义和特点
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。
特点:关键字中所有字母都为小写。
用于定义数据类型的关键字
用于定义数据类型的关键字 |
||||
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void | |||
用于定义数据类型值的关键字 | ||||
true | false | null | ||
用于定义流程控制的关键字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return | ||||
用于定义访问权限修饰的关键字 | ||||
private | protected | public | ||
用于定义类,函数,变量修饰的关键字 | ||||
abstract | final | static | synchronized | |
用于定义类与类之间关系的关键字 | ||||
extends | implements | |||
用于定义建立实例及引用实例,判断实例的关键字 | ||||
new | this | super | instanceof | |
用于异常处理的关键字 | ||||
try | catch | finally | throw | throws |
用于包的关键字 | ||||
package | import | |||
其他修饰符的关键字 | ||||
native | strictfp | transient | volatile | assert |
保留字
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字:
byValue
、cast
、 future
、generic
、 inner
、 operator
、 outer
、rest
、var
、goto
、const
。
总结
上一篇:Java全面解析IO流相关知识
栏 目:JAVA代码
下一篇:java返回集合为null还是空集合及空集合的三种写法小结
本文标题:一篇文章带你入门Java运算符
本文地址:http://www.codeinn.net/misctech/218087.html