运算符与控制语句是Java语言中运用最为基础也是最为广泛的,所以今天就详细的介绍下运算符与控制语句。
一、运算符
1.算数运算符
1).单目运算符:+ 、- 、++ 、--
A:+ 表示 a.正号(一般省略);b.加法运算;c.用于字符串的拼接;
B: - 表示 a.负号;b.减法运算;
C:++ 定义表示自增
单独使用时放在操作数据的前面或者后面的效果一样,比如a++与++a效果一样
参与操作使用时,放在操作数前面是先自增,再参与运算;
反之,放在操作数后面是先参与运算,再自增;
D:-- 定义表示自减
单独使用时放在操作数据的前面或者后面的效果一样,比如a--与--a效果一样
参与操作使用时,放在操作数前面是先自减,再参与运算;
反之,放在操作数后面是先参与运算,再自减;
2).双目运算符:+ 、 - 、 * 、 / 、 %
A:+ 表示 a.加法运算;b.用于字符串的拼接;
B: - 表示 减法运算;
C: * 表示 乘法运算
D: / 表示 除法运算
F: % 表示先做除法,然后取余数
3).三目运算符:比较表达式 ? 表达式1:表达式2
执行流程:
首先计算表达式的值为true还是false
如果是true,则执行表达式1
如果是false,则执行表达式2
二、运算符
1.赋值运算符
基础赋值运算符: =
扩展赋值运算符:
+= a+=b ==> a=a+b;
-= a-=b ==> a=a-b;
*= a*=b ==> a=a*b;
/= a/=b ==> a=a/b;
%= a%=b ==> a=a%b;
2.比较运算符
1).主要包括: == (直等于)、!= (不等于)、>(大于) 、>=(大于等于) 、<(小于) 、<=(小于等于)
2).其中> < >= <= 只能比较基本数据类型 byte short char int long float double
3).== != 基本数据类型的数据,引用数据类型的数据都可以比较是否相等
4).最终的运算结果,都为boolean类型的值
3.逻辑运算符
1). &(与),|(或),^(亦或),!(非),&&,||
2).逻辑运算符用于连接boolean类型的式子(表达式+常量)
3).用法
- &:有false则false
- |:有true则true
- ^:相同则false,不同则true。
- !:非true则false,非false则true
- &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
- ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
4).运算符的优先级: 单目乘除位关系,逻辑三目后赋值。
三、键盘输入
步骤:1.导包 import java.util.Scanner;
2.创建对象 Scanner sc = new Scanner(http://System.in);
3.获取数据 int x = sc.nextInt();
四、随机函数
步骤:1.导包 import java.util.Random;
2.创建对象 Random ran = new Random();
3.获取数据 int x = ran.nextInt(); System.out.println(x);
使用功能:
nextInt() 随机产生一个int范围内的整数
nextInt(整数n) 产生一个 [0,n) 随机整数
nextDouble() 随机产生[0,1)之间的随机小数
公式:
[0,max] ran.nextInt(max+1);
[min,max] ran.nextInt(max-min+1)+min;
[min,max) ran.nextInt(max-min)+min;
五、流程控制语句
1.顺序控制
JAVA 的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
2.选择控制
1).if 选择
A.单选择
if(条件){
语句体;
}
条件:是一个值为boolean类型的表达式
满足条件,就执行{}中的语句体,不满足条件,跳过整个if结构
B.双选择
if(条件){
语句体1;
}else{
语句体2;
}
满足条件执行语句体1,不满足条件,执行语句体2
C.多选择
if(条件1){
语句体1;
}else if(条件2){
语句体2;
}else if (){
.......
}
....
else{
如果以上条件都不满足,则执行语句体n;
}
2).switch多选择
swtich 语句:定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n;
break;
}
执行流程:
- 计算表达式,得到一个结果,值
- 第一步算出的结果值与case后的值进行判断,如果相等,就执行对应的语句体,如果不相等,就继续向下判断
- 如果执行了语句体,后如果有bresk,结束这整个switch语句,如果没有break会发生case穿透
- 如果以上所有case后的值都不满足条件,执行defult(接盘侠 else)
拓展
if和switch区别:
1.if可以做区间判断,可以做定定值判断
2.switch只能做定值判断
3.能使用switch地方都能使用if