一:顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。
//自上而下依次执行
public class Test {
public static void main(String[] args) {
int num1 = 1;
int num2 = num1 + 1;
//错误
// int num2 = num1 + 1;
// int num1 = 1;
}
}
二:分支结构 程序根据条件,选择性地执行某段代码
① if else else语句可以没有
public class Test {
public static void main(String[] args) {
//if(条件表达式 值为 boolean 类型 即 true false)
int a = 1, b = 2;
if (a == b){
//条件表达式结果为true时执行的代码
System.out.println(true);
}else{
//条件表达式结果为false时执行的代码
System.out.println(false);
}
}
}
② if else if ... else
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int i = in.nextInt();
if (i % 5 == 0) {
//条件判断成立执行
System.out.println(i + "if (i%5 ==0)");
} else if (i % 4 == 0) {
//上一个if不满足的条件下 如果满足这个else if 进入
System.out.println(i + "else if (i%4==0)");
} else if (i % 3 == 0) {
//上一个else if不满足的条件下 如果满足这个else if 进入
System.out.println(i + "else if (i%3 == 0)");
} else {
//前面的都不满足 进入这个else
System.out.println(i + " else");
}
}
}
②switch case
/**
* 最后一个break 可以省略
* 前面不写break 会产生穿透效果
* 穿透效果大概意思 : case到目标后没有break会顺序执行直到 break或者代码结束
*/
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int i = in.nextInt();
switch (i){
case 1:
System.out.println("一");break;
case 2:
System.out.println("二");break;
case 3:
System.out.println("三");break;
default:
System.out.println("其他");break;
}
}
}
switch( obj ) obj 类型 可以是 int byte shout char 以及其包装类 枚举enum String
三:循环结构 程序根据循环条件,重复性的执行某段代码。
循环语句的四个组成部分
①初始化
②循环判断条件
③循环体
④对循环判断条件的运算
下面将用三种循环演示
/**
*控制台录入 num
* 循环打印 1~num
*
*/
(1) for 循环
for (①初始化; ②循环判断条件; ④对循环判断条件的运算){
③循环体;
}
执行顺序①->②->③->④->②->③->④->②->③->④直到②不满足
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
for (int i = 1; i <= num; i++) {
System.out.println(i);
}
}
}
(2)while 循环
①初始化
while(②循环判断条件){
③循环体;
④对循环判断条件的运算;
}
执行顺序①->②->③->④->②->③->④->②->③->④直到②不满足
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int i = 1;
while (i <= num) {
System.out.println(i);
i++;
}
}
}
do while 循环
①初始化;
do{
③循环体
④对循环判断条件的运算
}while(②循环判断条件);
执行顺序①->->③->④->②->③->④->②->③->④直到②不满足
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int i = 1;
do {
System.out.println(i);
i++;
}while (i<=num);
}
}
for和while都是先判断是否满足再进入循环体
do while 不论条件是否满足都先执行一遍循环体
具体使用要分析具体情况 看个人喜好使用 , for适用于明确初始及结束条件,while 个人常用 while(true) ,do while 几乎不用