第四单元 循环单元

文章提供了多个Java编程的基础知识和算法练习,包括运算符优先级、数据类型、内存管理以及循环结构的运用。通过示例代码展示了输出特定数字、判断6相关数、计算奇数和、输出字母表、交替字母表、猴子摘桃问题、日期计算等算法问题,同时涵盖了闰年判断和循环控制。
摘要由CSDN通过智能技术生成

今日笔记

1、 运算符优先级(单目移比较,位辑三等点)算数>关系>逻辑

2、引用类型: String 类 数组 接口  枚举 …

3、栈是存放实际的值,堆是存放地址。

4、if擅长区间、switch擅长固定值。

今日作业

1:输出1-100

package hei;

public class 输出一到一百 {
    public static void main(String[] args) {
        for (int i=1;i<=100;i++){
            System.out.printf("%-4d",i);
        }
    }
}

2:输出1-100之间所有与数字6有关的数字(6的倍数、6开头、6结尾)

package hei;

public class b {
    public static void main(String[] args) {
        for (int i=1;i<=100;i++){
            if (i%6==0||i/10==6||i%10==6){
                System.out.println("输出关于6有关的数"+i);
            }
        }
    }
}

3:输出100以内的偶数的和和奇数的和。

package hei;

public class 偶数的和奇数的和 {

    public static void main(String[] args) {
        int o=0;int j=0;
        for (int i=1;i<=100;i++){
            if(i%2==0){
                o+=i;
            }else {
                j+=i;
            }
        }
        System.out.println("偶数的和为:"+o+"奇数的和为"+j);
    }
}

4:输出英文字母表: a-z

package hei;

public class 输出英文 {
    public static void main(String[] args) {
        for (char i='a';'z'>=i;i++){
            System.out.println("字母为:"+i);
        }
    }
}

5: 输出大小写交替的字母表:aBcDEf.....xYz

package hei;

public class daxiao {
    public static void main(String[] args) {
        for (int i=0;i<26;i++){
            if(i%2!=0){
                System.out.print((char) ('a'+i-32)+"  ");
            }
            else{
            System.out.print((char) ('a'+i)+"  ");
            }
        }
    }
}

6: 一只猴子摘桃吃,第一天吃了所摘桃子的一半,不过瘾又多吃了一个。
   第二天,又吃了第一天所剩的桃子的一半多一个,
   以后每天都吃上一天所剩桃子的一半多一个,吃到第10天是就剩一个桃了。
   问:共摘了多少个桃子?

注意:因为题说吃到第10天是就剩一个桃了,所以只是吃了9天的桃子,注意多行注释应该是int  i=9;

package hei;

public class tiaozi {
    public static void main(String[] args) {
        int t=1;
        for (int i=9;i>0;i--){
           t=2*(t+1);
        /*for (int i=10;i>=1;i--){
            t=(t+1)*2;*/
        }
        System.out.println("这个猴子摘了"+t+"个桃");
        }

    }

7:输出1900-1-1到2023-12-31共有多少天(需要考虑闰年)

package hei;

public class tianshu {

    public static void main(String[] args) {
        int day=0;
        for (int i=1900;i<=2023;i++){
            day+=365;
            if(i%4==0 && i%100!=0 || i%400==0){
                day+=1;
            }
        }
        System.out.println(day);
    }
}

8:输出1900年到2023年的所有闰年以及个数(多少个闰年)
 

package hei;

public class 闰年个数 {
    public static void main(String[] args) {
        int sum=0;
        for (int year=1900;year<=2023;year++){
            if(year%4==0&&year%100!=0||year%400==0){
                sum++;
            }
        }
        System.out.println("闰年总共为:"+sum);
    }
}
题目一
题目要求:
1. 完成以下题目:
2. 请编写程序,求出 1-100 之间奇数和,实现计算 “1+3+5+7+…+99” 的值
评分要求:
1. 新建包 com.alibaba.demo03, 准备存放类
2. 新建类
3. 正确循环 1-100 的所有数值
4. 正确使用运算符,筛选出其中的奇数
5. 正确计算所有奇数的和,并打印输出到控制台
6. 编码规范,必须包含三种注释
package alibaba;

public class Dome3 {
    public static void main(String[] args) {
        int sum=0;
        for(int i=1;i<=100;i++){
            if (i%2!=0){
                sum+=i;
            }

        }
        System.out.println("奇数和为:"+sum);
    }

}
题目二
题目要求 :
小芳的妈妈每天给她 2.5 元钱,她都会存起来,但是,每当这一天是存钱的第 5 天或者 5 的倍数的话,她
都会花去 6 元钱,请问,经过多少天,小芳才可以存到 100 元钱。(提示:用 break
评分标准:
(1) 正确使用循环
(2) 正确退出,结果正确
(3) 添加注释至少三种,逻辑清晰,编码规范
public class 小明攒钱 {
    public static void main(String[] args) {
        double money=0;
        int count=0;
        while (money<=100){
            money+=2.5;
            count++;
            if (count%5==0){
                money-=6;
            }
        }
        System.out.println("第"+count+"天能挣到100元");
    }
}

练习题目:

定义三个变量:接收年、月、日 根据输入的年月日,计算该日期是当年的第几天。(考虑闰年) 例如: 2000-11-22 输出2000年11月22日是2000年的第324天。

编程:软件开发:把思路转换为代码

解题思路

1月8日: 第8天

2月8日:第31+8

2月8日:31+28+8

import java.util.Scanner;

public class nian {
    public static void main(String[] args) {
        int year = 0;
        Scanner q = new Scanner(System.in);
        System.out.println("输入年");
        int z = q.nextInt();
        System.out.println("输入月");
        int x = q.nextInt();
        System.out.println("输入日");
        int c = q.nextInt();
            switch (x) {
                case 12:
                    year += 30;
                case 11:
                    year += 31;
                case 10:
                    year += 30;
                case 9:
                    year += 31;
                case 8:
                    year += 30;
                case 7:
                    year += 31;
                case 6:
                    year += 31;
                case 5:
                    year += 31;
                case 4:
                    year += 31;
                case 3:
                    year += 28;
                case 2:
                    year += 31;
                case 1:
                    year += c;
                    break;
                default:
                    System.out.println("输入错误");
            }
            if (x>2){
        if (z % 4 == 0 && z % 100 != 0 || z % 400 == 0) {
            year+=1;
        }
            }
        System.out.println("总天数:"+year);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值