B000-1115-运算符

第三天知识点

运算符
概述:对数据类型进行运算的符号
分类(五大类):
	1.算术运算符
	2.赋值运算符
	3.比较运算符
	4.逻辑运算符
	5.三元(三目)运算符
算术运算符
+
-	
*
/
%(取余)	不够除的话那本身就是余数
++(自增运算符)
--(自减运算符)
算术运算符+号的特殊使用
+号的特殊使用	
		总结:1.基本数据类型之间使用+号	
				全部进行加法运算
			 2.基本数据类型和引用数据类型之间使用+号
				2.1如果基本数据类型先使用+号,那么进行加法运算,然后使用+号和字符串进行拼接
				2.2如果字符串和字符之间使用+号,那么字符不会转换成对应的数值,直接进行拼接		
			 3.	引用数据类型和引用数据类型之间使用+号
				全部进行拼接
			如果字符串在最前面,那么后面的全部进行拼接
ASCII码表			
			'a'	-->97
			'A'	-->65
			'0'	-->48	
public class Demo6{
	public static void main(String[] args){
		//1.基本数据类型之间使用+号
		int a =10;
		int b =20;
		char c ='a';
		double d =3.14;
		String s1="hello";
		String s2="world";
		System.out.println(a+b);						//30			
		System.out.println(a+b+c);						//127
		//不同的数据类型之间进行加法运算,结果会提示为最大的数据类型
		System.out.println(a+b+c+d);					//130.14
		System.out.println("-----------------");
		//2.基本数据类型和引用数据类型之间使用+号
		System.out.println(a+s1);						//10hello
		System.out.println(a+b+s1);						//30hello
		System.out.println(a+b+c+s1);					//127hello
		System.out.println(a+b+c+s1+s2);				//127helloworld
		//hello127world,hello102097world,hello3097world,hello1020aworld
		System.out.println(s1+a+b+c+s2);				//hello1020aworld
		//helloworld127	, helloworld102097,helloworld3097,helloworld1020a		
		System.out.println(s1+s2+a+b+c);				//helloworld1020a
		//3.引用数据类型和引用数据类型之间使用+号
		System.out.println(s1+s2);						//helloworld
	}
}
算术运算符的++和–的使用
++和--就是对变量进行+1或-1的操作
	单独使用:效果完全一致
	混合使用:看情况(前++和后--)
前++和后++的混合使用
		前++:先将变量的值增加1,然后再使用增加后的值进行其他操作
		后++:先使用变量的当前值进行其他操作,然后再将变量的值增加1
		
		不管是前++还是后++,变量本身都会进行+1操作
public class Demo1{
	public static void main(String[] args){
		int a =10;
		int b =10;
		a++;
		++b;
		System.out.println("a="+a);		//a=11
		System.out.println("b="+b);		//b=11
	}
}
public class Demo2{
	public static void main(String[] args){
		int a =10;
		int b =20;
		a++;		//a由10变成了11
		++b;		//b由20变成了21
		// int c = (X)+(Y);			X--> ++a  Y --> b++
		// 前++: 先+1再赋值给整体
		// 后++: 先赋值给整体再+1
		// X由11变成了12
		// Y还是原来的21
		// int c = 12 + 21 --> 33
		int c = ++a + b++;
		System.out.println("a="+a);			//a=12
		System.out.println("b="+b);			//b=22
		System.out.println("c="+c);			//c=33
	}
}
赋值运算符
将右边的数值赋值给左边的变量
分类:
	=
	+=
	-=
	*=
	/=
	%=
public class Demo4{
	public static void main(String[] args){
		//定义了一个int类型的变量a,然后将数值10赋值给这个变量a
		int a = 10;
		a+=10;			// a = a+10;
		System.out.println(a);
		
		short s = 1;
		s+=10;			//即s = s+10;
		//s是short类型,10是默认的int类型,short和int类型做加法运算,结果会提升为较大的数据类型
		s=(short)(s+10);  
		System.out.println(s);
	}
}
比较运算符
概述:对两个及以上的数值进行比较,结果是布尔类型,不是true就是false

分类:
	>
	<
	== (区分=)
	!= (取反)
	>= (表示的意思,>或者=,只要有一个满足结果就是true)
	<=
public class Demo5{
	public static void main(String[] args){
		int a =10;
		int b =20;
		int c =10;
		System.out.println(a++>c);			//false	, a由10变成了11	
		System.out.println(a++>=c);			//true	, a由11变成了12		
		System.out.println(a==b);			//false		
		System.out.println(a!=c);			//true
		System.out.println(a+c<=b);			//false
		System.out.println(a+c==c);			//false	
		System.out.println(a=c);			//10
		System.out.println(a);				//10
	}
}
逻辑运算符
对两个及以上的数值进行判断,结果是布尔类型,不是true就是false
分类:
	&	逻辑与
	|	逻辑或
	!	逻辑非
	^	逻辑亦或(了解)
