java学习笔记day2
一、循环结构
输出结果为:abcbcbc 因为满足初始条件后直接进入循环体,然后跳过初始条件,最后运行迭代部分。
1.break关键字和for循环。
package Demo;
import java.sql.SQLOutput;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
System.out.println("请输入第一个正整数:");
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
System.out.println("请输入第二个正整数:");
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 j = max;j <= m * n ; j++) {
if (j % m == 0 && j % n == 0) {
System.out.println("最小公倍数是:" + j);
break;
}
}
}
}
2.while循环。
1.注意不要漏写迭代条件。
2.避免出现死循环。
3.for和while可以相互转换。
算法:有限性
①
while(②){
③;
④
}
3.do-while循环结构:
1.至少会循环一次循环体。
①
do{
③;
④;
}while(②);
执行顺序①>③>④>②
4.嵌套循环。
1.将一个循环结构A声明在另一个循环结构的B循环体中
2.外层循环:
内层循环:
3.①内层循环遍历一遍,只相当于外层的一次。
②外层循环m次,内n次,内循环m*n.
4.外层循环控制行数,内层控制列数。
package Demo;
import java.sql.SQLOutput;
public class Demo5 {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
输出质数
优化1:在内层循环体加break。
优化2:开方内循环i
5.break和continue的使用。
break: 循环结构和分支结构 结束当前循环 关键字后面不能声明结束语句
continue:循环结构 结束当次循环
labal:指定某一循环结束