JAVA入门————Day05(运算符)

运算符分为很多种:
算数运算符,赋值运算符,关系运算符,逻辑运算符,自增自减运算符,三目运算符,字符串连接符。

算数运算符:+(加),-(减),*(乘),/(除),%(取余)

这里的加减乘除其实就是最基本的数学中的运算

// + 加法
int a=2,b=3;
int c = a+b;
System.out.println(c);//5
System.out.println(a+b);//5
System.out.println(a+5);//7

double a=3.14,b=5.2;
double c = a+b;
System.out.println(c);//8.34
System.out.println(a+b);//8.34
System.out.println(a+5);//8.14

// -	减法
int a=10,b=3;
int c = a-b;
System.out.println(c);//7
System.out.println(a-b);//7
System.out.println(a-5);//5

double a=6.14,b=5.2;
double c = a-b;
System.out.println(c);//0.94
System.out.println(a-b);//0.94
System.out.println(a-5);//1.14

// * 乘法
int a=2,b=3;
int c = a*b;
System.out.println(c);//6
System.out.println(a*b);//6
System.out.println(a*5);//10

double a=3.1,b=5.1;
double c = a*b;
System.out.println(c);//15.81
System.out.println(a*b);//15.81
System.out.println(a*6.1);//18.91

//	除法:/
int a=9,b=3;
int c = a/b;
System.out.println(c);//3
System.out.println(a/b);//3
System.out.println(a/2);//4	
//精度丢失,虽然最后计算出的结果是dooble类型,但是因为a和2都是int类型,两个int类型做运算,就算结果是double型,系统还是会强制将最终结果转换成了int类型,因此小数就被无条件舍弃了 

double a=10.3,b=5.15;
double c = a/b;
System.out.println(c);//2.0
System.out.println(a/b);//2.0
System.out.println(a/5);//2.06

重点讲述%(取余):
%百分号在java里叫取余
被除数除以除数等于商…余数
取余就是整数除法计算后的余数
若%后结果是0则是整除

//具体看下面代码的实现
//整除情况
System.out.println(10%5);//0
int a=6,b=2;
System.out.println(b%a);//0
//执行过程
//a是6个数,2个数2个数的取出,最后全部取出,剩余0个数所以余数是0

//不被整除
System.out.println(10%3);//1
int a=10,b=3;
System.out.println(a%b);//1
//a是10个数,3个数3个数的取出,剩余1个数,不够3个数,所以余数是1

赋值运算符:=(一个等号赋值的意思),+=(加等于),- =(减等于),*=(乘等于) ,/=(除等于),%=(取余等于)

=
一个等号是赋值的意思,就是将等号后面的数或字符串,赋值给等号前面的变量名

+=
变量自身加一个数然后将结果再赋值给自身

-=
变量自身减一个数然后将结果再赋值给自身

*=
变量自身乘一个数然后将结果再赋值给自身

/=
变量自身除以一个数然后将结果再赋值给自身

%=
变量自身取余一个数一个数然后将结果再赋值给自身

具体代码:

=(赋值)
int a = 5;
System.out.println(a);//5

+=(加等于)
int age = 17;
age += 3;
System.out.println(age);//20

-=(减等于)
int b = 10;
b -= 3;
System.out.println(b);//7

*=(乘等于)
int c = 7;
c *= 3;
System.out.println(c);//21

/=(除等于)
int d =20;
d /= 4;
System.out.println(d);//5

%=(取余等于)
int e = 10;
e %= 2;
System.out.println(e);//0
int f = 12;
f %= 5;
System.out.println(f);//2

关系运算符:>(大于),<(小于),==(两个等号是等于的意思),>=(大于或等于),<=(小于或等于),!=(不等于)

用关系运算符运算出的结果一定是boolean类型,一般用于判断条件
具体代码:

//大于>
int a=5,b=10;
boolean c = a>b;
System.out.println(a > b);//false
System.out.println(b > a);//true
System.out.println(c)//false

//小于<
int a=5,b=10;
boolean c = a<b;
System.out.println(a < b);//true
System.out.println(b < a);//false
System.out.println(c)//true

//等于
int a=5,b=10;
System.out.println(a == b);//false
System.out.println(a == 5);//true

