顺序结构比较简单,就是按照代码的书写顺序一行一行的执行。
System.out.println("1");
System.out.println("2");
System.out.println("3");
语法格式1:
if(布尔表达式) {
//语句
}
语法格式2:
if(布尔表达式) {
// 语句1
}else{
// 语句2
}
语法格式3:
if(布尔表达式1) {
// 语句1
}else if(布尔表达式2) {
// 语句2
}else {
// 语句3
}
【练习】
int num = 10;
if (num % 2 == 0) {
System.out.println("num 是偶数");
}else {
System.out.println("num 是奇数");
}
int num = 10;
if (num > 0) {
System.out.println("正数");
}else if (num < 0) {
System.out.println("负数");
}else {
System.out.println("0");
}
int year = 2000;
if (year % 100 == 0) {
//世纪闰年
if (year % 400 == 0) {
System.out.println("是闰年");
}else {
System.out.println("不是闰年");
}
}else {
//普通闰年
if (year % 4 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}
基本语法:
switch(表达式) {
case 常量值1:{
语句1;
break;
}
case 常量值2:{
语句2;
break;
}
…
default:{
内容都不满足时执行语句;
[break;]
}
}
执行流程:
**代码示例:**根据day的值输出星期
int day = 1;
switch(day) {
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("输入有误");
break;
}
【注意】
多个case后的常量值不可以重复
switch的括号内只能是以下类型的表达式:
基本语法:
while(循环条件) {
循环语句;
}
循环条件为true,则执行循环语句;否则结束循环。
代码示例1: 打印 1 - 10 的数字
int i = 1;
while (i <= 10) {
System.out.println(i);
i++;
}
代码示例2: 计算 1 - 100 的和(计算1 - 100 奇数的和)
int i = 1;
int sum = 0;
while (i <= 100) {
sum += i;
i++;
}
System.out.println(sum); //5050
int a = 1;
int sumOdd = 0; //奇数和的初始值
while (i <= 100) {
sumOdd += a;
i += 2;
}
System.out.println(sumOdd);
代码示例3: 计算 5 的阶乘
int i = 1;
int result = 1;
while (i <= 5) {
result *= i;
i++;
}
System.out.println(result); //120
代码示例5: 计算 1!+ 2!+ 3!+ 4!+ 5!
int a = 1;
int sum = 0;
while (a <= 5) { //外层循环做加法,计算各个阶乘相加的值
int i = 1;
int ret = 1;
while (i <= a) { //内层循环计算阶乘的值
ret *= i;
i++;
}
sum += ret;
a++;
}
System.out.println(sum);
}
break 的功能是让循环提前结束。
int i = 1;
while (i <= 10) {
if (i == 2) {
break;
}
System.out.println(i); //输出1
i++;
}
continue 的功能是跳过这次循环, 立即进入下次循环。
int i = 1;
while (i <= 10) {
if (i == 2) {
continue;
}
System.out.println(i); //死循环了,这里i到2的时候,跳过本次循环,没有+1,i一直是2,一直循环
i++;
}
题目示例: 找到 1 - 100 内,既能被3整除,也能被5整除的数字。 要求:使用break或者continue当中的一个。
int i = 1;
while (i <= 100) {
if (i % 15 != 0) {
i++;
continue;
}
System.out.println(i);
i++;
}
【基本语法】
for(表达式①;布尔表达式②;表达式③){
表达式④;
}
【执行过程】
①②③④—>②③④—>②③④—>……—>②为false,循环结束。
【代码示例】
for (int i = 1; i < 11; i++) {
System.out.println(i);
}
int sum = 0;
for (int i = 0; i < 101; i++) {
sum += i;
}
System.out.println(sum); //5050
int sum = 1;
for (int i = 1; i <= 5; i++) {
sum *= i;
}
System.out.println(sum); //120
int result = 0;
for (int i = 1; i <= 5; i++) {
int sum = 1;
for (int j = 1; j <= i; j++) {
sum *= j;
}
result += sum;
}
System.out.println(result); //153
do{
循环语句;
}while(循环条件);
先执行循环语句,再判定循环条件,循环条件成立则继续执行,否则循环结束。
【代码示例】
打印 1 - 10
int i = 1;
do {
System.out.println(i);
i++;
}while (i <= 10);
【注意】