/*
	逻辑运算符
		分类:
		&	逻辑与		表示并且,需要同时满足   		   只要有一个是false,那么结果就是false
		|	逻辑或		表示或者,只需要有一个满足即可		只要有一个是true,那么结果就是true
		!	逻辑非		取反
*/	
public class Demo6{
	public static void main(String[] args){
		int a =10;
		int b =20;
		int c =10;
		System.out.println(a++>10 & b==c);		// &左边是false,&右边是false,最终的结果是false
		System.out.println(a++>10 & a+c>=b);	// &左边是true,&右边是true,最终的结果是true	
		System.out.println(a++>10 & !(a+c<b));	// &左边是true,&右边true,最终的结果是ture
		System.out.println("------------------");
		System.out.println(!(a++>10) | b==c);	// |左边是false,|右边是false,最终的结果是fasle
		System.out.println(a++>10 | a+c>=b);	// |左边是true,|右边是true,最终的结果是true
		System.out.println(a++>b | a+c<b);		// |左边是flase,|右边是false,最终的结果是false
	}
}
/*   
		^   逻辑亦或	相同为false,不同为true              
*/
public class Demo7{
	public static void main(String[] args){
		int a =10;
		int b =20;
		int c =10;
		System.out.println(a++>10 ^ b==c);			// ^ 左边是 false, ^右边是false	false
		System.out.println(a++>10 ^ b!=c);			// ^ 左边是 true , ^右边是true	false
		System.out.println(a++>10 ^ !(a+c<b));		// ^ 左边是 true , ^右边是true	false
		System.out.println(a++>10 ^ a+c<=b);		// ^ 左边是 true , ^右边是false	true
	}
}
短路逻辑运算符
和逻辑运算符类似,结果不受影响,结果都是布尔类型
	分类:
		&&	逻辑与
		||	逻辑或
        
    作用:提高程序的执行效率
/*
	短路逻辑运算符
		&&	并且
	总结:&和&&的结果是没有区别的
		&&  如果左边是false,右边的结果不管是什么都不会影响最终结果,所以&&右边不再执行
*/
public class Demo8{
	public static void main(String[] args){
		int a =10;
		int b =20;
		int c =10;
		//System.out.println(a+c>=b&a++>10);		//&左边是true,&右边是false,最终结果是false
		//System.out.println("a="+a);				//a=11
		System.out.println("--------------");
		//System.out.println(a+c>b&a++>10);			//&左边是false,&右边是false,最终结果是false
		//System.out.println("a="+a);				//a=11
		System.out.println("--------------");
		//System.out.println(a+c>=b&&a++>10);		//&&左边是true,&&右边是false,最终结果是false
		//System.out.println("a="+a);				//a=11
		System.out.println("--------------");
		System.out.println(a+c>b&&a++>10);			//&&左边是false,&&右边是false,最终结果是false
		System.out.println("a="+a);					//a=10
		
		//System.out.println(a+c>=b&a++>10);		//&左边是true,&右边是false,最终的结果是false
		//System.out.println(a+c>b&&a++>10);		//&&左边是true,&&右边是true,最终的结果是true
	}
}
/*	短路逻辑运算符之逻辑或
		||:如果左边是true,右边的结果不管是什么都不会影响最终结果,所以||右边不再执行
*/
public class Demo9{
	public static void main(String[] args){
		int a =10;
		int b =20;
		int c =10;
		
		//System.out.println(a+c>=20|a++>10);		// |左边是true,|右边是false,最终结果是true
		//System.out.println("a="+a);				// a=11
		//System.out.println(a+c>20|a++>10);		// |左边是false,|右边是false,最终结果是false
		//System.out.println("a="+a);				// a=11
		System.out.println(a+c>=20||a++>10);		// ||左边是true,||右边是false,最终的结果是true
		System.out.println("a="+a);					// a=10
		//System.out.println(a+c>20||a++>10);		// ||左边是false,||右边是false,最终结果是false
		//System.out.println("a="+a);				// a=11
	}
}
三元运算符
概述:通过表达式进行判断然后赋值给一个新的变量
	格式:
		数据类型 变量名称 = (表达式) ? 数值1 : 数值2;		
	public static void test4() {
		int a = (2 < 1) ? 3 : 4;
		System.out.println(a);
	}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值