Java学习日记 day03

今天复习了一堆循环的东西,因为学过了而且这个学期又在学python,所以上手很快,不过也有一些细节是新发现的,不得不说宋红康老师讲的是真的细哈哈哈哈


1.Scanner接收键盘输入

Scanner接受键盘的输入

每个类型都有对应匹配的东西才能接收,否则会报错

package day03;

import java.util.Scanner;

/**
 * Scanner 获取多种类型数据
 * @author 爱划水的鸟
 * @date 2021/6/9 - 17:29
 */
public class ScannerTest {
    public static void main (String[] args){
        //实例化Scanner
        Scanner sc = new Scanner(System.in);
        //获取int型
        int i =  sc.nextInt();
        //获取str字符串
        String s = sc.next();
        //double类型
        double d = sc.nextDouble();
        //boolean类型的获取
        boolean b = sc.nextBoolean();
        //byte类型的获取
        byte by = sc.nextByte();
        //long类型的获取
        long l = sc.nextLong();
    }
}

2.if-else判断语句

if-else都是熟客了,就直接写了三个简单的题回顾了一下就过了

package day03;

import java.util.Scanner;

/**
 * if-else 简单的使用练习
 * @author 爱划水的鸟
 * @date 2021/6/9 - 17:54
 */
public class if_elseExer01 {
    public static void main(String[] args){
        //编写程序,声明2个int类型变量并赋值,并判断两数之和,如果大于等于50,打印“hello world!”
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入两个数:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();

        if ((num1 + num2) >= 50){
            System.out.println("hello world!");
        }else {
            System.out.println();
        }
    }
}
package day03;

import java.util.Scanner;

/**
 * if-else 的简单练习
 * @author 爱划水的鸟
 * @date 2021/6/9 - 18:02
 */
public class if_elseExer02 {
    public static void main(String[] args){
        /*
        编写程序,声明两个double类型变量并赋值。判断第一个数大于10.0,且第二个数小于20.0,
        打印两个数之和。否则,打印两数之积
         */

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个数:");
        int num2 = sc.nextInt();

        //判断输出
        if (num1 > 10 ){
            if (num2 < 20) {
                System.out.println("两数之和为:" + (num1 + num2));
            }else{
                System.out.println("两数之积为:" + num1 * num2);
            }
        }else{
            System.out.println("两数之积为:" + num1 * num2);
        }
    }
}
package day03;

import java.util.Scanner;

/**
 * if-else的简单练习
 * @author 爱划水的鸟
 * @date 2021/6/9 - 18:11
 */
public class if_elseExer03 {
    public static void main(String[] args) {
        //我家的小狗5岁了,5岁的狗相当于人类多大呢?其实狗的前两年每一年
        //相当于人类的10.5岁,之后每一年就增加4岁。那么5岁的狗狗就相当于人类
        //年龄多少岁呢?应该是10.5 + 10.5 + 4 + 4 + 4 = 33岁

        Scanner sc = new Scanner(System.in);
        System.out.print("请输入狗狗的年龄:");
        double dogAge = sc.nextDouble();
        //先判断获取到的年龄是否为负数
        if (dogAge < 0){
            System.out.println("狗狗还没出生呢!");
        }else{
            if (dogAge <= 2){
                System.out.print(dogAge);
                System.out.print("岁的狗狗相当于人类的");
                System.out.println(dogAge * 10.5 + "岁");
            }else{
                System.out.print(dogAge);
                System.out.print("岁的狗狗相当于人类的");
                System.out.println(2 * 10.5 + (dogAge - 2) * 4 + "岁");
            }
        }

    }
}

3.switch-case判断语句

这个用的比较少,不过也基本会用,不过那个default放前面的话会穿透一个case是我新get√到的

package day03;

import java.util.Scanner;

/**
 * switch-case的结构
 * @author 爱划水的鸟
 * @date 2021/6/9 - 19:30
 */
public class SwitchCaseTest {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        switch (num){   //这里的num可填的类型有byte 、 short 、 char 、 int 、 枚举类型(JDK5.0新增) 、 String(JDK5.0新增)
            case 0:
                System.out.println(0);
                break;  //跳出循环
            case 1:
                System.out.println(1);
                break;
            case 2:
                System.out.println(2);
                break;
            case 3:
                System.out.println(3);
                break;
            //编译错误
            //case num > 3:     //case 之后只能声明常量。不能声明范围。
                //System.out.println(“other”);
            default:
                System.out.println("other");
                break;
        }
        switch (num){
            default:
                System.out.println("other");    //小细节,没有break的default会穿透
            case 0:
                System.out.println(0);
//                break;  //跳出循环
            case 1:
                System.out.println(1);          //但是只能穿透一个case
                break;
            case 2:
                System.out.println(2);
                break;
            case 3:
                System.out.println(3);
                break;
        }
    }
}

4.for循环

for循环也是老熟客了,基本的用法也都熟悉了,写了点小例题

package day03;

