Java笔记之运算符(三)

一、运算符的介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
其分类如下:

  • 算术运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

二、常见的运算符

1、算术运算符

算术运算符是Java中对数值类型的变量进行基本运算的

运算符运算示例结果
++101
-a=10;-a10
-10+1020
-20-1010
*2*1020
/10/25
%求余3%21
++前自增a=1;b=++a;a=2;b=2
++后自增a=1;b=a++;a=2;b=1
- -前\后自减a=1;b=- -a;a=0;b=0
- -前\后自减a=1;b=a- -;a=0;b=1
+字符串相加“ab”+“cd”“abcd”

注意事项:

  • 对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分
  • 当 自增\自减 当做一个独立语言使用时,++i和i++是等价的
  • 当 自增\自减 作为一个表示式时,++i和i++是不等价的
System.out.println(3/2);	//1
System.out.println(10.0/4);	//2.5

//i++与++i 独立使用结果是一样
int i=3,j=3;
i++;
++j;
System.out.println(i);	//4
System.out.println(j);	//4

//i++与++i 当做表达式使用时结果不一样
int a=3,b=3;
a = a++;
b = ++b;
System.out.println(a);	//3
System.out.println(b);	//4

2、关系运算符

关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
关系表达式 经常用在 if 结构的条件中或循环结构的条件中

运算符运算示例结果
==恒等于1==2false
!=不等于1!=2true
<小于1<2true
>大于1>2false
<=小于等于1<=2false
>=大于等于1>=2true

3、逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值

aba&ba&&ba|ba||a!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse

说明:a&b和a&&b的结果一样,但a&&b的效率更高,a|b和a||b同理。

4、赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量
基本运算符分为基本运算符和复合运算符

  • 基本运算符:=
  • 复合运算符:+= ,-= ,*= , /= ,%= 等

注意事项:

  1. 运算顺序从右往左
  2. 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
  3. 复合赋值运算符等价于下面的效果
  4. 复合赋值运算符会进行类型转换
int a = 1;
a += 1;		//等价于a = a + 1;  其他的同理

//复合运算符
byte b = 3; 
b += 2; 	//等价 b = (byte)(b + 2); 
b++; 		// b = (byte)(b+1);

5、三元运算符

基本语法:条件表达式? 表达式 1: 表达式 2;
运算规则:

  • 如果条件表达式为 true,运算后的结果是表达式 1;
  • 如果条件表达式为 false,运算后的结果是表达式 2;
int x=1,y=2;
int z = x>y ? x++:y--;	//返回表达式2
System.out.println(x);	//1
System.out.println(y);	//1
//因为是先y--,所以返回y的值给z,再做y-1
System.out.println(z);	//2

注意事项:

  • 表达式 1 和表达式 2 要为可以赋给接收变量的类型(可以自动转换或强行转换)
int x=1,y=2;
int a = x>y ? x:y;		//正确
int b = x>y ? 1.1:2.2;	//错误
int c = x>y ? (int)1.1:(int)2.2;	//正确
double c = x>y ? x:y;	//正确	int -> double

三、运算符优先级

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序,下表中只有单目运算符和赋值运算符是从右到左,其他则是从左到右。

顺序运算符优先级
\. () {} ; ,1
R->L++ - - ~ !(data type)2
L->R* / %3
L->R+ -4
L->R<< >> >>>位移5
L->R< > <= >= instanceof6
L->R== !=7
L->R&8
L->R^9
L->R|10
L->R&&11
L->R||12
L->R? :13
R->L= += -= *= /= %= <<= =>> >>>= &= ^= |=14

四、标识符命名规则与规范

标识符概念:

  1. Java对各种变量、方法和类等命名使用的字符序列称为标识符
  2. 凡是自己可以起名字的地方都叫标识符

标识符的命名规则(必须遵守):

  1. 由26个英文字母大小写,0-9,下划线等
  2. 数字不可以开头
  3. 不可以使用关键字和保留字
  4. Java中严格区分大小写,长度无限制
  5. 标识符不能包含空格

标识符命名规范(专业)

  1. 包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.hsp.crm 2)
  2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰] 比如: TankShotGame
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小 驼峰, 简称 驼峰法] 比如: tankShotGame
  4. 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ 比如 :定义一个所得税率 TAX_RATE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王博1999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值