package com.yl.pdfdemo.day01;
import java.util.Scanner;
/**
* @Author wfj
* @Date 2021/1/16
* @Description for循环的使用
* @Version 1.0
*/
public class ForTest1 {
public static void main(String[] args) {
/**
* for循环的使用
* 4个要素
* 1.初始化条件
* 2.循环条件 ====》boolean类型
* 3.循环体
* 4.迭代条件
*
* 结构
* for (1;2;4) {
* 3
* }
* 执行顺序1-》2-》3》4.....
* 直到2不满足时才跳出for循环
*/
for (int i = 1; i<= 5; i++) {
System.out.println("Vue");
}
//练习
int num = 1;
for (System.out.print("a"); num <=3; System.out.print("c"),num++ ) {
System.out.print("b");
}
//结果
//abcbcbc
//例题:遍历100以内的偶数并且计算它们的和,还有偶数出现的次数
int sum = 0;
int count = 0;
for (int i = 1; i <=100; i++) {
if (i % 2 == 0) {
System.out.println(i);
sum += i;
count++;
}
}
System.out.println("总数为:"+sum);
System.out.println("偶数出现的次数为:"+count);
//练习:在1-150数中,为3的倍数打印foo,为5的倍数打印biz,为7的倍数打印baz
for (int i = 0; i <= 150; i++) {
System.out.print(i+ " ");
if (i % 3 == 0) {
System.out.print("foo");
}
if (i % 5 == 0) {
System.out.print("biz");
}
if (i % 7 == 0) {
System.out.print("baz");
}
System.out.println();
}
//练习:求两个数的最大公约数和最小公倍数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int a = scanner.nextInt();
System.out.println("请输入第二个正整数:");
int b = scanner.nextInt();
//获取两个数的较小值
int c = a >= b ? b: a;
//获取最大公约数
for (int i = c; i >= 1; i--) {
if (a % i == 0 && b % i ==0) {
System.out.println("最大公约数:"+i);
break;//跳出循环
}
}
//获取最小公倍数
int d = a >= b ? a: b;
for (int i = d; i < a * b; i++) {
if (i % a == 0 && i % b == 0) {
System.out.println("最小公倍数为:"+i);
break;
}
}
//练习:求水仙花数,个位数的3次方+十位数的3次方+百位数的3次方等于它本身
for (int i = 100; i <1000; i++) {
//求百位数
int bai = i / 100;
//求十位数
int shi = i % 100 / 10;
//求个位数
int ge = i % 10;
if (((ge*ge*ge) + (shi*shi*shi) + (bai*bai*bai)) == i) {
System.out.println(i);
}
}
}
}