Java变量运算规则

1.算术运算符

运算符运算范例结果
+正号+33
-负号b=4;-b-4
+5+510
-6-42
*3*412
/5/51
%取模(取余)7%52
++自增(前): 先运算后取值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
+字符串连接“He”+“llo”“Hello”

1) 除法运算

int num1 = 12;
int num2 = 5;
int result1 = num1 / num2;//结果为2
int result2 = num1 / num2 * num2;//结果为10
//这里除以一个数再乘这个数并不等于原数
double result3 = num1 / num2;//结果为2.0
double result4 = num1 / num2 + 0.0;//结果为2.0
double result5 = num1 / (num2 + 0.0);//结果为2.4
double result6 = (double)num1 / num2;//结果为2.4
double result7 = (double)(num1 / num2);//结果为2.0

2)取模运算

int m1 = 12;
int n1 = 5;
result1 = m1 % n1;//结果为2

int m2 = -12;
int n2 = 5;
result2 = m2 % n2;//结果为-2

int m3 = 12;
int n3 = -5;
result3 = m3 % n3;//结果为2

int m4 = -12;
int n4 = -5;
result4 = m4 % n4;//结果为-2
*结论:结果的符号与被模数的符号相同

3)自增

int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = " + a1 + ",b1 = " + b1);//结果为a1=11,b1=11

int a2 = 10;
int b2 = a2++;
System.out.println("a2 = " + a2 + ",b2 = " + b2);//结果为a2=11,b2=10

a)(前)++:先自增1,后再运算
b)(后)++:先运算,后自增1

4)自减

int a1 = 10;
int b1 = --a1;
System.out.println("a1 = " + a1 + ",b1 = " + b1);//结果为a1=9,b1=9

int a2 = 10;
int b2 = a2--;
System.out.println("a2 = " + a2 + ",b2 = " + b2);//结果为a2=9,b2=10

a)(前)- -:先自减1,后再运算
b)(后)- -:先运算,后自减1

* ++/- -不会改变变量的类型

2.赋值运算符

1)符号:“ = ”;(支持连续赋值)

2)扩展赋值运算符:+=,-=,*=,/=,%=

short s1 = 10;
s1 = s1 + 2;//编译失败
s1 += 2;//12,不会改变变量本身的数据类型

3.比较运算符(关系运算符)

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hello" instanceof Stringtrue

(*)比较运算符的结果都是boolean类型,要么是true,要么是false

4.逻辑运算符

在这里插入图片描述
(*)逻辑运算符操作的都是boolean类型的

1)& 与 && 的区别( | 与 || 类似)


boolean b1 = true;
int num1 = 10;
if(b1 & (num1++ > 0)){
	System.out.println("我现在在北京...");
}else{
	System.out.println("我现在在上海...");
}
System.out.println("num1 = " +num1);
//我现在在北京
//num1=11;

boolean b2 = true;
int num2 = 10;
if(b2 && (num2++ > 0)){
	System.out.println("我现在在北京...");
}else{
	System.out.println("我现在在上海...");
}
System.out.println("num2 = " +num2);
//我现在在北京
//num2=11;

boolean b1 = true;
b1 = false;
int num1 = 10;
if(b1 & (num1++ > 0)){
	System.out.println("我现在在北京...");
}else{
	System.out.println("我现在在上海...");
}
System.out.println("num1 = " +num1);
//我现在在上海
//num1=11;

boolean b2 = true;
int num2 = 10;
b2 = false;
if(b2 && (num2++ > 0)){
	System.out.println("我现在在北京...");
}else{
	System.out.println("我现在在上海...");
}//b2已经为false,后面不执行(可以理解为短路)
System.out.println("num2 = " +num2);
//我现在在上海
//num2=10;

相同点:
a) &与&& 运算结果相同
b) 当符号左边为true时,二者都会执行符号右边的运算
不同点:
a) 当符号左边为false时,&继续执行符号右边的运算,而&&则不执行

5.位运算符

在这里插入图片描述
*区分位运算符与逻辑运算符取决于操作的数据类型,boolean类型则是逻辑运算符,反之位运算符

6.三元运算符

格式: (条件表达式) ?表达式1 : 表达式2

条件表达式为true则运算结果是表达式1
条件表达式为false则运算结果是表达式2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值