一、循环结构
代表语句:while 、do while 、for。当对某些语句执行很多次时,使用循环结构。
条件满足执行的都是循环体。
for (初始化表达式;循环条件表达式;循环后的操作表达式) {
执行语句;
}
for语句中的执行顺序:初始化表达式—>循环条件表达式—>执行语句—>循环后的操作表达式—>循环条件表达式,再一次执行,直到不满足循环条件表达式,循环自动停止。
int x = 1;
for(System.out.println("a"); x<3; System.out.println("c"), x++, z++)
{
System.out.println("d");
}
注意:
累加思想:通过变量记录住每次变化的结果,通过循环的形式,进行累加的动作,就是记录循环后的结果。例如,变大、变小、记住增加的量、字符串的不断延长。
计数器思想:通过一个变量记住数据的状态变化,也需要通过循环完成。
//第一for来控制行数
for (; ; ) {
//第二for来控制列数
for (; ; ) {
}
}
二、其他流程控制语句
1.break语句:应用范围:选择结构和循环结构
2.continue语句:应用于循环结构。
注意:
a.这两个语句离开应用范围,存在是没有意义的。
b.这个两个语句单独存在下面都不可以有语句,因为执行不到。
c.continue 语句是结束本次循环接续下次循环。
d.标号的出现,可以让这两个语句作用于指定的范围。
三、函数的定义
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
/*
返回值类型:函数运行后的结构的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储diaoy9ong函数是传递给函数的实际参数。
实际参数:传世给形式参数的具体数值。
return:用于结束函数
返回值:该值会返回给调用者。
*/
两个注意:
函数的重载(overload)
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,){
执行语句;
return 返回值;
}
使用:当定义的功能相同,但参与运算的未知内容不同,可以定义一个函数名称以表示功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
数组:同一种类型数据I的集合,其实就是一个容器。
数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式:
//元素类型[] 数组名 = new 元素类型[元素个数货数组长度]
int[] arr = new int[5];
//元素类型[] 数组名 = new 元素类型[]{元素,元素,元素,.....}
int[] arr = new int[]{1,2,3,4};
int[] arr = {1,2,3,4};
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
a.数组和对象,通过new建立的实例都放在的堆内存中。
b.每一个实体都有内存地址值。
c.实体中的变量都有默认初始化值。
d.实体不在被使用,会在不确定的时间内被垃圾回收器回收。
注意:除了存在堆内存和栈内存,还有方法区,本地方法区,寄存器
思考:为什么数组和基本数据类型的方式不一样呢?
因为数组传输的是引用值,是一个引用传递给另一个引用。对数组中的元素操作,是在同一个引用的情况下使用的。
而基本数据类型,它传递的是值,对于另一个基本数据值修改,和原来元素没有关系。