Java流程控制


Java流程控制

1. 用户交互Scanner

  • 基本语法:Scanner s=new Scanner(System.in);
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串

​ 在读取之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

next() nextLine()
1.一定要读取到有效字符后才可以结束输入 1.以Enter为结束符也就是说该方法返回的是输入回车之前的所有字符
2.对输入有效字符之前遇到的空白,会自动去掉 2.可以获得空白
3.只有输入有效字符之后才将其后面输入的空白作为分隔符或者结束符
4.next()不能得到带有空格的字符串

2. 顺序结构

  • 基本结构就是顺序结构,是最简单的算法结构
  • 语句与语句之间,框与框之间是按从上到下顺序进行,是任何一个算法都离不开的一种基本算法结构

3. 选择结构

  • if 单选择结构

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

    if(布尔表达式){
        //如果布尔表达式为true
    }else{
        //如果布尔表达式为false
    }
    
  • if 多选择结构

    if(布尔表达式1){
    	//如果布尔表达式1的值为true执行代码
    }else if(布尔表达式2){
    	//如果布尔表达式2的值为true执行代码
    }else if(布尔表达式3){
    	//如果布尔表达式3的值为true执行代码
    }else{
    	//如果以上布尔表达式都不为true执行代码
    }
    
  • 嵌套的if结构

    if(布尔表达式1){
        //如果布尔表达式1的值为true执行代码
        if(布尔表达式2){
            //如果布尔表达式2的值为true执行代码
        }
    }
    
  • switch多选择结构,类型可以为byte,short,int或者char

    从javase7开始,switch支持字符串String类型

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

4.循环结构

  • while循环

    while(布尔表达式){
    	//循环内容
    }
    

    只要布尔表达式为true,循环一直执行

    大多数是会让循环停止下来的,需要用一个表达式失效来结束;少部分需要循环一直执行,比如服务器请求响应监听等

  • do…while循环

    对while而言,不满足条件则不能进入循环,而do…while与此相似但至少会循环一次

    do{
        //代码语句
    }while(布尔表达式);
    

    区别:while先判断后执行,dowhile先执行后判断,dowhile总是保证循环体会被至少执行一次。

  • for循环

    for(初始化;布尔表达式;更新){
        //代码语句
    }
    

    增强for循环

    for(声明语句:表达式)
    {
        //代码句子
    }
    

5. break & continue

  • break在任何循环语句的主体部分,均可使用break控制循环流程,break用于强行退出循环,不执行循环中剩余的语句(break语句在switch语句中使用)
  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行执行循环的判定。

6. 练习

打印三角形

for (int i = 1; i <= 5; i++) {
    for(int j=5;j>=i;j--){
		System.out.print(" ");
    }
    for(int j=1;j<=i;j++){
        System.out.print("*");
    }
    for(int j=1;j<i;j++){
        System.out.print("*");
    }
    System.out.println();
}

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/274822.html

(0)
上一篇 2022年7月17日
下一篇 2022年7月17日

相关推荐

发表回复

登录后才能评论