运算符
算数运算符、赋值运算符、比较运算符、逻辑运算符
1、算数运算符
正号(+) 负号(-) 加(+) 减(-) 乘(*) 除(/) 取模即求余(%) 自增(++) 自减(--)
注:(1).在进行自增自减时,如果运算符放在操作数的前面,则先进行自增和自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其它运算再进 行自增或自减运算
(2)在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数。如果除法 运算有小数参与,得到的结果会是一个小数。
(3)在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。
2.赋值运算符
赋值(=)、加等(+=)、减等(-=)、乘等(*=)、除等(/=)、模等(%=)
在赋值运算的时候,当两者彼此不兼容或目标类型取值小于源类型取值范围时,需要进行强制转换。然而+=、*=、-=、/=、%= 强制转换会自动完成,不需要特别声明
3.比较运算符
结果是布尔值,即true或false
4.逻辑运算符
结果是布尔值,即true或false
与(&)、或(|)、异或[两个值相同是false,两个值不同是true](^)、非(!)、短路与(&&)、短路或(||)
注:(1)&与&&都表示值相同时是true,不同时是false,但是对于右边的表达式来说,当使用&时,无论左边的表达式是true或false时,右边的表达式都运行,当使用&&时,当左边的表达式时false时,右边的表达式不会运行,直接出结果为false
(2)|与||都表示当表达式任何一方为ture时结果为true,两边都为false时结果为false,短路或和和短路与类似,当左边的表达式为true时,右边的表达式就不会运行。
**选择结构语句**
if和switch语句
if语句:
1、if
if(条件语句){
……
}
2、if...else
if(条件语句){
……
}else{
……
}
三元运算符,它和if...else语句类似
(判断条件)?表达式1:表达式2
如:int a = 0;
int b = 1;
int max;
if (a > b){ 等价于 int max = a > b ? a : b;
max = a;
}else{
max = b;
}
3、if...else if...else
if(判断条件1){
.......
}else if(判断条件2){
......
}
switch语句:
只能针对某个表达式的值做出判断,从而决定进行哪一段代码
switch(表达式){
case 选择值1:
语句块1;
break;
case 选择值2:
语句块2;
break;
......
case 选择值n:
语句块n;
break;
default:
语句块n+1;
break;
}
在使用 switch 语句的过程中,如果多个 case 条件后面的执行语句是一样的,则该执行语句 只需书写一次即可。
如:
public class example{
public static void main (String[] args) {
int week = 2;
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
// 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同
System.out.println("今天是工作日");
break;
case 6:
case 7:
// 当 week 满足值 6、7 中任意一个时,处理方式相同
System.out.println("今天是休息日");
break;
}
}
}
运行结果:
今天是工作日
**循环结构语句**
while do...while for
1、while循环 (先判断,再执行)
while 循环语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件 不成立,while 循环结束
while(条件表达式){
...
}
2、do...while (先执行一次,再判断) while 和 do while的区别:do while:无论条件是否满足,循环体至少执行一次。
do {
...
}while(条件表达式);
3、for
for(初始化表达式;条件表达式;循环后表达式){
循环语句体;
}
(第一步:初始话表达式,第二步:条件表达式,第三步:循环语句体,第四步:循环后表达式)
如:public class Example14 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i < 5;i++){
sum += i;
}
System.out.println("sum=" + sum);
}
}
**循环嵌套**
如:打印九九乘法表
public class Example15 {
public static void main(String[] args) {
for(int x = 1;x <= 9;x++){
for(int y = 1;y <= x;y++){
System.out.println(x+"*"+y+"="+x*y+"\t");
}
System.out.println();
}
}
}
**跳转语句(break、continue)**
(1)break语句
用在 switch 语句中,终止某个 case 并跳出 switch 结构。
用在循环结构中,跳出当前所在循环。
当 break 语句出现在嵌套循环的内层时,它只能跳出内层循环,如果想跳出外层循环,则需 要对外层循环添加标记。标记少用会使程序混乱
(2)continue语句
结束本次循环,继续下一次循环