------- android培训、java培训、期待与您交流!
----------1:循环
(1)如果我们发现有很多重复的内容的时候,就该考虑使用循环改进代码。 让我们代码看起来简洁了。
(2)循环的组成
A:循环体,就是要做的事情。
B:初始化条件(变量)。一般定义的是一个初始变量
C:判断条件。用于控制循环的结束。
D:变量的变化。一般都是一个++/--操作。
(3)循环的分类:
A:forfor(初始化条件;判断条件;控制条件){循环体;}执行流程:
a:先执行初始化条件;
b:执行判断条件
c:根据判断条件的返回值:true:执行循环体。false:就结束循环。
d:最后执行控制条件。返回到b继续。
B:while初始化条件;while(判断条件){循环体;更改循环变量;}执行流程
:a:先执行初始化条件
;b:执行判断条件
c:根据判断条件的返回值:true:执行循环体。false:就结束循环。
d:最后执行控制条件。返回到b继续。
C:do...while(了解)初始化条件;do{循环体;控制条件;}while(判断条件);执行流程
:a:先执行初始化条件
;b:执行循环体和控制条件;
c:执行判断条件d:根据返回值true:返回b。false:就结束循环。注意:
a:一般使用for循环或者while循环。而且这两种循环是可以等价转换的。
b:do...while循环至少执行一次循环体。*
(5)循环嵌套:
A:也就是循环语句的循环体是一个循环语句。
B:通过输出************ 我们不断的改进。发现了一个问题:外循环控制行数,内循环控制列数。
(6)案例:
A:正三角形内循环的判断条件
:y<=xfor(int x=0; x<5; x++)
{for(int y=0; y<=x; y++)
{System.out.print("*");
}
System.out.println();
}
B:倒三角形**********内循环的初始化条件:y=xfor(int x=0; x<5; x++){for(int y=x; y<5; y++){System.out.print("*");}System.out.println();}
2:break和continue
(1)有些时候,我们需要对循环进行一些控制终止,这个时候,就出现了两个关键字:break和continue
(2)特点:
A:它们都必须在循环中(break还可以在switch中。)。 一般在循环的判断中。
B:如果单独使用break和continue,后面是不能有语句的。
(3)区别:
A:break 结束当前循环。
B:continue 结束本次循环,进入下一次循环。
(4)如何退出嵌套循环:(了解)用带标签的循环。格式:标签名:for(){for(){if(){break 标签名;}}}
3:应用场景
(1)变量:发现有一个数据是变化的时候,就要用变量。
(2)if语句:如果是一个范围的判断,boolean类型的表达式的判断,几个数据的判断。
(3)switch语句:几个数据的判断。一般这种情况,有限选择switch。
(4)for语句:如果次数或者范围特别明确。(打印1-100之间所有数,打印矩形)
(5)while语句:如果次数或者范围不明确。
*4:函数的定义格式:修饰符 返回值类型 函数名(参数类型 形式参数
1,参数类型 形式参数
2,…){执行语句;return 返回值;}
修饰符:public static
返回值类型:因为函数的功能是打印一个数字,并不需要它返回一个数值,所以返回值类型为空(void)!
还要说明函数名:我们自己给函数起的名字:符合标识符的小驼峰式参数:要给方法传入的数据!
还要说明执行语句:方法体内要执行的逻辑,根据业务需求return :对于返回值为void的方法,return语句可以不写。
!还要说明把每个组件的功能说清楚即可:打印两个数当中较大的那个数
1:函数(掌握)
(1)定义在类中,有特定功能的一段小程序,可以独立运行
。(2)函数的格式:修饰符 返回值类型 函数名(形
参类型 形式参数
1,形参类型 形式参数
2...){函数体;reutrn 返回值;}
A:修饰符 public static
B:返回值类型 根据需求,定义返回值类型
C:函数名 其实就是函数的名称,方便我们调用。符合小驼峰式命名规则。
D:参数形参类型 数据类型形式参数 就是接收实际参数的变量实际参数 就是实际参与操作的变量(常量),只在调用方法时出现
E:函数体 就是按照正常的逻辑完成功能的代码
。F:返回值 就是程序的最终结果
G:return 返回值 哪里调用程序,return就把结果返回到哪里。
(3)函数的特点:n
A:函数与函数之间是平级关系。不能在函数中定义函数。
B:运行特点 函数只有被调用才执行。
(4)案例:有明确返回值的例子:
A:求两个数据的和
B:求两个数据的最大值
C:比较两个数是否相等void类型例子:
A:nn乘法表
B:根据给定的行和列输出一个*组成的长方形
(5)函数的调用
1、函数调用顺序与定义顺序无关
2、可以多层调用
3、具有返回值的函数,我们调用都会将值赋值给一个变量
4、单独调用一个函数时,通常这个函数是没有返回值的。
(6)函数重载
A:函数名相同,参数列表不同(个数不同,对应的类型不同,顺序不同)。 与返回值类型无关。 与形参变量无关。
B:举例:public static int sum(int a,int b){...}public static int sum(int a,int b,int c){...}public static int sum(float a,float b){...}
2:数组(1)数组是存储同一种类型的多个元素的容器。(2)好处:数组中的元素会被自动从0开始编号,方便我们获取。
(3)格式:
A:int[] arr = new int[3];
B:int arr[] = new int[3];
C:int[] arr = new int[]{1,2,3};
D:int[] arr = {1,2,3};推荐A和D。
(4)Java内存图:
A:栈 存储局部变量使用。使用完毕,立马消失。
B:堆 所有new出来的都在堆里面。a:每一个实体都有地址值b:每一个实体内的内容都有默认值整数:0浮点数:0.0字符:'\u0000'布尔:false内容为引用数据类型时(String):nullc:在垃圾回收器回收时被回收。
C:方法区D:本地方法区E:寄存器
(5)操作:数组的索引。数组的长度。数组名.length
A:数组的遍历B:数组获取最值
(6)二维数组格式:
A:int[][] arr = new int[3][2];
B:int[][] arr = new int[3][]
;C:int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};应用:遍历求和。