Scanner类和选择结构和循环结构

1.Scanner类

为了让测试更加灵活,我们引入Scanner类

步骤:
1.导包(编译工具替我们完成)
2.创建Scanner对象        
Scanner sc=new Scanner(System.in)
3.提示用户输入
4.接收用户输入数据
package org.wdit.unit02;
/*Scanner类
       步骤 1.导包(编译工具替我们完成) 
       2.创建Scanner对象        
       Scanner sc=new Scanner(System.in) 
       3.提示用户输入
       4.接收用户输入数据 */
import java.util.Scanner;
public class ScannerDemo {    
    //主方法    
    public static void main(String[] args){        
        //2.创建Scanner类       
        Scanner sc = new Scanner(System.in);        
        //3.提示用户输入        
        System.out.println("请输入数据:");        
        //4.接收用户输入数据       
        int num = sc.nextInt();       
        //输出该数据        
        System.out.println(num);    }}

2.顺序结构

执行顺序按照代码书写顺序,依次执行

3.选择结构

if选择结构

格式1

​ if(关系表达式){

​ 语句体

​ }

格式2

​ if(关系表达式){

​ 语句体1

}else{

​ 语句体2

}

package org.wdit.unit02.IfDemo;

import java.util.Scanner;
public class IfDemo {
    public static void main(String[] args){
//        int a=5;
//        int b=8;
        //格式一
       // if (a>b){
//            System.out.println("a大于b");
        //    System.out.println("程序结束");
//        }
//        //格式二
//        if (a>b){
//            System.out.println("a>b");
//        }else{
//            System.out.println("a<b");
//        }
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入a的变量值");
            int a = sc.nextInt();
            System.out.println("请输入b的变量值");
            int b = sc.nextInt();
        if (a>b){
            System.out.println("a>b");
        }else{
            System.out.println("a<b");
        }

    }
}

格式3

​ if(关系表达式1){

​ 语句体1

}else if(关系表达式2){

​ 语句体2

​ ……

}else{

​ 语句体n;

}

package org.wdit.unit02.IfDemo;

import java.util.Scanner;

public class IfDemo2 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int score = sc.nextInt();
        if (score>=90){
            System.out.println("厉害");
        }else if (score>=80){
            System.out.println("一般");
        }else{
            System.out.println("垃圾");
        }
    }
}
格式4
package org.wdit.unit02.IfDemo;

public class IfDemo3 {
    //主方法
    public static void main(String[] args){
        int a=1;
        int b=5;
        int c=3;
        //判断a与b
        if (a>b){
            //true:a较大
            if (a>c){//判断a与c
                //true:a最大
                System.out.println("a大");
            }else{
                //flase:c最大
                System.out.println("c大");
            }


        }else {//flase:b较大
            if (b>c){//判断b与c
                //true:b最大
                System.out.println("b大");
            }else{
                //flase:c最大
                System.out.println("c大");
            }

        }
    }
}

4.switch

switch选择结构:
     语法:
         switch(表达式){    
             case 常量1:
                  语句体1;
             case 常量2:
                  语句体2;
                  break;
                  ……
                  default;
                  语句体n;
          }       
public class SwitchDemo {
    //主方法
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的名次:");
        int rank = sc.nextInt();
        switch (rank){
            case 1:
                System.out.println("奖励1000元");
                break;
            case 2:
                System.out.println("奖励500元");
                break;
            case 3:
                System.out.println("奖励10元");
                break;
            default:
                System.out.println("一个唐康送给你");
        }
    }

}
注意事项:

1.case后的值不能重复 表达式中的数据类型只能是:byte、short、int、char、String

2.break 省略会发生case穿透

3.default的位置不影响执行流程,但是如果写在中间,就必须给它加上break

4.结束条件:

​ a.break

​ b.default

​ c.前提:dafault省略。所有情况都不匹配

if语句使用场景:

​ 针对结果是boolean类型的判断

​ 针对一个范围的判断

​ 针对几个常量值的判断

switch语句的使用场景:

​ 针对几个常量值的判断

5.循环结构