/**
 * for循环的使用
 * @author 爱划水的鸟
 * @date 2021/6/9 - 19:57
 */

    /*
        循环结构的四个要素
        ①初始化条件
        ②循环条件
        ③循环体
        ④迭代部分

        for(①;②;④){
            ③
        }
    */
public class ForTest {
    public static void main(String[] args) {
        //简单的for循环
        for (int i = 1;i < 5;i++){
            System.out.println("hello world!");
        }

        //了解for循环的运行顺序
        int num = 3;
        for (System.out.println("a");num <= 3; System.out.println("c"),num++){
            System.out.println("b");
        }
        //运行结果为abc,所以运行顺序就自己看去


        //写一道小例题
        /*
        编写程序从1循环到150,并在每一行打印一个值,另外在每个3的倍数行上
        打印出“foo”,在每个5的倍数行上打印“biz”,在每个7个的倍数行上打印输出“baz”。
         */
        for (int i = 1;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();
        }

        //九九乘法表(for 循环的嵌套)
        for (int i = 1;i <= 9;i++){
            for (int j = 1;j <=i;j++){
                System.out.print(j + "*");
                System.out.print(i + "=");
                System.out.print(i*j + " ");
            }
            System.out.println();
        }
    }
}

5.while循环语句

这个也是老熟人了哈哈哈,写了个遍历100内的偶数熟悉了一下

package day03;

/**
 * While 循环的使用
 * @author 爱划水的鸟
 * @date 2021/6/9 - 20:38
 */

    /*
        ①初始化条件
        ②循环条件
        ③循环体
        ④迭代部分

    ①
    while(②){
        ③
        ④
    }
     */
public class WhileTest {
    public static void main(String[] args) {
        int i = 1;
        //while循环的简单使用
        //遍历100以内的偶数
        while (i < 100) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
            i++;    //迭代条件不可忘,忘了就变死循环
        }
    }
}

6.do-while循环语句

这个虽然用的相对比较少,但是基本原理还是一样,能懂会用,草草过了

package day03;

/**
 * do-while 循环
 * @author 爱划水的鸟
 * @date 2021/6/9 - 21:05
 */

    /*
    ①初始化条件
    ②循环条件
    ③循环体
    ④迭代部分

    ①
    do{
        ③;
        ④;

    }while(②)

    顺序:1 --> 3--> 4--> 2--> -->3 -->4 -->2 .... -->2
     */
public class DoWhileTest {
    public static void main(String[] args) {
        //遍历100以内的偶数
        int i = 1;
        do{
            if (i % 2 == 0){
                System.out.println(i);
            }
            i++;
        }while(i <100);
    }
}

7.死循环语句的使用

这个也是有用过,但是有时候用的很懵逼,有时候会跳不出来,今天学习了可以更规范的去使用了

package day03;

import java.util.Scanner;

/**
 * 死循环的运用
 * @author 爱划水的鸟
 * @date 2021/6/9 - 21:16
 */
public class ForWhileTest {
    public static void main(String[] args) {
        //例题:从键盘读入个数不确定的整数,并判断读入的整数和负数的个数,输入为0时结束程序
        Scanner sc = new Scanner(System.in);
        //for循环写法
        int zhengCounter = 0;
        int fuCounter = 0;
        for (;;){
            System.out.print("请输入一个整数:");
            int i = sc.nextInt();
            if ( i > 0){
                zhengCounter++;
            }
            if ( i < 0){
                fuCounter++;
            }
            if ( i == 0){
                System.out.println("输入的正数个数为:" + zhengCounter);
                System.out.println("输入的负数个数为:" + fuCounter);
                break;
            }
        }

        //while循环写法
        zhengCounter = 0;
        fuCounter = 0;
        while (true){
            System.out.print("请输入一个整数:");
            int i = sc.nextInt();
            if ( i > 0){
                zhengCounter++;
            }
            if ( i < 0){
                fuCounter++;
            }
            if ( i == 0){
                System.out.println("输入的正数个数为:" + zhengCounter);
                System.out.println("输入的负数个数为:" + fuCounter);
                break;
            }
            //写完发现里面都是一样的。。。。。。。。。。
        }
    }
}

8.最后的嵌套循环语句

这个也用的比较多了,就打算写几个题熟悉一下再看一下下老师讲的有没有不知道的就过了,原本想今天写完题的,但是没抽出时间来写呜呜呜,明天补上!

package day03;

/**
 * 嵌套循环练习
 * @author 爱划水的鸟
 * @date 2021/6/9 - 21:42
 */
public class ForForTest {
    public static void main(String[] args) {
        //输出n(键盘获取)行的正等腰三角形


        //输出n(键盘获取)行的倒等腰三角形


        //输出n(键盘获取)行的直角三角形


        //输出n(键盘获取)行的菱形    这里可能要分两种情况,奇数情况和偶数情况


        //输出n(键盘获取)行长为4的平行四边形

        //九九乘法表


        //分析总结嵌套循环的规律
    }
}

今天愉快的Java就到此结束啦!

Date:2021.6.9

学习时长:3小时3分钟

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值