运算符和控制语句
总共有五种: + - * / %
package com.szwollf.Day05; public class Operator { public static void main(String[] args) { // + - * / % int a=2; int b=3; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b);//运算会放入int容器中,小数点后被省略 int c=+5; int d=-7; System.out.println(c); System.out.println(d); System.out.println("---------------------------"); // System.out.println(中);//输出语句中必须是数据类型的字面值,不属于java数据类型的字面值无法使用 char a1='a'; char a2='b'; System.out.println(a1+a2);//char类型相加会转换为Unicode编码相加 System.out.println(a1-a2);//char类型相加会转换为Unicode编码相减 String b1="11"; String b2="1"; System.out.println(b1+b2); // System.out.println(b1-b2);//String类型 无法相减 System.out.println(a1+b2);//char类型可以和String相加 System.out.println("---------------------------"); int c1=0; int c2=3; System.out.println(c1%c2);//0 System.out.println(1%c2);//1除以大于1的整数都得零余一 // System.out.println(c2%0);//算术异常 // int i=1; // i=i++; // System.out.println(i); } }
二、++和--
自增运算符和自减运算符
package com.szwollf.Day05; public class Operator2 { public static void main(String[] args) { int m=1; int n=5; m=m++;//先赋值后加减 n=++n;//先赋值后加减 System.out.println(m); System.out.println(n); int i=1; int j=5; int s1=++i-j++-++i+j+++i++-j--; //2 -5 -3 +6 +3 -7 i=4 j=6 System.out.println(s1);//-4 运算时++在前先加后赋值,++在后先赋值后加 System.out.println(i);//4 不论是++i 还是i++ 最终i都自增了1,所以i值等于初始值加上++的数量减去--的数量 System.out.println(j);//6 比如这里i的++有三个 i=1+3 j的++2个,--1个 j=5+2-1 } }
三、关系运算符
> < >= <= == !=
结果都是布尔类型
package com.szwollf.Day05; // > < >= <= == != public class Operator3 { public static void main(String[] args) { System.out.println(2>3); System.out.println(4<5); System.out.println(3>=3); System.out.println(2<=1); System.out.println(2==2); System.out.println(1!=2); } }
四、逻辑运算符
逻辑运算符结果也是布尔类型
& | ! ^ && ||

package com.szwollf.Day05; // & | ! ^ || && public class Operator04 { public static void main(String[] args) { System.out.println(true & true); System.out.println(false & true); System.out.println("---------------"); System.out.println(false | true); System.out.println(false | false); System.out.println("---------------"); System.out.println(!true); System.out.println(!false); System.out.println("---------------"); System.out.println(false ^ true);//异或 或为真有三种类型 其中11为同或 01和10为异或 即值不相同的或 System.out.println(true ^ true); System.out.println(false ^ false);//这个00就不属于或真 所以肯定是假 System.out.println("---------------"); int a=1; int b=3; System.out.println(false && a<++b); System.out.println(b);//b并没有自增 说明当短路与值一为false时 2压根不会运行 减少不必要的计算 System.out.println(true || true); } }
五、赋值运算符
= += -= *= /=
package com.szwollf.Day05; // =、+=、-=、*=、/=、%= public class Operator05 { public static void main(String[] args) { int a=7; int b=3; System.out.println(b=a);//7 System.out.println(b+=a);//14 System.out.println(b*=a);//98 System.out.println(b/=a);//14 System.out.println(b%=a);//0 } }
六、三目运算符
语法:数据类型 变量名=boolean表达式?值1:值2
如果 boolean 成立则变量名等于值1
如果boolean不成立则变量名等于值2
package com.szwollf.Day05; //三目运算符 public class Operator06 { public static void main(String[] args) { int weight=49; String figure=weight<50? "小姐姐好身材":"亲,建议多运动"; System.out.println(figure); } }
七、if语句
语法:if(布尔表达式){if体,可以是输出语句,变量也可以是if}
if-else语句语法:if(boolean表达式){ if执行体 }else{ else执行体 }
大括号可以省略,以分号分界,所以if和{}间不能加;会使得java找不到if执行体
package com.szwollf.Day05; public class Operator07 { public static void main(String[] args) { if (2<30){ System.out.println("2<30"); } if (5>6){ System.out.println("nonono!"); } if (7>6){ System.out.println("7>6"); } else {//这个else会和最近的if匹配, System.out.println("else"); } } }
if-else-if语句
语法:if(条1){ 执1 }else if(条2){ 执2}else if(条3){执3}...else{ else执行体 }
哪一个条件成立,执行哪一个执行体
如果都不成立,执行else执行体
package com.szwollf.Day05; public class Operator07 { public static void main(String[] args) { int a=5; if (a<30){ System.out.println("2<30"); } if (a>6){ System.out.println("nonono!"); } if (a>6){ System.out.println("7>6"); } else {//if和else间只能是if语句 这个else会和最近的if匹配, System.out.println("else"); } } }
八、switch语句
语法:switch(变量){
case 值1:
语句1
break;
case 值2:
语句2
break;
case 值3:
语句3
break;
...
default:
语句
}
解释:变量的值 == 值几 就会执行其下面的语句,类似于定值变阻器
package com.szpowernode.day03.switchdemo; public class Demo01 { public static void main(String[] args) { int i=5; switch (i){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期天"); break; default: System.out.println("输入有误,请重新输入!"); } } }

如果符合的case后都没有break那么就会从此case一直输出到最后,类似于滑动变阻器

九、循环语句
循环语句分为for循环和while循环,do while循环
语法:for(初始化表达式;布尔表达式;迭代语句) { 循环体 }
package com.szwollf.Day05; public class PracticeFor { public static void main(String[] args) { for (int i=1;i<10;i++){ System.out.println(i); } for (int i=9;i>0;i--){ System.out.println(i); } for (int i=9;true;i--){//一般不写成死循环,容易宕机 System.out.println(i); } } }
while循环
语法:while(布尔表达式){ 循环体 }
和if条件语句很像
package com.szwollf.Day05; public class PracticeWhile { public static void main(String[] args) { int i=1; while(i<10){ System.out.println(i); i++; } } } //死循环,不建议这么写 package com.szwollf.Day05; public class PracticeWhile { public static void main(String[] args) { int i=1; while(true){ System.out.println(i); i++; } } }
do-while循环
语法: do{ 循环体 } while(布尔表达式);
package com.szwollf.Day05; public class PracticeWhile { public static void main(String[] args) { int i=1; do { System.out.println(i); i++; }while(i<10); } }
while和do-while区别?
while先判断,后执行循环体
do-while先执行循环体,再去判断
十、continue break return
continue 结束当次循环
break结束当前循环
return结束当前方法
package com.szwollf.Day05; public class PracticeCBR { public static void main(String[] args) { System.out.println("程序开始"); for (int i=1;i<=10;i++){ if(i==5){ //continue;//结束当次循环 // break;//结束当前for,结束switch return; //结束当前方法 } System.out.println(i); } System.out.println("程序结束!"); } }

浙公网安备 33010602011771号