-
目录
顺序结构
-
分支结构
-
if-else(条件判断结构)
-
- 二选一
- 多选一
- 如果多个条件表达式之间是“互斥”关系(没有交集),哪个判断和执行的语句在上边还是下边,无所谓。
- 如果多个条件表达式之间有交集的关系,要根据实际情况判断哪个结构生命在上边
- 如果多个条件表达式之间有包含的关系,通常情况下,将范围小的声明在范围大的上边,否则,范围小的没有机会执行。
-
//键盘输入三个数字,按照从大到小的顺序输出 Scanner sc=new Scanner(System.in); System.out.println("输入数字a:"); int a=sc.nextInt(); System.out.println("输入数字b:"); int b=sc.nextInt(); System.out.println("输入数字c:"); int c=sc.nextInt(); if(a>b){ if(c>a){ System.out.println(c+","+a+","+b); }else if(c<b){ System.out.println(a+","+b+","+c); }else{ System.out.println(a+","+c+","+b); } }else{ if(c>b){ System.out.println(c+","+b+","+a); }else if(c<a){ System.out.println(b+","+a+","+c); }else{ System.out.println(b+","+c+","+a); } }
-
-
switch-case
- switch(表达式)中表达式的值必须是下述几种类型之一:byte,short, char,int,枚举 (jdk 5.0),String (jdk 7.0);
- case子句中的值必须是常量,不能是变量名或不确定的表达式值;
- 同一个switch语句,所有case子句中的常量值互不相同;
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如 果没有break,程序会顺序执行到switch结尾 ;
- default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时, 执行default,相当于if-else中的else;
- 使用switch-case的,都可以改写为if-else,反之不成立;
-
package TEST; import java.util.Scanner; public class test { public static void main(String[] args) { int num=2; switch(num){ case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; case 3: System.out.println("three"); break; default: System.out.println("other"); } } }
-
-
循环结构
-
在某些条件满足的情况下,反复执行特定代码的功能
-
循环语句的四个组成部分.
- 循环条件部分(test_exp)
- 循环体部分(body_statement)
- 初始化部分(init_statement)
- 迭代部分(alter_statement)
-
-
for
- 语法格式
- for (①初始化部分; ②循环条件部分; ④迭代部分){③循环体部分;}
- ②循环条件部分为boolean类型表达式,当值为false时,退出循环
- ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
- ④可以有多个变量更新,用逗号分隔
- 执行过程:①-②-③-④-②-③-④-②-③-④-.....-②
-
-
package TEST; import java.util.Scanner; /* */ public class test { public static void main(String[] args) { //输入两个正整数m和n,求其最大公约数和最小公倍数。 Scanner sc=new Scanner(System.in); System.out.println("请输入正整数m:"); int m=sc.nextInt(); System.out.println("请输入正整数n:"); int n=sc.nextInt(); //获取两个数中较小值 int min=(m>n)?m:n; for(int i=min;i>=1;i--){//最大公约数要小于较小的那个数 if(m%i==0&&n%i==0){ System.out.println("最大公约数为"+i); break;//跳出循环 } } //获取两个数中较大值 int max=(m>n)?m:n; for(int i=max;i<=m*n;i++){//最小公倍数要大于较大的那个数,小于两个数字的乘积 if(i%m==0&&i%n==0){ System.out.println("最小公倍数是"+i); break; } } } }
-
while
- 语法格式:①初始化部分while(②循环条件部分){③循环体部分;④迭代部分;}
- 执行过程:①-②-③-④-②-③-④-②-③-④-...-②
- for循环和while循环可以相互转换
- 要注意迭代条件,丢失迭代条件会出现死循环
-
do-while
- 语法格式①初始化部分;do{③循环体部分④迭代部分}while(②循环条件部分);
- 执行过程:①-③-④-②-③-④-②-③-④-...②
- 说明:do-while循环至少执行一次循环体。
-
-
package TEST; import java.util.Scanner; /* */ public class test { public static void main(String[] args) { int num=1; int sum=0; int count=0; do{ if(num%2==0){ System.out.println(num); sum+=num; count++; } num++; }while (num<=100); System.out.println("总个数"+count); System.out.println("总和为"+sum); } }
-
-
package TEST; import java.util.Scanner; /* */ public class test { public static void main(String[] args) { //从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。 Scanner sc=new Scanner(System.in); int zheng=0;//正数个数 int fu=0;//负数个数 while(true){ System.out.println("请输入数字:"); int num=sc.nextInt(); if(num>0){ zheng++; }else if(num<0){ fu++; }else { break; } } System.out.println("输入正数个数为"+zheng+","+"输入负数个数为"+fu); } }
- 语法格式
-
程序流程控制
最新推荐文章于 2024-07-09 16:46:46 发布