1.分支结构:
1)if结构:1条路
2)if...else结构:2条路
3)if...else if结构:多条路
4)switch...case结构:多条路
优点:效率高、结构清晰
缺点:整数、相等
break:跳出switch
2.循环:
1)反复执行一段相同或相似的代码
2)循环三要素:
2.1)循环变量的初始化
2.2)循环的条件(以循环变量为基础)
2.3)循环变量的改变(向着循环的结束变)
循环变量:在整个循环过程中所反复改变的那个数
3)循环结构:
3.1)while:先判断后执行,有可能一次都不执行
3.2)do...while:先执行后判断,至少执行一次
要素1与要素3相同时,首选do...while
3.3)for:固定次数循环
2.break:跳出循环
continue:跳过循环体中剩余语句而进入下一次循环
3.三种循环结构的更佳适用情况:
1)while:"当..."
2)do...while:"直到..."
要素1与要素3相同时,首选do...while
3)for:固定次数,应用率最高
4.嵌套循环:
1)循环中套循环,一般多行多列时使用,外层控制行,内层控制列
2)执行规则:外层循环走一次,内层循环走所有次
3)建议:循环层次越少越好,能用一层就不用两层,能用两层就不用三层
若你的需求必须得通过三层以上的循环才能解决,说明设计有问题
4)break只能跳出一层循环
6.程序=算法+数据结构
1)算法:解决问题的流程/步骤(顺序、分支、循环)
2)数据结构:将数据按照某种特定的结构来保存
设计合理的/良好的数据结构会导致好的算法
7.数组:
1)相同数据类型元素的集合
2)数组是一种数据类型(引用类型)
3)数组的定义:
int[] arr = new int[10];
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]); //输出arr中最后一个元素的值
6)数组的遍历:
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){
arr[i] = 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.数组:
7)数组的复制:
7.1)System.arraycopy(a,1,a1,0,4); //灵活性好、效率高
7.2)int[] a1 = Arrays.copyOf(a,6); //灵活性差、效率低
a = Arrays.copyOf(a,a.length+1); //特殊用途(数组的扩容)
8)数组的排序:
8.1)Arrays.sort(arr); //升序排列
8.2)冒泡排序:---------------常见面试题
8.2.1)五个数冒四轮
8.2.2)每一轮都是从第1个元素开始冒
每一次都是和它的下一个元素比
8.2.3)冒出来的就不带它玩了
2.方法:函数、过程
1)用于封装一段特定的业务逻辑功能
2)尽可能的独立,一个方法只干一件事
3)方法可以被反复多次调用
4)减少代码重复、便于代码的维护、有利于团队的协作
3.方法的定义:
修饰词 返回值类型 方法名(参数列表){
方法体
}
4.方法的调用:
1)无返回值: 方法名(有参传参);
2)有返回值: 数据类型 变量 = 方法名(有参传参);
5.return的用法:
1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方
-------------------写在有返回值的方法中
2)return; //2.1)结束方法的执行
-------------------写在无返回值的方法中