你真的了解java运算符吗?

转义字符(EscapeCharacter)
	用来表示有些具有特殊含义的字符
	转义字符从\开始
	\t 制表符
		一个制表符代表8个空格,一个字母1个空格,一个汉字占2个空格
		查看前面的内容,是否满足制表符的整数倍,如果不满足补满,如果满足重开一个制表符位
	\b退格
		光标会删一格
	\n换行
		ln类似
	\r 回到行首
		光标回到行首
数值形式(Numerical)
	整数的不同进制:满几进一
		二进制: 由0,1组成    以0b/0B开头表示二进制
		八进制: 由0~7组成    以0开头表示八进制
		十进制: 默认
		十六进制: 0~9,a~f组成 大小写都可以 以0x/0X表示十六进制
		其他进制转十进制:从后往前,从最后一位开始*进制数,次方从0开始每次+1,最终所有位数的值求和
		十进制转其他进制:一直除以要转为的进制数,得数为0为止
	浮点数的表示形式
		0.5->0可以省略
		科学计数法表示
			e->10
			1.234e2 ->1.234*10^2
			1.234e-2 ->1.234/10^2
运算符(Operator)
	操作数: 运算符左右两边的数叫做操作数
	表达式: 运算符链接两边的操作数咋横踢叫做表达式
	语句: 遇到;就是语句的结束
	单目运算符|一元运算符
		操作数只有一个    ++  --  -负号
	双目运算符|二元运算符
		+ - / *  %
	三目运算符|三元运算符
		条件运算符
	算数运算符
		+
			+正号
			加法运算
			字符串的连接符
				当+左右两边由字符串的出现,就作为字符串的连接符使用,最终得到一个字符串结果
		-
			负号  不能省略
			减法运算
		*
			乘号
			乘法运算
		%
			取余数|取模|模以
			如果前面的操作数<后面的操作数,结果为第一个操作数
		++ --
			操作自己|不影响别人
				++放在操作数的前面还是后面都是自身+1
				--放在操作数的前面还是后面都是自身-1
			操作别人|影响别人|参与运算
				++--放在操作数的前面,先自身先去+1|-1,再参与运算
				++--放在操作数的后面,先参与运算,再自身+1|-1
	赋值运算符
		基本赋值运算符
			=
			java中唯一一个自右向左运算的符号
			优先级别最低
	扩展赋值运算符
		算数运算符+基本赋值运算符
		+=  -=  *=  /=  %= 
		优点: 自动做强制类型转换 ,提高执行效率
		缺点: 不直观
	关系运算符|比较运算符
		> < >= <= 
			只能针对byte,short,int,long,char,float,dobule进行比较
		== !=
			可以对基本数据类型或引用数据类型做比较
		比较运算符最终的结果都是boolean类型的值  true,false
	逻辑运算符
		逻辑运算符左右两边的操作数都是值为boolean类型的表达式
		& 与  一个为false就是false,两个都是true才是true
		| 或  一个为ture就是true,两个都为false才是false
		^ 亦或 相同为false,不同为true
		&& || 短路,如果第一个值已经能够决定表达式的结果,第二个值就不再执行
	条件运算符
		条件表达式 ? 值1 : 值2;
		条件表达式是值为boolean类型的表达式
		执行流程
			计算条件表达式
			如果值true,最终结果取值1
			如果值false,最终结果取值2
	位运算符
		先把操作数转为二进制,参与运算,结果转为10进制
		& 统一位数的两个数,如果一个为0就是0,两个都为1才是1
		| 同一位数的两个数,如果一个为1就是1,两个都为0才是0
		^ 相同为0,不同为1
		右移运算符  相当于/2的第二个操作数次方
		>> 假设第一个操作数二进制数的右边有一个分水岭,移动第二个操作数个位数,移出分水岭的数不计算,剩下的二进制转为十进制
		左移运算符  相当于*2的第二个操作数次方
		<<  向左移动第二个操作数个位数,空余补0,最终转为十进制
Scanner ( 接受键盘输入)
	导包
		说明Scanner类的地址 使用import关键字+路径 导包  java.util.Scanner;
		导包要类的上面导包
	创建Scanner类型的变量--根据公式  Scanner sc=new Scanner();
	使用功能
		nextInt()  接受int类型的整数
		nextByte() 接收byte类型的整数
		nextShort() 接收short类型的整数
		nextLong() 接收long类型的整数
		nextDouble()
		nextFloat()
		next() 接收用户输入的字符串类型的数据
			从有效字符开始接收,知道遇到空格,tab不再接收了,enter停止功能
		nextLine() 接收字符串数据,遇到enter结束功能(接收一整行)
	关闭
		变量.close();
			一定要再这个类使用完毕Scanner之后再关闭,否则后面重新开启也无法继续使用
Random(产生随机数)
	导包  java.util.Random
	创建Random类型的变量|引用
	通过引用数据功能
		随机整数
			nextInt()   随机产生int类型范围内的一个随机整数
			nextInt(整数n)  范围: [0,n)随机整数
		公式
			[min,max)   引用.nextInt(max-min)+min
			[min,max]   引用.nextInt(max-min+1)+min
		随机小数
			nextDouble() 产生随机小数   [0,1)
流程控制语句(If)
	顺序结构
		选择结构:根据判断,满足条件执行某些代码
		循环结构:重复执行某些代码
	if..else
		单分支|单选泽
			if(条件判断){
			满足条件要执行的语句
			}
			执行流程
				计算判断条件(值为boolean类型的表达式)
				如果true,执行{}语句体
				如果false,不执行,直接跳过if结构
		双分支|双选择
			if(条件判断){
			语句体1;
			}else{
			语句体2;
			}
			无论是否满足都会有与具体执行,肯定会有一个结果
		多分支|多选择
			同是双分支
	if和条件表达式之间的区别
		if可以对多个条件多次判断
		条件表示肯定会有结构

猜你喜欢

转载自blog.csdn.net/weixin_45116982/article/details/90582589