循环结构组成:

  1. 初始化条件

  2. 判断条件

  3. 循环体

  4. (控制条件)更新循环变量

    for循环
    for 循环结构     
         格式:         
              for(初始化条件(1);条件判断(2);控制条件语句(4)){             
                   循环体(3);
    
while循环

初始化语句;

while(判断条件语句){

​ 循环体语句;

​ 条件控制语句;

}

do-while循环

初始化语句;

do{

​ 循环体语句;

​ 条件控制语句;

}while(判断条件语句)

流程控制语句

break:

用来跳出循环(只能终止单层循环)或switch

如果break想跳出外层循环,需要使用标签

continue:

终止当前次循环,执行下一次循环

return:

返回

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请用户输入姓名:");
        String name = sc.next();
        System.out.println("请输入出生年:");
        String password = sc.next();
        System.out.println(name+"最帅");
        System.out.println(name+"于"+password+"出生");

    }
}

if的列子

package org.wdit.unit02.IfDemo;

import java.util.Scanner;

public class IfDemo {
    public static void main(String[] args){
//        int a=5;
//        int b=8;
        //格式一
       // if (a>b){
//            System.out.println("a大于b");
        //    System.out.println("程序结束");
//        }
//        //格式二
//        if (a>b){
//            System.out.println("a>b");
//        }else{
//            System.out.println("a<b");
//        }
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入a的变量值");
            int a = sc.nextInt();
            System.out.println("请输入b的变量值");
            int b = sc.nextInt();
        if (a>b){
            System.out.println("a>b");
        }else{
            System.out.println("a<b");
        }

    }
}

package org.wdit.unit02.IfDemo;

import java.util.Scanner;

public class IfDemo2 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int score = sc.nextInt();
        if (score>=90){
            System.out.println("厉害");
        }else if (score>=80){
            System.out.println("一般");
        }else{
            System.out.println("垃圾");
        }
    }
}

package org.wdit.unit02.IfDemo;

public class IfDemo3 {
    //主方法
    public static void main(String[] args){
        int a=1;
        int b=5;
        int c=3;
        //判断a与b
        if (a>b){
            //true:a较大
            if (a>c){//判断a与c
                //true:a最大
                System.out.println("a大");
            }else{
                //flase:c最大
                System.out.println("c大");
            }


        }else {//flase:b较大
            if (b>c){//判断b与c
                //true:b最大
                System.out.println("b大");
            }else{
                //flase:c最大
                System.out.println("c大");
            }

        }
    }
}

package org.wdit.unit02;

import java.util.Scanner;

public class IfText {
    //主方法
    public static void main(String[] args){
        //1.创建Scanner对象
        Scanner sc = new Scanner(System.in);
        //2.提示用户输入
        System.out.println("请输入一个正整数:");
        //3.声明变量接受用户输入数据
        int num = sc.nextInt();
        //4.判断这个数是奇数还是偶数
        if (num % 2 == 0){
            System.out.println(num+"是一个偶数");
        }else{
            System.out.println(num+"是一个奇数");
        }
    }
}

package org.wdit.unit02;

import java.util.Scanner;

/**
 * 输入一个月份输出季度
 */
public class IfText1 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个月份:");
        int month = sc.nextInt();
        if (month>12){
            System.out.println("输入无效");

        }else if (month>=9){
            System.out.println("第四季度冬季");
        }else if (month>=7){
            System.out.println("第三季度秋季");

        }else if (month>=4){
            System.out.println("第二季度夏季");

        }else if (month>=1){
            System.out.println("第一季度春季");
        }else{
            System.out.println("输入无效");
        }
    }
}

switch的列子

package org.wdit.unit02.switchDemo;

import java.util.Scanner;

/**
 * switch选择结构:
 *    语法:
 *        switch(表达式){
 *            case 常量1:
 *                 语句体1;
 *                 break;
 *            case 常量2:
 *                 语句体2;
 *                 break;
 *                 ……
 *                 default;
 *                 语句体n;
 *
 *        }
 */
public class SwitchDemo {
    //主方法
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的名次:");
        int rank = sc.nextInt();
        switch (rank){
            case 1:
                System.out.println("奖励1000元");
                break;
            case 2:
                System.out.println("奖励500元");
                break;
            case 3:
                System.out.println("奖励10元");
                break;
            default:
                System.out.println("一个唐康送给你");
        }
    }

}

