Java基础 -Day04
For循环
-
循环结构的4个要素:
①初始化条件
②循环条件----->只能是Boolean类型
③循环体
④迭代条件
-
循环结构
for(①;②;④){
③
}执行过程:① - >② - >③ - >④ - >② - >③ - >④ -> ... -> ②
/*
输入两个正整数(m,n),求其最大公约数和最小公倍数
*/
import java.util.Scanner;
class ForTest2{
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();
//最大公约数:
//1.获取两个数中较小的值
int min = (m <= n) ? m : n;
//2.遍历
for(int i = min;i >= 1;i--){
if(m % i == 0 && n % i == 0){
System.out.println("最大公约数为:" + i);
break;//跳出循环
}
}
//获取最小公倍数
//1.获取两个数中的较大值
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循环
-
循环结构的4个要素:
①初始化条件
②循环条件----->只能是Boolean类型
③循环体
④迭代条件
-
说明:
- 写while循环千万小心不要丢失迭代条件,一旦丢失,就可能造成死循环
- 我们写程序,要避免出现死循环
- for循环和while循环是可以相互转换的
- 区别:for循环和while循环的初始化条件的作用域不同
-
循环结构
①
while(②){
③;
④;
}
执行过程:① - ② - ③ -④ -② - ③ -④ - ... - ②
class WhileTest{ public static void main(String[] args){ //遍历100以内所有偶数 int = 1; while(i <= 100){ if(i % 2 == 0){ System.out.println(i) } i++; } } }
DoWhile循环
-
循环结构的4个要素:
①初始化条件
②循环条件----->只能是Boolean类型
③循环体
④迭代条件
-
do - while循环结构:
①
do{
③;
④;
}while(②);
执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ②
说明:
1.do-while循环至少会执行一次循环体!
2.开发中,使用for和while循环更多一些。
class DoWhileTest{
public static void main(String[] args){
//遍历100以内所有偶数
int = 1;
do{
if(i % 2 == 0){
System.out.println(i)
}
i++;
}while(i <= 100)
}
}
嵌套循环
- 将一个循环放在另一个循环内,就形成了嵌套循环,for,while,do...while均可作为外层循环或内层循环
class BreakContinueTest{
public static void main(String[] agrs){
label:for(int i =1;i <= 4;i++){
for(int j = 1; j <= 10;j++){
if(j % 4 == 0){
//break;//推出当前循环
//continue;//默认跳出包裹此关键字最近的一层循环
break label;//推出指定标识的for循环,continue也适用
}
System.out.print(j);
}
System.out.println();
}
}
}
class WhileTest1{
public static void main(String[] args){
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i; j++){
System.out.print(i + "*" + j + "=" + i*j + " ");
}
System.out.println();
}
}
}
//常见考题
//取正整数100内的质数(也称素数)
class WhileTest1{
public static void main(String[] args){
boolean isFlag = true;//写在外部内存占的少
int count = 0;//计算质数的个数
//获取当前时间距离1970-01-01 00:00:00 的毫秒数
long start = System.currentTimeMillis();
for(int i = 2;i <= 100000;i++){
//优化二:对本身是质数的自然数是有效的
for(int j = 2;j <= Math.sqrt(i);j++){
if(i % j == 0){
isFlag = false;
break;//优化一:只对本身非质数的自然数是有效的
}
}
if(isFlag){
//System.out.println(i);
count++;
}
//重置isFlag
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("质数的个数:" + count);
System.out.println("计算所花的时间为:" + (end - start));
}
}
标签:Java,int,void,基础,System,Day04,while,循环,static
From: https://www.cnblogs.com/lurenj/p/17509340.html