JavaSE流程控制与输入

流程控制与输入

在Java语言中程序执行的顺序往往是自上而下运行的,但这样往往不够。我们有时候需要加入一些高级的程序控制语句来使程序运行变得更有意思
代码示例:

import java.util.Scanner;
public class test{
    public static void main(String[] args){
        Scanner sc= new Scanner(System.in);
        System.out.print("你会好好学习的吗?(0/1)");
        int i = sc.nextInt();
        //System.out.println(i);
        if(i==0)
        {
            System.out.println("少年好功夫,拿大厂的offer");
        } else if (i ==1)
        {
            System.out.println("不好好学习就找不到好工作");
            System.out.println("你的良心不痛吗?还是好好学习吧");
        }
    }
}

if语句

if语句也被称为条件语句,通过对条件进行判断从而决定执行那种语句。
基础语法格式:

if(表达式){
    语句
}

if单分支语句

if单分支使用示例:

public class test{
    public static void main(String[] args){
        int a = 3;
        if(a < 5 )
        {
            System.out.println(a);
        }
    }
}

需要注意的是:如果布尔表达式为true,则执行if中的语句否则不执行

if....else..双分支语句

if...else....通常表现的形式为:如果满足某一种条件就执行相应的的语句,不满足则执行另一条语句

if(表达式){
    语句
}else{
    语句
}

当布尔表达式结果为true,则执行if中的语句,否则执行else中的语句。
示例:考试成绩60分以上为合格,60分一下为不及格

public class test{
    public static void main(String[] args){
        int source = 65;
        if(source > 60)
        {
            System.out.println("合格");
        }
        else{
            System.out.println("不合格");
        }
    }
}

if...else if..else多分支语句

多分支语句用于对多个条件进行判断,进而实现不同的处理结果。
语法格式为:

if(表达式1){
    语句1
}else if(表达式2{
    语句2
}else if(表达式3){
    语句3
}else{
    语句
}

当表达式1成立时,执行语句1;否则表达式2成立时,执行语句2;否则表达式3成立时执行语句3;否则else。
示例:判断一个数字是整数、负数还是0

public class test{
    public static void main(String[] args){
        int num = -10;
        if(num > 0){
            System.out.println("这是一个正数");
        } else if (num < 0 ) {
            System.out.println("这是一个负数");
        }else{
            System.out.println("这是一个0数");
        }
    }
}

switch多分支语句

基本语法:

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch语句会先计算表达式的值,然后再与case依次进行比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束,当表达式的值没有与所列项匹配时,执行default。
示例:根据day的值输出星期一到星期日

int day = 1;
switch(day) {
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;
default:
    System.out.println("输入有误");
    break;
}

注意:switch括号中的表达式只能是一下类型

  • 基本类型: byte char short int 不能是long类型
  • 引用类型: String常量串 枚举类型

while循环语句

语法格式为:

while(循环条件){
    循环语句
}

while的循环条件必须是布尔值,当表达式的值为true,则执行语句序列;当表达式的值为false时,则结束循环。
代码示例:计算1~100的和

public class test{
    public static void main(String[] args){
        int i = 1;
        int Sum = 0;
        while(i<=100){
            Sum =Sum+i;
            i++;
        }
        System.out.println(Sum);
    }
}  //程序的结果为5050

注意事项:不要在while表达式后加;,否则会导致无法正常循环;同时while后面加上{},否则只能执行一条语句。

do…while 循环语句

基本语法格式是:

do{
    循环语句;
}while(循环条件)

while语句先执行循环语句,再判定循环条件,循环条件成立则继续执行,否则循环结束。
代码示例:打印5的阶乘

public class test{
    public static void main(String[] args){
        int i = 1;
        int num = 1;
        do{
            num = num*i;
            i++;
        }while (i<=5);
    System.out.println(num);
    }
}

for 循环语句

基本语法:

for(表达式1;表达式2;表达式3)
{
    语句
}
  • 表达式1: 初始化循环变量体,在循环最开始的时候执行一次
  • 表达式2: 循环变量体,其值的类型是布尔类型。用于判断是否继续执行循环体,满则循环继续,否则循环结束。
  • 表达式3:循环变量的更新方式

代码示例1:打印5的阶乘

public class test{
    public class test{
    public static void main(String[] args){
        int result = 1;
        for(int i = 1; i <= 5; i++) {
            result= result * i;
        }
        System.out.println(result);
    }
}

代码示例2:打印出1~100能被3和5整除的数字

public class test{
    public static void main(String[] args){
        for(int num = 0; num <= 100;  num++){
        if( num%15==0){
            System.out.println(num);
        }
        }
    }
}

Scanner 键盘录入

1.概述:是java定义好的一个类
2.作用:将数据通过键盘录入的形式放到代码中参与运行
3.位置:java.util
4.使用:
a.导包:通过导包找到要使用的类 -> 导包位置:类上
import java.util.Scanner -> 导入的是哪个包下的哪个类

b.创建对象
Scanner 变量名 = new Scanner(System.in);

c.调用方法,实现键盘录入
变量名.nextInt() 输入整数int型的
变量名.next() 输入字符串 String型的

public class a_scanner {
    public static void main(String[] args) {
        /*Scanner data = new Scanner(System.in);
        int num1 = data.nextInt();
        System.out.println("num1的值为"+num1);

        System.out.println("-----------------------");

        Scanner data1 = new Scanner(System.in);
        String  num2 = data1.next();
        System.out.println("num2="+num2);

        System.out.println("-----------------------");*/
        /**
         * 输入三个老人的年龄,用三元符号判断他们中谁的年龄最大
         * */
        System.out.println("分别输入三个老人的年龄");
        Scanner data = new Scanner(System.in);

        int age1 = data.nextInt();
        int age2 = data.nextInt();
        int age3 = data.nextInt();
        int temp =age1>age2?age1:age2;
        int max=temp>age3?temp:age3;
        System.out.println("老头人中年龄最大的是:"+ max);
    }
}
/**
变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
变量名.nextLine():录入字符串 -> 遇到回车就结束录入了
*/

Random 随机数

1.概述:java自带的一个类
2.作用:可以在指定的范围内随机一个整数
3.位置:java.util
4.使用:
a.导包:import java.util.Random
b.创建对象:
Random 变量名 = new Random()
c.调用方法,生成随机数:
变量名.nextInt() -> 在int的取值范围内随机一个整数

public class b_random {
    public static void main(String[] args) {
        Random number = new Random();
        int data1 = number.nextInt();
        System.out.println(data1);

        //在1—100范围内生成随机数
        Random number01 = new Random();
        int data2 = number01.nextInt(100)+1;
        System.out.println("data2 = "+data2);

        Random number02 = new Random();
        int data03 = number02.nextInt(10,60)+1;  //origin 起源
        System.out.println("data03 = "+data03);

        //在100-999之间随机一个数
        int data3 = number01.nextInt(900)+100;
        System.out.println("data2="+data3);
    }
}

总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值