JavaSe-2022-11-30
每日一句:把命运掌握在自己手中
学习内容:doWhile循环语句、for循环的使用、Scanner和Random工具类
-
doWhile循环语句
-
先执行判断条件,尽量减少循环次数和嵌套次数、提高效率
//语句结构 do{ //循环体; }while(循环条件); //具体的使用 int i = 1; do{ System.out.println(i); i++; }while(i<=100);
-
-
for循环的使用
//乘法口诀表 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { sum = i * j; System.out.print(j + "*" + i + "=" + sum + "\t"); } System.out.println(); } //打印矩形 for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.print("*"); } System.out.println();//换行 } //打印平行四边形 for (int i = 0; i < 5; i++) { for (int j = 0; j < 4-i; j++) { System.out.print(" "); } for (int j = 0; j < 5; j++) { System.out.print("*"); } System.out.println(); } //打印菱形 Scanner sc = new Scanner(System.in); System.out.println("请输入菱形要打印的行数:"); int n = sc.nextInt(); for (int i = 0; i < n / 2 + 1; i++) { for (int j = 0; j < n / 2 - i; j++) { System.out.print(" "); } for (int j = 0; j < i*2+1; j++) { System.out.print("*"); } System.out.println(); } for (int i = 1; i < n / 2 +1; i++) { for (int j = 0; j < i; j++) { System.out.print(" "); } for (int j = 2*(n/2 - i) + 1; j > 0;j--) { System.out.print("*"); } System.out.println(); }
-
Scanner工具类的使用
-
是java.util包下的一个类,我们可以通过Scanner像控制台输出
// 创建控制台扫描器 Scanner sc = new Scanner(System.in); System.out.println("请输入字符串:"); String n = sc.next(); System.out.println("请输入小数:"); double d = sc.nextDouble(); System.out.println("请输入整数:"); int i = sc.nextInt();
-
-
Random工具类的使用
-
是java.util包下的一个类,我们可以通过Random来生成随机数
//创建Random对象 Random random = new Random(); int num = random.nextInt(); System.out.println(num); num = random.nextInt(100); //0-100 System.out.println(num); // 生成20-33随机数的一个号码 num = random.nextInt(14)+20; System.out.println(num);
-
-
作业:
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TPREJbxl-1669811753660)(郑森冰代码/img/day03作业.jpg)]
-
代码实现:
-
import java.util.Scanner; public class Work221130 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //第一题 int sum = 0; for (int i = 2000; i < 2008; i++) { if((i%4==0 && i%100 != 0) || i%400 == 0){ sum += 366; }else{ sum += 365; } } System.out.println("相隔"+sum+"天"); //第二题 for (int i = 100; i <= 1000; i++) { int a = i%10; int b = i/10%10; int c = i/10/10%10; if (a*a*a + b*b*b + c*c*c == i){ System.out.println("水仙花数为"+i); } } //第三题 int sum1 = 0; int sum2 = 2; for (int i = 1; i <= 100; i++) { if(i%2==0){ sum1 += i; }else if(i%2!=0){ sum2 -= i; } } int zonghe = sum1+sum2; System.out.println("总和是"+zonghe); // 第四题 for (int i = 2; i <= 100; i++) { boolean flag = true; for (int j = 2; j < i; j++) { if(i % j == 0){ flag = false; } } if(flag){ System.out.println("1~100的质数:"+i); } } //第五题 for (int i = 1; i <= 1000; i++) { int num = 0; for (int j = 1; j <= i/2; j++) { if(i%j == 0){ num +=j; } } if(i == num){ System.out.println("完数"+num); } } //第六题 double dayMoney = 0; //钱的总数 int count = 1; //每一天 while(true){ dayMoney += 2.5; if(dayMoney >= 100){ System.out.println("共花了"+count+"天,花了"+dayMoney+"元"); break; } if(count % 5 == 0){ dayMoney -= 6; } count++; } //第七题 int m = 26; int n = 16; int x; if(m>n){ x = m; }else{ x = n; } while(m%x != 0 || n%x != 0){ x--; } System.out.println(x); } }
新手起步,如果有写的不好的地方,敬请谅解。
-
-
gitee代码仓库地址:https://gitee.com/Zhengsenbing/java-se-basic