package org.wdit.unit02.switchDemo;

import java.util.Scanner;

public class SwitchText1 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个月份:");
        int month = sc.nextInt();
        switch (month){
            case 1:
                System.out.println("第一季度");
                break;
            case 2:
                System.out.println("第一季度春季");
                break;
            case 3:
                System.out.println("第一季度春天");
                break;
            case 4:
                System.out.println("第二季度");
                break;
            case 5:
                System.out.println("第二季度夏天");
                break;
            case 6:
                System.out.println("第二季度夏季");
                break;
            case 7:
                System.out.println("第三季度");
                break;
            case 8:
                System.out.println("第三季度秋天");
                break;
            case 9:
                System.out.println("第三季度秋季");
                break;
            case 10:
                System.out.println("第四季度");
                break;
            case 11:
                System.out.println("第四季度冬天");
                break;
            case 12:
                System.out.println("第四季度冬季");
                break;
            default:
                System.out.println("你的输入无效");

        }
    }
}

for的列子

package org.wdit.unit02.ForDemo;

/**
 * for 循环结构
 *     格式:
 *         for(初始化条件(1);条件判断(2);控制条件语句(4)){
 *              循环体(3);
 *         }
 */
public class ForDemo {
    public static void main(String[] args){
        for (int i=1;i<=100;i++){
            System.out.println(i+"--好好打游戏");
        }
    }
}

package org.wdit.unit02.ForDemo;

/**
 * for  循环练习
 * 需求:输出5*5的图形
 * 嵌套循环
 *      1.外层循环一次,内次循环一周
 *      2.外层循环行数,内次循环列数
 */
public class ForDemo1 {
    public static void main(String[] args){
//        for (int i=0;i<5;i++){
//            System.out.println("*****");
//        }
        for (int i=0;i<5;i++){
            for (int j=0;j<5;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

package org.wdit.unit02.ForDemo;

/**
 *1.输出1-10之间的所有整数
 * 2.求1-10之间所有整数之和
 */
public class ForDemo3 {
    public static void main(String[] args){
        int sum=0;
        for (int i=1;i<=10;i++){
            sum=sum+i;
            System.out.println(i);
        }
        System.out.println(sum);
        //1-100之间偶数之和
        //方式一
        int sum1=0;
        for (int i=0;i<=100;i=i+2){
            sum1=sum1+i;
        }
        System.out.println(sum1);
        //方式2
        int sum2=0;
        for (int i=0;i<=100;i=i++){
            if (i%2==0){
                sum2 =sum2+ i;
            }
        }
        System.out.println(sum2+"ss");


    }
}

package org.wdit.unit02.ForDemo;

/**
 * 输出100-999之间所有的水仙花数
 * 水仙花数就是每一位上的数值的立方之和依然是其本身
 * 各位:num%10;
 * 十位:num/10%10;
 * 百位:num/100
 */
public class ForDemo4 {
    public static void main(String[] args){
        int count = 0;
        for (int i = 100;i<1000;i++){
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100;
            if (i==(ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
                System.out.println("水仙花数:" + i);
                count++;
            }
        }
        System.out.println("100-999之间的水仙花数:"+count);
    }
}
package org.wdit.unit02.ForDemo;

/**
 * 需求:输出指定形状
 * *
 * **
 * ***
 * ****
 * *****
 */
public class ForDemo5 {
    public static void main(String[] args){
        for (int i=1;i<=5;i++){
            for (int j=1;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }


    }
}

package org.wdit.unit02.ForDemo;

/**
 * 输出99乘法表
 */
public class ForDemo6 {
    public static void main(String[] args){
        for (int i=1;i<=9;i++){
            for (int j=1 ;j<=i;j++){

                System.out.print(j + "*" + i + "=" + (j*i) +"\t");
            }
            System.out.println();
        }


    }

}

package org.wdit.unit02.ForDemo;

public class ForDemo44 {
    public static void main(String[] args){
        int sum=0;
        for (int i=0;i <= 100;i++){
            if (i % 2 == 0){
                sum = sum+ i;
            }
        }
        System.out.println(sum);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值