• 【第一阶段:java基础】第4章:java控制结构(P103-P154)


    本系列博客是韩顺平老师java基础课的课程笔记,B站:课程链接,吐血推荐的一套全网最细java教程,获益匪浅!

    1. 顺序

    程序从上至下逐行执行,中间没有任何判断和跳转

    2. 分支

    • 单分支if
    • 双分支if-else
    • 多分支if - else if … - else
    • 嵌套分支:建议嵌套最好不要超过三层
    • switch
      • break代表的是退出switch结构。首先判断表达式的值是否等于常量1…表达式不等于所有常量时,执行default
      • 在这里插入图片描述
    • 细节
      • 表达式的数据类型应该和case的常量类型一致,或者可以自动转换成一致
      • Switch(表达式)中表达式的返回值必须是 byte short int char enum string
      • case子语句中的值必须是常量(或者常量表达式),不可以是变量
      • default语句是可选的,不一定要写
      • break语句用于在执行完一个case分支后跳出Switch,如果没有遇到break的话,程序会顺序执行,直到遇到下一个break

    3. 循环

    • for
      • for(循环变量初始化,循环条件,循环变量迭代){循环操作}
      • 细节
        • 先执行循环操作,再执行循环变量的迭代
        • 循环条件返回一个布尔值的表达式
        • for(; 循环条件;)中的初始化和变量迭代可以写到其他地方,但是分号不能省略。(一般在for循环之外还想要使用循环变量时使用)
          for(; ;)表示无限循环
          for(int i=0,j=0 ; i<10; i++, j++)循环变量初始化以及迭代操作可以有多条语句
    • while
      • 循环变量初始化;while(循环条件){循环体;循环变量迭代}
    • do…while
      • 循环变量初始化;do{循环体;循环变量迭代;}while(循环条件);
      • 细节
        • 与while的区别在于:先执行再判断,也就是说至少会执行一次
        • 最好有一个分号
    • 多重循环
    //打印空心金字塔
    import java.util.Scanner;
    public class Hello {
        public static void main(String []args) {
        	Scanner in=new Scanner(System.in);
        	System.out.println("请输入最后一行的*个数:");
    		int n=in.nextInt();
    		int mid=n/2;		
    		for(int i=0;i<=mid;i++){
    			for(int j=0;j<n;j++){
    				if(j==(mid-i)||j==(mid+i)||i==mid)
    					System.out.print("*");
    				else System.out.print(" ");			
    			}
    			    System.out.println('\n');	
    		} 
        }
    }
    // 
       *
      * *
     *   *
    *******
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    4. 跳转

    • break
      • 用于终止某个语句块的执行,一般用在Switch或者循环中
      • 细节
        • 当break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是那一层语句块
        • break后指定到那个标签,就退出到哪里
        • 如果没有指明标签,默认退出最近的循环体
        • 在实际的开发中,尽量不要使用标签
          在这里插入图片描述
    • continue
      • 用于结束本次循环,继续执行下一次循环
      • continue出现在多层嵌套语句体时,可以通过标签指定要跳过的是哪一层循环
    • return
      • 使用在方法上,表示跳出当前的方法,如果使用在main方法中,就是跳出当前的程序

    5. 编程思想

    • 化繁为简
      • 将复杂的需求拆解成简单的需求逐步完成
    • 先死后活
      • 先考虑固定的值,然后转成可以灵活变化的值

    因为有c++的基础,所以这一章听起来相对轻松,但是break使用label来结束指定的循环,这还挺让我惊喜的,以前从来没有听说过。

  • 相关阅读:
    Java:如何选择一个好的Java外包合作伙伴?
    Android Tv连接charles
    Docker网络模型
    Python学习之旅高级篇:Web开发之旅(一)—— Flask和Django框架概览
    2.1 线性表的链式存储--单链表(C语言详细实现)
    ctf:kali工具ettercap,setoolkit
    Go的运算符解密:探索计算的奥秘
    2022年高教社杯国赛E题思路——小批量物料的生产安排
    【QT】事件分发器/事件过滤器/事件处理的介绍和使用
    Android 开发——环境搭建
  • 原文地址:https://blog.csdn.net/qq_39328436/article/details/127558606