Java流程控制

用户交互Scanner

  • Scanner对象:java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入

  • 基本语法:

    Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,再读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

  • next()方法:

    1. 一定要读取到有效字符才可以结束

    2. 对输入有效字符之前的空白,next()方法会自动给他去掉。

    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符。

    4. next()不能得到带有空白的字符串。

    package com.wsn.javase;
    import java.util.Scanner;
    public class scannerDemo {
        public static void main(String[] args) {
            //创建一个扫描器对象,用于接收键盘数据
            Scanner sc = new Scanner(System.in);
            System.out.println("使用next方式接收");
            //判断用户有没有输入字符串
            if(sc.hasNext()){
                //使用next方式接收
                String str = sc.next();
                System.out.println("输出的内容为:"+str);
            }
            scanner.close();//凡是IO流如果不关闭都会占用资源,使用完要释放资源。
        }
    }

  • nextLine()方法:

    1. 以Enter为结束符,也就是nextLine()方法返回的是输入回车之前的所有字符。

    2. 可以获得空白。

    package com.wsn.javase;
    import java.util.Scanner;
    public class scannerDemo {
        public static void main(String[] args) {
            //创建一个扫描器对象,用于接收键盘数据
            Scanner sc = new Scanner(System.in);
            System.out.println("使用nextLine方式接收");
            //判断用户有没有输入字符串
            if(sc.hasNextLine()){
                //使用next方式接收
                String str = sc.nextLine();
                System.out.println("输出的内容为:"+str);
            }
            sc.close();//凡是IO流如果不关闭都会占用资源,使用完要释放资源。
        }
    }
    ​

顺序结构

  • JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构,他是任何一个算法都离不开的一种基本算法结构。

选择结构

  • if单选择结构

语法:

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}

  • if双选择结构

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}else{
    //如果布尔表达式为false将执行的语句
}

  • if多选择结构

if(布尔表达式 1){
    //如果布尔表达式1为true将执行的语句
}else if(布尔表达式 2){
    //如果布尔表达式2为true将执行的语句
}else if(布尔表达式 3){
    //如果布尔表达式3为true将执行的语句
}else{
     //如果以上布尔表达式都为false将执行的语句
}

  • 嵌套的if结构

if(布尔表达式 1){
   //如果布尔表达式1为true将执行的语句
    if(布尔表达式 2){
    //如果布尔表达式 2为true将执行的语句
    }
}
  • switch多选择结构

switch(expression){
    case value ://语句
    break;//可有可无
    case value ://语句
    break;//可有可无
    default : //可有可无
        //语句
}

eg:

循环结构

  • while循环

语法:

while(布尔表达式){
    //循环内容
}
  1. 先判断后执行。

  2. 只要布尔表达式为true,循环就会一直循环下去。

  3. 我们大多数情况下需要让循环停止下来,我们需要一个表达式失效的方式来结束循环。

  4. 少部分情况需要循环一直执行下去,比如服务器的请求响应监听等。

  5. 循环条件只要为true就会造成无限循环(死循环 while(1){//代码}),我们正常的业务需要避免死循环。

  • do...while循环

语法:

do{
    //循环内容
}while(布尔表达式);
  1. 先执行后判断。

  2. 循环至少执行一次。

  • for循环

语法:

for(初始化;布尔表达式;更新){
    //代码语句
}
  1. for循环是支持迭代的一种通用结构,是最有效最灵活的结构。

  2. for循环的执行次数是在执行之前就确定下来的

  3. for(;;){//代码}这也是死循环的一种。

  • 主要运用于数组的增强型for循环

语法:

for(声明语句:表达式){
    //代码句子
}
  1. 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型相匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

  2. 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

    eg:

    int[] numbers = {10,20,30,40,50};
    ​
    //遍历是数组元素
    for(int x:numbers){
        System.out.println(x);
    }

break & continue

  • break在任何循环语句的主体部分,均可使用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。

  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

echo wsn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值