程序流程控制


在java中控制流程的方法有三种:1.语句(条件语句/循环语句)2.调用方法3.返回方法
 条件语句:if语句(如果),switch语句(选择)
 if(表达式){语句}
 表达式是一个boolean类型。当上述表达式为true时,则执行{}中的语句,反之,是不执行{}中的语句,{}之后的语句依然执行。
 else if(条件)为if语句提供其他条件
 else{}语句判断条件为所有if语句的反例。
 如果只有if{}是单分支if语句,如果有两个条件是双分支if语句,如果有三个和三个以上是多分支if语句。
 在双分支和多分支语句中,如果选中了一个条件,则其他条件的语句不会再执行。再多分支中,判断顺序是从上往下。
 if语句嵌套:在if语句中的{}里,也可以出现if语句


 switch语句 
 switch语句的结构:switch(选项){case1:case2:case3:case是选项,选项和选择的数据类型相投即可。}选项可以是表达式,可以是变量、常量等值。一般情况下switch中更会有多个case语句,传入选择是,会在case中找寻与选择值相同的选型进行运行,知道switch结束。
循环    循环就是重复
 循环最重要的是找到循环(重复)的什么,就是循环体。
 循环语句:1.for循环。2.while循环。3.do while循环。
 for(表达式1;表达式2;表达式3){语句} 三个表达式告知循环的次数
 表达式1:起始赋值
 表达式2:能够执行的依据
 表达式3:循环变量的变化(可以增加,可以减小)
 语句:重复的事情
 作用域:该内容可以使用的范围(该范围是两个大括号之间,并且在使用之前)
 循环结构的执行流程
 执行顺序是:表达式1→(表达式2→语句→表达式3→表达式2→语句→……表达式3)→结束。括号中的步骤每次都会循环。
 死循环  无限循环
 while循环
 while循环的结构:表达式1while(表达式2){语句;表达式3;}
 do while循环执行
 do while循环的结构:表达式1 do{语句;表达式3;}while(表达式2);
 do while循环的表达式2括号后会有分号。while、for循环有可能一次都不执行循环体,但do while循环至少1次。
 continue跳过当前步骤,执行下一次循环。break结束当前循环,直接跳出循环。
 break既可以在switch中使用,也可以在循环中使用。continue只能在循环中使用。


 嵌套循环语句
 在一个循环语句中还有一个循环语句。并且作为其循环体存在,作为双重循环。
 外层循环执行一次,里层循环全部执行!!(类似时针和分针的关系)
数组
 数组:1.存放的数据类型相同;2.数组的大小/长度固定不变;3.连续的内存空间。
 索引(下标):为了用数组的数据,在每个区域起一个编号。方便使用(查找和替换)。索引下标是从0开始一直到最大长度减一。
 数组的书写三种方式:
 1.例:定义一个长度为5的int型数组。
 int[] a = new int[5]
 ;int[]是数组数据类型,
 a是数组名称(标识符);
 = new int[5]告诉数组的长度。
 把1、2、3、4、5存入数据;
 a[0]=1(数组名称[下标]=值)……a[4]=5;
 即使数组的元素没有赋值,也会有默认值。例如:int数组的默认值为0;String数组的默认值为null,char数组的默认值是空字符(与String类型不同)。
 下标可以是那些类型:1.字面量,2.变量,3.常量,4.表达式。但是下标是整数,不能是double类型。
 int[] arr = new int[10];System.out.println(arr[10]);数组下标超出界限,结果显示异常。如果在使用元素时不小心使用管理不再范围中的下标,则会出现数组下标越界异常。
 如果要获得某一个数组的长度,可以用下面的方法:
 数组名称.length。length的值也只能是整数。


 数组的定义方式2:如果在定义数组时就知道有哪些值,则使用第二种。
 int[] a={1,2,3,4,5,6,7,8,9,10};
 System.out.println(a.length);长度是10。
 例:在数组中个存入10以内的偶数包括0,不包含10:
 int[] a = {0,2,4,6,8};
 这种方式只能出现在初始化。


 数组的定义方式3:
 int[] a = new int[]{1,2,3,4,5,6,7,8,9,10};


 数组在定义时由于是从C中得到的数组定义
 int[] a = new int[5];int b[] = new int[5];都可以


 随机数
 System.out.println(Math.random());产生的随机数>=0&&<1的小数。
 (int)Math.random强转后结果为0。
 取范围
 a~b,当b大于a时;
 System.out.println((int)(Math.random()*(b-a+1)+a))

下半周,通过学习能明显感受到,流程控制中的难点是循环语句,还有第三部分的数组。需要自己课余时间里着重复习加深印象,学以致用。另外在网上也找到了相关的教学视频。如: