当前位置: 首页 > news >正文

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.14System.out.println("-----------------");//2.基本数据类型和引用数据类型之间使用+号System.out.println(a+s1);						//10helloSystem.out.println(a+b+s1);						//30helloSystem.out.println(a+b+c+s1);					//127helloSystem.out.println(a+b+c+s1+s2);				//127helloworld//hello127world,hello102097world,hello3097world,hello1020aworldSystem.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=11System.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 --> 33int c = ++a + b++;System.out.println("a="+a);			//a=12System.out.println("b="+b);			//b=22System.out.println("c="+c);			//c=33}
}
赋值运算符
将右边的数值赋值给左边的变量
分类:=+=-=*=/=%=
public class Demo4{public static void main(String[] args){//定义了一个int类型的变量a,然后将数值10赋值给这个变量aint 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);			//trueSystem.out.println(a+c<=b);			//falseSystem.out.println(a+c==c);			//false	System.out.println(a=c);			//10System.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,最终的结果是falseSystem.out.println(a++>10 & a+c>=b);	// &左边是true,&右边是true,最终的结果是true	System.out.println(a++>10 & !(a+c<b));	// &左边是true,&右边true,最终的结果是tureSystem.out.println("------------------");System.out.println(!(a++>10) | b==c);	// |左边是false,|右边是false,最终的结果是fasleSystem.out.println(a++>10 | a+c>=b);	// |左边是true,|右边是true,最终的结果是trueSystem.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	falseSystem.out.println(a++>10 ^ b!=c);			// ^ 左边是 true , ^右边是true	falseSystem.out.println(a++>10 ^ !(a+c<b));		// ^ 左边是 true , ^右边是true	falseSystem.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=11System.out.println("--------------");//System.out.println(a+c>b&a++>10);			//&左边是false,&右边是false,最终结果是false//System.out.println("a="+a);				//a=11System.out.println("--------------");//System.out.println(a+c>=b&&a++>10);		//&&左边是true,&&右边是false,最终结果是false//System.out.println("a="+a);				//a=11System.out.println("--------------");System.out.println(a+c>b&&a++>10);			//&&左边是false,&&右边是false,最终结果是falseSystem.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=11System.out.println(a+c>=20||a++>10);		// ||左边是true,||右边是false,最终的结果是trueSystem.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);}

相关文章:

  • 设计模式:创建者模式
  • 第四百四十三回
  • HTML1:html基础
  • 个人品牌打造IP孵化运营培训教程架构课件
  • 汽车网络安全管理
  • 【算法刷题day16】Leetcode:104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数
  • 微信小程序生命周期管理:从数据初始化到事件绑定
  • 【随笔】Git -- 高级命令(中篇)(七)
  • 【快速上手ESP32(基于ESP-IDFVSCode)】03-定时器
  • 数据结构 第六章(图)【上】
  • 使用docker-tc对host容器进行限流
  • Spring源码解析上
  • 机器学习模型——决策树
  • 【二分查找】Leetcode 二分查找
  • jdbc连SQL server,显示1433端口连接失败解决方法
  • 【Leetcode】104. 二叉树的最大深度
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2018一半小结一波
  • angular2 简述
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker: 容器互访的三种方式
  • exports和module.exports
  • Swoft 源码剖析 - 代码自动更新机制
  • Vim Clutch | 面向脚踏板编程……
  • 那些年我们用过的显示性能指标
  • 普通函数和构造函数的区别
  • 设计模式(12)迭代器模式(讲解+应用)
  • 终端用户监控:真实用户监控还是模拟监控?
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​TypeScript都不会用,也敢说会前端?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • ###项目技术发展史
  • #每日一题合集#牛客JZ23-JZ33
  • (¥1011)-(一千零一拾一元整)输出
  • (1)STL算法之遍历容器
  • (6)STL算法之转换
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三分钟)速览传统边缘检测算子
  • (五)Python 垃圾回收机制
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)nsfocus-绿盟科技笔试题目
  • .NET 8.0 发布到 IIS
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core 中插件式开发实现
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net mvc部分视图
  • .net 生成二级域名
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET中使用Redis (二)
  • @synthesize和@dynamic分别有什么作用?