java基础02

目录

一、简单交互Scanner

二、顺序结构

三、选择结构

1.if单选择

2.if双选择

3.if多选择

4.嵌套if

5.switch多选择

四、循环结构

1.注意事项

2.while循环

3.do while循环(至少执行一次循环)

4.for循环

5.循环控制

1.break(中断/跳出循环)

2.continue(跳过当次循环[即跳过continue之后的代码,执行下一次循环])

6.IDEA的debug调试(断点调试)

五、练习部分

1.输入一个整数,判断其奇偶性并输出结果(XX是奇/偶数)

2.输出0-100所有奇数,且每行输出5个

3.计算0-100之间所有偶数的和

4.99乘法表

5.99乘法表(反)

6.猜数游戏(无限次数)

7.猜数游戏(n次机会)


一、简单交互Scanner

基本语法

public class Test {
    public static void main(String[] args) {
       //创建一个扫描器对象,用于接收键盘数据
        Scanner s = new Scanner(System.in);
        //通过next方法来获取键盘输入的数据
        //s.next();会等待输入
        System.out.println("输入的键盘数据:"+s.next());
        //使用完关闭,释放资源
        s.close();
​
    }
}

常用Scanner对象的方法:

方法意义
.next()读取下一个输入 (1.输入有效字符才可结束输入,在有效字符之前的空白(空格)将会去掉,有效字符之后的空白(空格)会作为分隔符或者结束符,如你输入Hello world,输出只会得到Hello! 2.next不会得到带有空格的字符串)
.hasNext()判断是否有输入
nextLine()读取一行输入 (1.以回车作为结束符,会输出回车之前的所有字符,包括空白【空格】!
nextInt()读取一个整数(int类型)类输入
nextDouble()读取一个浮点数(double类型)类输入
nextFloat()读取一个浮点数(float类型)类输入
nexthasInt()判断是否有int类输入
nexthasXXX()判断是否有XX类输入

二、顺序结构

java的基本结构,从左到右从上到下依次进行

一种最基本的算法结构

三、选择结构

1.if单选择

格式:

if(布尔表达式){
            //满足条件执行的代码
}

2.if双选择

if(布尔表达式){
            //满足条件执行的代码
}else{
    //不满足条件执行的代码
}

3.if多选择

if(布尔表达式1){
            //满足条件执行的代码
}else if(布尔表达式2){
    //满足条件执行的代码
}else if(布尔表达式3){
    //满足条件执行的代码
}...else if(布尔表达式n){
    //满足条件执行的代码
}else{
    //不满足条件执行的代码
    }

4.嵌套if

if(布尔表达式1){
            //满足条件执行的代码
    if(布尔表达式2){
            //满足条件执行的代码
    }else{
    //不满足条件执行的代码
    }
}else{
    //不满足条件执行的代码
}

5.switch多选择

switch (整数、枚举、字符、字符串){
            case 值1:{//大括号可选
                //满足条件1的代码
                break;//可选,但会导致case穿透(满足条件后,没有break的话会继续输出后面的值!)
            }
            case 值2:{
                //满足条件1的代码;
                break;
            }
            case 值3:{
                //满足条件1的代码;
                break;
            } 
            case 值4://满足条件1的代码;  break;
            default:{
               //默认执行代码
            }
        }

四、循环结构

1.注意事项

①.大多数需求是会让循环停止下来的,所以一般都会写一个让表达式失效的方式来退出循环

②.也有少部分需要一直循环,如服务器/键盘数据响应监听等。

③.只要布尔表达式为true,就会造成无限循环(死循环),会影响程序性能降低甚至程序卡死等严重问题,尽量避免!

2.while循环

while(布尔表达式){
            //循环执行的代码
}

3.do while循环(至少执行一次循环)

do{
     //循环执行的代码
}while(布尔表达式)

4.for循环

for(初始化值;布尔表达式;更新){
    //循环执行的代码
}
​
//for的死循环
for(;;){
    //循环执行的代码
}
​
//增强for循环,一般用于遍历数组或集合,
//1.声明的变量类型必须和数组或集合的元素类型匹配!
//2.声明变量的作用域仅限在循环内
//3.表达式是要访问的数组或集合名/返回为数组或集合类型的方法
for(声明:表达式){
    //循环执行的代码
}
 

5.循环控制

1.break(中断/跳出循环)
2.continue(跳过当次循环[即跳过continue之后的代码,执行下一次循环])

6.IDEA的debug调试(断点调试)

打完断点后就可以开始调试

方式1

方式2

方式3

鼠标右键

开始调试后,需要转到console面板才能看到测试过程

主要记三个就够用了,从左到右

step over:单步执行时,不会进入子函数,而是将子函数执行完成后再停止,也可以说是越过对子函数的单步执行

step into:单步执行,遇到函数会进入到子函数接着单步执行

step out:单步执行到子函数内时,可以点击step out直接执行完余下所有部分并返回该子函数的父级(上一层)函数,简单讲就是快速执行子函数返回上一级

五、练习部分

小知识:

1.print不换行输出

2.println换行输出

3.随机数生成

//第一种:随机生成0到1之间的double数(伪随机)
//(0-100]的整数
(int) (Math.random() * 100+1)
//[0-100)的整数
(int) (Math.random() * 100);
//第二种,Random类,伪随机
Random random = new Random();
//[0-100]的整数
random.nextInt(101);
//[0-100)的整数
random.nextInt(100);
//(0-100)的整数
random.nextInt(99)+1;

1.输入一个整数,判断其奇偶性并输出结果(XX是奇/偶数)

 //输入一个数,判断其奇偶性并输出结果(XX是奇/偶数)
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入数字(整数)");
        int i = scanner.nextInt();
        if (i % 2 == 0){
            System.out.println("数字"+i+"是偶数");
        }else{
            System.out.println("数字"+i+"是奇数");
        }

问题:为什么输入超过或等于13位的数字会报错呢?

2.输出0-100所有奇数,且每行输出5个

        int i = 0;
        int count = 0;
        while (i<=100){
            if (i % 2 != 0){
                System.out.print(i+"\t");
                count++;
                if (count %5 ==0){
                    System.out.println();
                }
            }
            i++;
        }

3.计算0-100之间所有偶数的和

        int sum = 0;
        int i = 1;
        while (i<100){
            if (i % 2 == 0){
                //sum = sum + i
                sum += i;
            }
           i++;
        }
        System.out.println("0-100之间偶数之和为:"+sum);

4.99乘法表

//while循环
        int i = 1;
        while (i<10){
            int k = 1;
            while (k<=i){
                System.out.print("\t"+i+"X"+k+"="+i*k+"\t");
                k++;
            }
            System.out.println();
            i++;
​
        }
 //99乘法表
        for (int i = 1; i < 10; i++) {
            for (int k = 1; k <= i; k++) {
                System.out.print("\t"+i+"X"+k+"\t");
            }
            System.out.println();
        }

5.99乘法表(反)

//        99乘法表
        int i = 9;
        while (i>0){
            int k = 1;
            while (k<=i){
                System.out.print("\t"+i+"X"+k+"="+i*k+"\t");
                k++;
            }
            System.out.println();
            i--;
​
        }
     //99乘法表(倒序)
        for (int i = 9; i > 0; i--) {
            for (int k = 1; k <= i; k++) {
                System.out.print("\t"+i+"X"+k+"="+i*k+"\t");
            }
            System.out.println();
        }

6.猜数游戏(无限次数)

 //创建Random对象,用于生成随机数
        Random random = new Random();
        //创建扫描器对象,用于接收输入的数据
        Scanner scanner = new Scanner(System.in);
​
        System.out.println("随机数生成");
        int num = random.nextInt(101);
        System.out.println("随机数已生成");
        while (true){
            System.out.println("请输入数字");
            int guess = scanner.nextInt();
            if (guess > num){
                System.out.println("猜大了");
            }else if(guess < num){
                System.out.println("猜小了");
            }else{
                System.out.println("猜对了,随机数:"+num);
                break;
            }
        }

7.猜数游戏(n次机会)

//创建Random对象,用于生成随机数
        Random random = new Random();
        //创建扫描器对象,用于接收输入的数据
        Scanner scanner = new Scanner(System.in);
​
        System.out.println("随机数生成");
        int num = random.nextInt(101);
        System.out.println("随机数已生成");
        //计数
        int count = 5;
        while (true){
            System.out.println("请输入数字");
            int guess = scanner.nextInt();
​
            if (guess != num){
                if (guess > num){
                    System.out.println("猜大了,你还有"+count+"次");
                }else if(guess < num){
                    System.out.println("猜小了,你还有"+count+"次");
                }
                count--;
​
            } else{
                System.out.println("猜对了,随机数:"+num);
                break;
            }
            if (count<0){
                System.out.println("次数用尽,游戏结束");
                break;
            }
        }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值