第5天

1.循环结构:

3)for循环:应用率最高,固定次数循环

结合案例:随机加法运算器程序Addition

                    for(循环变量初始化;循环条件;循环变量的改变){
                        语句块;
                    }

2.break:跳出循环

continue:跳过,进入下一次循环

3.三种循环结构的更佳适用情况:

    1)while:"当..."
    2)do...while:"直到..."
                        要素1与要素3相同时首选do...while
    3)for:固定次数

4.嵌套循环:

结合案例:九九乘法表程序MultiTable

    for(;;){
            for(;;){
                    ...
                }
        }

1)循环中套循环,一般多行多列时使用,外层控制行,内层控制列

2)执行规则:外层循环走一次,内层循环走所有次

3)建议:嵌套层次越少越好,能一层不两层,能两层就不三层

4)break只跳出一层循环

5.程序=算法+数据结构

1)算法:解决问题的流程/步骤(顺序/分支/循环)

2)数据结构:将数据按照某种特定的结构来保存(数怎么存,设计合理的/良好的数据结构会导致好的算法)

先设计好数据结构,再来把算法写好

6.数组:最基本的一种数据结构

1)是一种数据类型(不是基本数据类型,而是引用类型

2)相同数据类型元素的集合(数据类型必须一样)

3)数组的定义:

4)数组的初始化:

int[] arr = new int[3]; //0,0,0
int[] arr = {2,5,8}; //2,5,8
int[] arr = new int[]{2,5,8}; //2,5,8
int[] arr;
arr = {2,5,8}; //编译错误,此方式只能声明同时初始化
arr = new int[]{2,5,8}; //正确

5)数组的访问:

5.1)通过(数组名.length)可以获取数组的长度(元素的个数)

int[] arr = new int[3];
System.out.println(arr.length); //3

5.2)通过下标/索引来访问数组中的元素

下标从0开始,最大到(数组的长度-1)

int[] arr = new int[3];
arr[0] = 100; //给arr中第1个元素赋值为100
arr[1] = 200; //给arr中第2个元素赋值为200
arr[2] = 300; //给arr中第3个元素赋值为300
arr[3] = 400; //数组下标越界异常
System.out.println(arr[arr.length-1]); //输出最后一个元素的值

6)数组的遍历:

结合案例:数组最值计算程序MaxOfArray

int[] arr = new int[10];
for(int i=0;i<arr.length;i++){
  arr[i] = (int)(Math.random()*100);
}
for(int i=0;i<arr.length;i++){
  System.out.println(arr[i]);
}
for(int i=arr.length-1;i>=0;i--){
  System.out.println(arr[i]);
}

练习:

1)完成经典案例:------------------至少两次

    1.1)随机加法运算器
    1.2)九九乘法表
    1.3)求数组元素的最大值----------day06包中

2)完成课后作业: