一、顺序结构
按照正常的语句顺序从上往下执行。
二、 分支结构
1、 if分支
(1)if单分支
① if分支的第一种情况,只有一条路可走。
② 语法:
if(判断语句){
当判断语句结果为true,执行该代码。
}
(2) if…else分支
① if分支的第二种情况,有两条路可以走。
② 语法:
if(判断语句){
当判断语句结果为true的时候,执行该代码
}else{
当判断语句结果为false的时候,执行该代码
}
(3) if…else嵌套分支
① if分支的第三种情况,有多条路可以走。
② 语法:
if(判断语句1){
当判断语句1返回为true的时候,执行该代码
} else if(判断语句2){
当判断语句2返回为true的时候,执行该代码
}else if(判断语句3){
当判断语句3返回为true的时候,执行该代码
}
......
else{
当前面所有判断语句都为false的时候,执行该语句
}
③ Demo:根据年龄判断所属成长阶段
public class Demo{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
if(age >= 0 && age < 6) {
System.out.println("儿童");
}else if(age >= 6 && age < 12) {
System.out.println("少年");
}else if(age >= 12 && age < 18) {
System.out.println("青少年");
}else if(age >= 18 && age < 30) {
System.out.println("成年");
}else if(age >= 30 && age < 40) {
System.out.println("中年");
}else if(age >= 40 && age < 60) {
System.out.println("中老年");
}else if(age >= 60 && age < 135) {
System.out.println("老年");
}else {
System.out.println("年龄不合法");
}
}
}
④ 补充:键盘输入方法
import java.util.Scanner;
public class Test4{
public static void main(String[ ]args){
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt();
double weight = scanner.nextDouble();
String name = scanner.next();
System.out.println("age = "+age);
System.out.println("weight = "+weight);
System.out.println("name = "+name);
}
}
2、switch分支
(1)switch(值或者变量)
(2)语法:
switch(值或者变量){
case 值1:当传入的值和值1相等的时候,执行该代码;
break;
case 值2:当传入的值和值2相等的时候,执行该代码;
break;
case 值3:当传入的值和值3相等的时候,执行该代码;
break;
......
default:当前面所有的值都不满足条件的时候,执行该代码;
}
(3)break的作用:当找到正确的匹配时,执行完之后,则结束整个switch。
(4)switch(值或者变量),“值或变量”在JDK版本1.7之前不可以是字符串,1.7版本之后可以是字符串。
(5)Demo
三、循环结构
1、for循环
(1)语法:
for(初始化变量;判断语句;改变变量的值){
需要重复执行的代码;
}
(2)Demo:计算1-100的累加和
public class Demo{
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i <= 100; i++) {
sum = sum + i;
}
System.out.println("1-100的累加和为:" + sum);
}
}
2、while循环
(1)语法:
初始化变量值;
while(判断语句){
循环执行的代码;
改变变量的值;
}
(2)Demo:计算1-100的累加和
public class Demo{
public static void main(String[] args) {
int i = 1;
int sum = 0;
while(i <= 100) {
sum = sum + i;
i++;
}
System.out.println("1-100的累加和为:" + sum);
}
}
3、do…while循环
语法:
初始化变量值;
do{
循环执行的代码;
改变变量的值;
}while(判断语句);
(2)Demo:计算1-100的累加和
public class Demo{
public static void main(String[] args) {
int i = 1;
int sum = 0;
do{
sum = sum + i;
i++;
}while(i <= 100) ;
System.out.println("1-100的累加和为:" + sum);
}
}
4、注
(1)while与do…while的区别:
前者先判断条件再执行,后者先执行一次,再判断条件。
(2)break和continue的区别:
用一个例子来说明:循环打印输出1-20的整数
public class Demo{
public static void main(String[] args) {
//continue的作用
System.out.println("continue打印输出的结果为:");
for(int i = 0; i <= 20; i++) {
if(i == 10) {
continue;
}
System.out.print(i + " ");
}
//break的作用
System.out.println("\n\nbreak打印输出的结果为:");
for(int i = 0; i <= 20; i++) {
if(i == 10) {
break;
}
System.out.print(i + " ");
}
}
}
得到如下结果:
continue打印输出的结果为:
0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20
break打印输出的结果为:
0 1 2 3 4 5 6 7 8 9
可以得知:
① continue:使用continue,当循环到i = 10的时候,会跳过本次打印输出,但是不会影响下面的循环,后面只要满足条件还会继续打印输出。所有continue是跳过本次循环,只要条件满足则继续执行下一次循环,并不会影响循环次数。
② break:使用break,当循环到i = 10的时候,会结束整个循环过程。所以break是结束整个循环,就算条件满足也不再往下进行。