运算符与控制语句
一.双目运算符
1.1赋值运算符
基本赋值运算符
= Java中唯一一个自右向左运算的符号;
扩展的赋值运算符
+= 、-= 、*= 、/= 、%=(算术运算符+基本赋值运算符)
推荐使用: 1.提高执行效率 2.自动做强制类型转换
缺点:不直观
1.2 关系运算符
==、!=、>、>=、<、<=
操作符描述
== 检查如果两个操作数的值是否相等,如果相等则条件为真
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真
1.3逻辑运算符
&、|、^、!、&&、||
操作符描述
& 逻辑与,两个都为true才是true,一个为false就是false
| 逻辑或,一个为true就是true,两个都是false才是false
^ 异或,相同为false,不同为true
! 非,取反 !true–>false !false–>true
&& 短路与,两个都为true才是true,一个为false就是false
|| 短路或,一个为true就是true,两个都是false才是false
推荐使用
短路**&&、||**:第一个操作数就已经能够决定最终的结果了,第二个操作数将不再执行
2.三目运算符
条件运算符也被称为三元运算符
条件表达式 ? 值1 : 值2;
1)执行条件表达式–>值为Boolean类型的表达式
2)如果为true,最终的结果取值1
3)如果为false,最终的结果取值2
二、键盘录入及随机函数
Scanner : 可以接收用户收入的内容|接收键盘输入
1.创建这个类型的变量|引用
引用数据类型 变量名|引用名 = new 引用数据类型();
Scanner sc= new Scanner();
2.根据引用数据功能
引用.功能名字();
sc.next();
1.导包
指明Scanner类的位置
import java.util.Scanner;
位置: 类的上面
2.创建类型的引用|变量名
3.使用功能
sc.nextInt() 接收用户输入的int类型的整数
sc.nextByte()
sc.nextShort()
sc.nextLong()
sc.nextDouble()
sc.nextFloat()
sc.next() 接收用户输入的字符串 遇到enter功能就结束
从有效字符开始接收,遇到空格,tab就不接受了,但是功能不会结束,知道遇到enter功能才会结束
sc.nextLine() 接收用户输入的一整行的内容,知道换行结束 enter换行
如果在nextLine的前面有使用到系列的next功能,需要处理遗留的enter问题
4.关闭
sc.close()关闭
友好的使用方式推荐关闭,但是不关闭也不会出错,注意:如果一旦关闭,必须在使用完成之后再关闭,否则重新开启也不可以使用
Random 产生随机数
1.导包
指明Random类的位置
2.创建引用数据类型的变量
3.使用功能
随机整数 引用.nextInt() 产生一个int范围内的随机整数
nextInt(整数n) [0,n) 0~n之间的随机整数
随机小数
nextDouble() 随机小数-> [0.0,1.0)
*值1 值改变最大区间
+值2 只改变最小区间
公式:
[0,max] ran.nextInt(max+1)+1; ->[1,6]
[min,max] ran.nextInt(max-min+1)+min ; [0,max-min]+min->[min,max]
伪随机数:
三、流程控制语句
java中的流程控制语句
顺序结构:从上倒下,从左到
选择结构:根据选择,决定执行的内容
循环结构:重复执行同样的操作
条件语句 - if…else语句
单分支|单选泽
if(条件表达式){
语句体;
}
条件表达式必须值为boolean类型的表达式
如果条件表达式结果为false,就不执行跳过整个if结构
如果条件表达式结果为true,执行{}中的语句体
双分支|双选择
if(条件表达式){
语句体1;
}else{
语句体2;
}
无论是否满足条件,都会执行语句体
多分支|多选择:
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else if(条件表达式3){
语句体3;
}
....
else{
以上条件都不满足执行的内容
}
if语句和条件运算符之间的选择:
1.条件运算符肯定会得到结果
2.麻烦的使用if,简单的能使用条件运算符就是用条件运算符
无论是多选还是单选,双选,只要语句体只有1句,前后的{}可以省略
switch语句
switch语句:定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
....
default:
语句体n;
break;
}
表达式|变量: byte,short,int,char,枚举(1.5),字符串(1.7)
case:拿表达式的结果与case后的值进行判断,如果相同,执行对应的语句体;
break:结束这个switch语句,如果没有break会发生case穿透
default: else作用一致,以上case都不满足条件,执行default中的语句体
可以在switch语句中的任何位置,改变位置注意break的问题
if语句可以做区间判断,可以做定值判断
switch 只能做定值判断