题目:输入两个整数m,n,求其最大公约数和最小公倍数
import java.util.Scanner;
class ForTest{
public static void main(String[] args){
Scanner scan = new Scanner(System,in);
int m = scan.nextInt();
int n = scan.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循环
注意写迭代条件,不写可能导致死循环
for循环和while循环可相互转换.
int n = 1;//初始化条件
while(n>10){//循环条件
System.out.println(n);//循环体;
n++;//迭代条件;
}
for(;;)//while(true)
do-while循环
- 至少会执行一次循环体
int i = 0; //初始化条件
do{
if(i%2 == 0){ //循环体
System.out.println(i);
}
i++; //迭代条件
}while(i<=10); //循环条件
- 结束循环的方式:
循环条件部分返回false
在循环体中执行break;
嵌套循环
将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环
外层循环:循环结构B
内层循环:循环结构A
内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
假设外层循环须执行m次,内层循环须执行n次,此时内层循环的循环体一共执行了m*n次
外层循环控制行数,内层循环控制列数
for(int j = 0;j<=4;j++){//行数
for(int i=0;i<=6;i++){//列数
System.out.println('*');
}
System.out.println('*');
}
/*
******
******
******
******
*/
特殊关键字的使用:
break,continue
break 使用在switch-case 循环结构中使用 结束当前循环
continue 使用在循环结构中 结束当次循环
label:for(int i=0;i<=4;i++){
for(int j = 1;j<=10;j++){
if(j %4 ==0){
//break;//
//continue;//
//break label;//结束指定标识的一层循环结构
//continue label;//结束指定标识的一层循环结构的当次循环
}
System.out.print(j);
}
System.out.println();
}