控制语句分为条件语句和循环语句,其中条件语句包括if、if...else 、switch语句;循环语句包括while、do...while、 for。
条件语句
1.if 语句(单一条件)
if(布尔值){
执行语句块;
}
if语句的代码执行过程为:如果条件表达式返回真值,则执行功能代码块中的语句;如果条件表达式返回值为假,则不执行功能代码块。
例题1:判断一个数是奇数还是偶数?
int x=5;
if(x%2==0) {
System.out.println("此数是偶数");
}
if(x%2!=0) {
System.out.println("此数是奇数");
}
2.if --else
if(条件表达式){
功能代码块1
}else{
功能代码块2
}
例题2:同样使用例题1的问题:
int x=5;
if(x%2==0) {
System.out.println("此数是偶数");
}else {
System.out.println("此数是奇数");
}
我们会发现,代码比if语句简单多了,此数当判断为不是偶数,即会转到else下的语句块执行。
3.if语句(多选一)
if(条件表达式1){
功能代码块1;
}else if(条件表达式2){
功能代码块2;
}else if(条件表达式3){
功能代码块3;
... ...
}else{
功能代码块n;
}
4.switch语句
switch(表达式){
case 取值1:
语句块1;
\[break;\]
case 取值2:
语句块2;
\[break;\]
......
case 取值n:
语句块n;
\[break;\]
default:
语句块n+1;
}
例题3:判断季节的生活状态。
String s="春";
switch (s) {
case "春":
System.out.println("上班");
break;
case "夏":
System.out.println("上班");
break;
case "秋":
System.out.println("上班");
break;
default:
System.out.println("冬眠");
break;
}
二、循环语句
1.while语句
例子4:计算1-10的整数和。
int i=1;
int sum=0;
while(i<=10) {
sum+=i;
i++;
}
System.out.println(sum);
2.do--while语句
例题5:计算1-5的和。
int num=1;
int sum=0;
do {
sum+=num;
num++;
}while(num<=5);
System.out.println(sum);
}
3.for循环
打印出竖着四行: ****
for(int i=0;i<4;i++) { //0行
for(int a=0;a<4;a++) { //列
System.out.print("*");
}
System.out.println("");
}
while和for循环之间的区别就是,前者不知循环次数,后者知道循环次数。
跳出语句:break:跳出整个循环;continue:跳出本次循环。
例题6:打印99乘法表。
// 打印乘法表
for(int i=1;i<10;i++) {
for(int a=1;a<i+1;a++) {
System.out.print(a+"*"+i+"="+(a*i)+"\t" );
}
System.out.println("");
}
例题7:经典水仙花题(一个三位数,每个位上的立方等于其三位数)。
for(int i=1;i<1000;i++) {
int a=i%10; //个位
int b=i/10%10; //十位
int c=i/100; //百位
if(a*a*a+b*b*b+c*c*c==i) {
System.out.println(i);
}
}
例题8:求3和12最大公约数。
int m = 3;
int n = 12;
int result = 1;
for (int i = 1; i <= m; i++) {
if ((m % i == 0) && (n % i == 0)) {
result = i;
}
}
System.out.println(result);
今日总结:流程控制语句主要还是多加练习,用题来慢慢理解每个循环的优缺点。
last补充:位运算符 :& 按位与 | 按位或 ^ 异或 ~取反 >> 左移 << 右移 >>>不移
202103051646-----------------------未完待续