java基础之流程控制

java流程控制

Scanner对象

  1. 基本语法

    //从键盘接收数据
    Scanner scanner=new Scanner(System.in);
    //判断用户是否输入
    if(scanner.hasNext()){
      //获取用户输入的参数
      String s=scanner.next();
      //打印用户输入的参数
      System.out.println(s);
    }
    //凡是属于IO流,我们不关闭它,它会一直占用资源
    scanner.close();
    
    
    //从键盘接收数据
    Scanner scanner=new Scanner(System.in);
    //判断用户是否输入
    if(scanner.hasNextLine()){
      //获取用户输入的参数  
      String s=scanner.nextLine();
      //打印用户输入的参数
      System.out.println(s);
    }
    //凡是属于IO流,我们不关闭它,它会一直占用资源
    scanner.close();
    
    
  • next():

    1. 一定要读取到有效字符才能结束输出
    2. 对输入有效字符之前遇到的空白,next会自动会将其去掉
    3. 只会输入有效字符后才将其后面输入的空白当做分隔符或结束符。
    4. next()不能得到带有空格的字符串
  • nextLine():

    1. 已Enter为结束符,也就是说nextLine方法返回的是输入回车之前的所有字符
    2. 可获得空白
  1. 通过Scanner,处理输入多个数字,并且求其总数和平均数,每输入一个数用回车确认结束,通过输入非数字来结束输入并且执行结果

Scanner scanner=new Scanner(System.in);
//总数
double sum=0d;
//输入的个数
int i=0;

while(scanner.hasNextDouble()){
double num=scanner.nextDouble();
i++;
sum+=num;
}

System.out.println(“输入的总数为:”+sum+",平均数为:"+sum/i);
scanner.close();




## 顺序结构

1. java的基本结构就是顺序结构,除非特定指明,否则就会按照顺序一句一句的执行,

2. 语句与语句之间,框与框之间是按从上到下的循序执行的,他由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构



## 选择结构

- if单选择结构

我们很多时候需要去判断一个东西是否可行,然后我们再去执行,

```java
if(判断条件){
 //符合条件执行
}
  • if双选择结构

    例如,成绩大于60分及格,反之不及格

    if(布尔表达式){
      
    }else{
      
    }
    
  • if多选择结构

    例如,成绩小于60分差,大于60分小于80分良,大于80分优

    if(布尔表达式1){
    
    }else if (布尔表达式2){
    
    }else{
    
    }
    
  • if嵌套选择结构

    例如,查询1-100中的一个数

    if(布尔表达式){
      if(布尔表达式1){
        
      }
    }
    
  • switch多选择结构

    1. 多选择结构还有一个实现方式就是switch case语句。

    2. Switch语句中变量类型可以是:

      Byte,shrot,int,或者char

      在java jdk 7 版本之后switch 支持字符串String类型

      同时case标签必须为字符串常量或字面量

    3. Switch匹配一个具体的值,如果匹配成功没有加break,会执行下面所有

    4. Switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

    例如输入一个月份,判断这个月有多少天。

    //字符串的本质还是数字
    //反编译  java---class(字节码文件)---反编译(IDEA)
    //在匹配字符串的时候,他会去字符串的hashcode,去做比较
    
    Scanner scanner=new Scanner();
    
    int m=scanner.nextLine();
    
    Switch(m){
      case 1:
      System.out.println("这个月有31天");
      break;
      case 2:
      System.out.println("这个月有30天");
      break;
      
      case 3:
      System.out.println("这个月有31天");
      break;
      //下面的省略....
      default: 
       System.out.println("您输入有误");
      break;
    }
    
    scanner.close();
    

循环结构

  • while循环
  • do…while循环
  • for循环
  • 在java5中引入了一种主要用于数组的增强型for循环

while循环

  1. while是最基本的循环,他的结构为

    while(表达式){
      //循环体
    }
    
  2. 只要布尔表达式为true就会一直循环下去

  3. 我们大多数情况是会让循环停下来,我们只需要让表达式失效的方式来结束循环

  4. 少数情况让他一直循环,例如服务器的请求响应监听等

  5. 循环一直为true就会造成无限循环(死循环),我们正常的业务编程中尽量避免死循环。会影响程序性能,或者造成程序卡死崩溃。

do…while循环

  • 对于while语句而言,不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次

  • do…while循环和while循环相似,不同的是,do…while新婚换至少执行一次

    do{
      //循环体
    }while(布尔表达式);
    
  • while和do-while的区别:

    1. while选判断后执行,do…while先执行后判断!
    2. Do…while总是保证循环体会被至少执行一次!这是他们的主要差别

for循环

  • for循环语句是支持迭代的一种通用结构,是最有效最灵活的循环结构

  • for循环语法格式

    for(初始化;布尔表达式;更新){
      //循环体
    }
    

增强for循环

  • java5引入的一种主要用于数组和集合的增强型for循环

  • 增强for循环语法格式:

    for(声明语句:表达式){
      循环体
    }
    

break和continue

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值