- 顺序结构
- 分支结构
- 循环结构
1、顺序结构
顺序结构就是按照代码书写的顺序一行一行执行。就不多介绍了。
2、分支结构
主要介绍if语句,switch语句
2.1、if语句
形式1:
if(布尔表达式) {
//条件满足时执行此语句
}
形式2:
if(布尔表达式){
//条件满足时执行此语句
}else{
//条件不满足时执行此语句
}
形式3:
if(布尔表达式){
//条件满足时执行此语句
}else if(布尔表达式){
//条件满足时执行此语句
}else{
//条件都不满足时执行此语句
}
需要注意的有以下几点:
(1)if/else语句中可以不加大括号,此时else是和最接近的if匹配。但在日常写代码中,不建议这样写,需要加上大括号。
(2)不可以在表达式后面加分号哦。
示例:判定是否是闰年
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNextInt()){
int year = scan.nextInt();
if(year % 4 == 0 && year % 100 != 0 || year % 400 ==0){
System.out.println(year + "是闰年");
}else {
System.out.println(year + "不是闰年");
}
}
}
2.2、switch语句
基本语法:
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
…
default:{
内容都不满足时执行语句;
[break;]
}
}
注意:
(1)根据switch中的值不同,会执行对应的case语句,遇到break就会结束该语句。如果switch中的值没有匹配的case,就会执行default中的语句。
(2)break不要漏掉,否则就没有多分枝的效果了,代码会依次向下执行。
(3)switch中的值只能是整数|枚举|字符|字符串。long float double boolean都不能作为参数。
(4)switch不能表达复杂的条件。
(5)虽然switch支持嵌套,但是不建议,因为它丑。
public static void main(String[] args) {
int a = 10;
switch (a){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
default:
System.out.println("3");
break;
}
}
3、循环结构
主要介绍while循环、for循环、do while循环
3.1、while循环
格式:
while(循环条件){
循环语句;
}
循环条件为true,则执行循环语句,或者结束循环。
示例:计算5!
public static void main(String[] args) {
int i = 1;
int result = 1;
while(i <= 5) {
result *= i;
i++;
}
System.out.println(result);
}
计算1!+ 2!+3!+4!+5!
public static void main(String[] args) {
int num = 1;
int sum = 0;
while(num <= 5) {
int i = 1;
int result = 1;
while(i <= num) {
result *= i;
i++;
}
sum += result;
num++;
}
System.out.println(sum);
}
3.2、for循环
格式:
for(表达式1;表达式2;表达式3){
循环体;
}
表达式1:用于初始化循环变量
表达式2:循环条件
表达式3:更新循环变量
执行顺序:表达式1–>表达式2–>循环体–>表达式3
示例1:
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
}
}
计算 1! + 2! + 3! + 4! + 5!
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();//5
//内部先求阶乘 外部再相加
int sum = 0;
for (int j = 1; j <= num; j++) {
int ret = 1;
for (int i = 0; i <= 5; i++) {
ret *= i;
}
sum += ret;
}
System.out.println(sum);
}
3.3、do while循环
格式:
do {
循环语句;
} while(循环条件);
先执行循环语句,再判定循环条件。
注意:
(1)do while循环后的分号不可以忘记。
(2)do while循环中,循环语句至少被执行一次。
示例:
public static void main(String[] args) {
int num = 0;
do{
System.out.println("hhhhh");
}while (num != 0);
}