/*
不管是大于等于还是小于等于 只要两个数的对比满足等于,大于,小于,其中一个条件则结果就是true,若两个都不满足则结果为false
*/
//大于等于 >=
 int a=10,b=15;
 System.out.println(a>=b);//false
 System.out.println(a>=20);//false

//小于等于 <=
 int a=10,b=15;
 System.out.println(a<=b);//true
 System.out.println(a<=20);//true
 
// 不等于 !=
 int a=10,b=15;
 System.out.println(a!=b);//true
 System.out.println(a!=20);//true
/*这里的不等于的判断逻辑正好和等号相反
等号是两数相等结果为true,两数不等结果为false
不等于是只要两数不相等,不管是前数大于后数还是前数小于后数结果都是true,若两数相等则判断结果为false
*/

逻辑运算符:$$(与),||(或),!(非)

&&(与):只要一个为false则最终结果为false
||(或):只要一个为true则最终结果为true
!(非):取反
逻辑运算符是建立在关系运算符的基础之上的
逻辑运算的结果也是boolean型

// &&(与):只要一个为false则最终结果为false,反之当两个结果都为true时最终结果为true
	int a=5,b=10,c=5;
	boolean b1 = b>=a && b<c;
	System.out.println(b1);//true && false = false
	System.out.println(b<=a && b>c);//false && true = false
	System.out.println(a==b && c>b);//false && false = false
	System.out.println(a<b && b>c);//true && true = true

// ||(或):只要一个为true则最终结果为true,反之当两个结果都为false时最终结果为false
	int a=5,b=10,c=5;
	boolean b1 = b>=a || b<c;
	System.out.println(b1);//true && false = true
	System.out.println(b<=a || b>c);//false && true = true
	System.out.println(a==b || c>b);//false && false = false
	System.out.println(a<b || b>c);//true && true = true

// !(取反):取最终结果的相反值,
	int a=5,b=10,c=5;
	boolean b1 = !(b>=a && b<c);
	System.out.println(b1);//true && false = false
	System.out.println(!(b<=a) && b>c);//true && true = true
	System.out.println(a==b && !(c>b));//false && true = false
		
//	短路:
	int a=5,b=10,c=5;
	boolean b3 = a>b && c++>2;
	System.out.println(b3);//false(且发生了短路)
	System.out.println(c);//5&&判断的第一个判断为false 则第二个判断不执行
	||&&同理(||判断的第一个判断为true 则第二个判断不执行)

自增自减运算符:++(加1),–(减1)

/*自增自减单独使用的情况下*/ 	
	int a=5,b=5;
	a++;//相当于a=a+1;
	++a;//相当于a=a+1;	
	System.out.println(a);//6
	b--;//相当于a=a-1;
	--b;//相当于a=a-1;
	System.out.println(b);//4
	
	
	int a = 5,b = 5;
	int c = a++;
	int d = ++b;
	System.out.println(a);//6
	System.out.println(b);//6
	System.out.println(c);//5
	System.out.println(d);//6
	分析:无论变量是单独使用还是被使用,只要此变量++了就会加1
				  	    			 只要此变量--了就一定会减1
	当变量自增自减被使用时,自增自减在前则先自增自减后赋值,若在后则先赋值在自增自减

三目/条件运算符:boolean值(或判断条件)?代码段1:代码段2

条件/三目运算符:
	1)语法:
		boolean?1:2
	2)执行过程:
		整个条件运算符是有值的,它的值要么是?号后的数1,要么是:号后的数2
		值到底为谁,是由前面的boolean来控制的
			计算boolean的值:
			若为true,则整个表达式的值为?号后的数1
			若为false,则整个表达式的值为:号后的数2

		int num = 2;
		int flag = num>0 ? 1 : -1;
		System.out.println(flag);//1

		int num = -5;
		int flag = num>0 ? 1 : -1;
		System.out.println(flag);//-1

字符串连接符:+(拼接符)

int age = 17;
System.out.println("我今年"+age+"岁");//我今年17岁
String name = "武洋洋";
System.out.println("我叫"+name);//我叫武洋洋
double price = 37.5;
int amount = 5;
double total = price*amount;
System.out.println("商品单价:"+price+"元,"+"购买数量:"+amount+"个,"+"商品总价:"+total+"元");//商品单价:37.5元,购买数量:5个,商品总价:187.5元
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cloud*

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

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

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

打赏作者

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

抵扣说明:

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

余额充值