回顾:
上次学到了三种基本的程序流程控制: 顺序结构、分支结构、循环结构
分支结构 包括: if – else 、switch – case
循环结构 包括: for 、while 、 do – while
上次学到了for循环
import java.util.Scanner;
class ForTest{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入正整数m");
int m = scan.nextInt();
System.out.println("请输入正整数n");
int n = scan.nextInt();
//获取最大公约数:
/*
思路:
最大公约数肯定不大于最小的那个正整数,
因此可以从两个最小的正整数开始,
从大往小开始找使得 m % i ==0 和 n % i ==0 都成立的数
找到第一个成立的数即为最大公约数
*/
//1、获取两个正整数中的较小值
int min =(m >= n) ? n : m;
//2、遍历
for(int i =min;i>=1 ; i--){
if (m % i ==0 && n % i ==0){
System.out.println(m + "和" + n + "的最大公约数为" + i);
break;//一旦在循环中执行到break,就跳出循环
}
}
//获取最小公倍数
/*
思路:
最大公倍数大于最大的正整数,
因此可以从最大的那个正整数开始遍历
从小往大开始找使得 m % i ==0 和 n % i ==0 都成立的数
这个数不大于两个数的乘积
*/
//1、获取两个正整数中的较大值
int max =(m >= n) ? m : n;
//2、遍历
for(int i =max;i <= m * n; i++){
if (i % m ==0 && i % n ==0){
System.out.println(m + "和" + n + "的最小公倍数为" + i);
break;//一旦在循环中执行到break,就跳出循环
}
}
}
}
循环结构2:while循环
for循环和while循环的区别:
初始化条件的作用范围不同,for循环的初始化条件只在for循环内有效,while的初始化变量在外部仍旧有效。
遍历100以内的所有偶数:
循环结构3 :do – while 循环
遍历100以内的所有偶数:
遍历100以内的偶数,并计算所有偶数的和以及偶数的个数:
开发中,使用for和while较多,使用do – while较少
说明:
1、不在循环条件部分限制次数的结构: for( ; ; ) 、while(true)
2、结束循环有几种方式?
方式一:循环条件部分返回false
方式二:在循环体中,执行break
嵌套循环
输出质数:
输出质数优化: