Java基础03:循环结构;函数;重载;数组
2013-08-26 14:58
471 查看
关键字:循环结构;break;continue ;函数;重载;数组
一、循环结构
代表语句:while 、do while 、for。当对某些语句执行很多次时,使用循环结构。
while(条件表达式){执行语句(循环体);} 条件判断满足后,执行循环体,然后再判断一次,满足后再执行,直到条件不满足。先判断条件,只有条件满足才执行循环体。
do{执行语句;}while(条件表达式); 无论条件是否满足,循环体都至少执行一次。先执行再判断。
注意:一定要明确哪些语句需要参与循环,哪些不需要参与循环。
语句的结束,要么是“;”要么是“}”。例如,while(x<3);没有执行语句会死机,不断的判断条件。
条件满足执行的都是循环体。
for语句中的执行顺序:初始化表达式—>循环条件表达式—>执行语句—>循环后的操作表达式—>循环条件表达式,再一次执行,直到不满足循环条件表达式,循环自动停止。
特点:初始化条件只执行一次;只要条件不满足,循环结束。
变量的作用范围(作用域),对于for来说,如果将控制循环的增加定义在for语句中,那么该变量只在for语句中有效,for语句执行完毕,该变量在内存中释放。例如,for(int x = 0;x < 3;x++),x只在括号内有效,执行完后消失。x也可以在外面声明,但是申明后就不能随着for循环的消失而小时。
for和while的比较:
1.for的初始化动作在内部,while初始化动作在外部。所以,如果变量只是为了循环存在,也就是需要定义增量,使用for比较合适,内存比较优化。变量在内存中的驻留时间不一样。while中的变量在下面的代码中仍然可以使用。
2.两种语句其实可以互换使用。
循环条件表达式必的结果必须是true或false,否则编译失败。初始化表达式和循环后的操作表达式只要是合法的执行语句即可,不一定就是运算符,也可以多个表达式,用逗号隔开。
int y = 0;
for( ; y < 3; ){y++;}也可以。
无限循环的表现形式:for( ; ; ){},不写条件表达式,默认为true。
while(true){}
注意:
遍历,将所有值扫描一遍。
累加思想:通过变量记录住每次变化的结果,通过循环的形式,进行累加的动作,就是记录循环后的结果。例如,变大、变小、记住增加的量、字符串的不断延长。
计数器思想:通过一个变量记住数据的状态变化,也需要通过循环完成。
嵌套,就是语句中还有语句。内部循环体执行完毕后,进入外部循环体。对于打印的矩形,外循环控制行数,内循环控制每行中元素的个数。将外循环中的变量放入内循环,使得每行中元素是个数发生变化。使用”\t”,自动对齐。
二、其他流程控制语句
1.break语句:应用范围:选择结构和循环结构
2.continue语句:应用于循环结构。
注意:
a.这两个语句离开应用范围,存在是没有意义的。
b.这个两个语句单独存在下面都不可以有语句,因为执行不到。
c.continue 语句是结束本次循环接续下次循环。
d.标号的出现,可以让这两个语句作用于指定的范围。
三、函数的定义
函数就是定义在类中的具有特定功能的一段独立小程序。也称为“方法”。为了提高代码的复用性,对代码进行抽取,将抽取的部分定义成一个独立的功能,方便日后使用,不调用的话就不运行。java中对功能的定义是通过函数的形式体现的。
函数格式:
定义函数可以将功能代码进行封装。独立存在,有自己的封装区间。
便于对该功能进行复用,提高了代码的复用性。
函数只有被调用才会执行。
对于函数没有具体返回值的情况,返回值类型用关键字void表示,return可以省略不写。
两个注意:
1.函数中可以调用函数,但不能定义函数。函数之间是平级的。
2.定义函数时,函数的结果应该返回给调用者处理,不要在该函数中处理。
如何定义函数?需要两个明确:
函数是一个功能,需要明确该功能的运算结果,即返回值类型。
明确在定义该功能的过程中,是否需要未知内容参与运算。能独立实现,或是需要依靠调用者的数据来实现功能。明确参数列表,即参数类型和形式参数的个数。
编写程序就是在实现功能,java中最小的功能单元是函数。将各种功能全部定义到函数中,不要堆砌在主函数中,提高阅读性。主函数的功能就是调用函数。
函数的重载(overload)
在同一类中,允许存在一个以上同名的函数,只要他们的参数个数和参数类型不同即可。函数名,便于体现函数是功能。
使用:当定义的功能相同,但参与运算的未知内容不同,可以定义一个函数名称以表示功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
特点:与返回值类型无关,即使是void和int也可以重载。因为先要确定使用哪个函数,只能通过参数列表确定,确定好函数后再运算结果,所以和返回值无关,只看参数列表。参数的顺序不同,参数列表也会不同。
好处:便于阅读,优化程序的设计。函数间也可以传递,名称相同,调用另一个函数。
四、函数的定义
数组:同一种类型数据I的集合,其实就是一个容器。
数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式:
五、内存结构
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
a.数组和对象,通过new建立的实例都放在的堆内存中。
b.每一个实体都有内存地址值。
c.实体中的变量都有默认初始化值。
d.实体不在被使用,会在不确定的时间内被垃圾回收器回收。
注意:除了存在堆内存和栈内存,还有方法区,本地方法区,寄存器
思考:为什么数组和基本数据类型的方式不一样呢?
因为数组传输的是引用值,是一个引用传递给另一个引用。对数组中的元素操作,是在同一个引用的情况下使用的。
而基本数据类型,它传递的是值,对于另一个基本数据值修改,和原来元素没有关系。
一、循环结构
代表语句:while 、do while 、for。当对某些语句执行很多次时,使用循环结构。
while(条件表达式){执行语句(循环体);} 条件判断满足后,执行循环体,然后再判断一次,满足后再执行,直到条件不满足。先判断条件,只有条件满足才执行循环体。
do{执行语句;}while(条件表达式); 无论条件是否满足,循环体都至少执行一次。先执行再判断。
注意:一定要明确哪些语句需要参与循环,哪些不需要参与循环。
语句的结束,要么是“;”要么是“}”。例如,while(x<3);没有执行语句会死机,不断的判断条件。
条件满足执行的都是循环体。
for (初始化表达式;循环条件表达式;循环后的操作表达式) { 执行语句; }
for语句中的执行顺序:初始化表达式—>循环条件表达式—>执行语句—>循环后的操作表达式—>循环条件表达式,再一次执行,直到不满足循环条件表达式,循环自动停止。
特点:初始化条件只执行一次;只要条件不满足,循环结束。
变量的作用范围(作用域),对于for来说,如果将控制循环的增加定义在for语句中,那么该变量只在for语句中有效,for语句执行完毕,该变量在内存中释放。例如,for(int x = 0;x < 3;x++),x只在括号内有效,执行完后消失。x也可以在外面声明,但是申明后就不能随着for循环的消失而小时。
for和while的比较:
1.for的初始化动作在内部,while初始化动作在外部。所以,如果变量只是为了循环存在,也就是需要定义增量,使用for比较合适,内存比较优化。变量在内存中的驻留时间不一样。while中的变量在下面的代码中仍然可以使用。
2.两种语句其实可以互换使用。
int x = 1; for(System.out.println("a"); x<3; System.out.println("c"), x++, z++) { System.out.println("d"); }
循环条件表达式必的结果必须是true或false,否则编译失败。初始化表达式和循环后的操作表达式只要是合法的执行语句即可,不一定就是运算符,也可以多个表达式,用逗号隔开。
int y = 0;
for( ; y < 3; ){y++;}也可以。
无限循环的表现形式:for( ; ; ){},不写条件表达式,默认为true。
while(true){}
注意:
遍历,将所有值扫描一遍。
累加思想:通过变量记录住每次变化的结果,通过循环的形式,进行累加的动作,就是记录循环后的结果。例如,变大、变小、记住增加的量、字符串的不断延长。
计数器思想:通过一个变量记住数据的状态变化,也需要通过循环完成。
嵌套,就是语句中还有语句。内部循环体执行完毕后,进入外部循环体。对于打印的矩形,外循环控制行数,内循环控制每行中元素的个数。将外循环中的变量放入内循环,使得每行中元素是个数发生变化。使用”\t”,自动对齐。
//第一for来控制行数 for (; ; ) { //第二for来控制列数 for (; ; ) { } }
二、其他流程控制语句
1.break语句:应用范围:选择结构和循环结构
2.continue语句:应用于循环结构。
注意:
a.这两个语句离开应用范围,存在是没有意义的。
b.这个两个语句单独存在下面都不可以有语句,因为执行不到。
c.continue 语句是结束本次循环接续下次循环。
d.标号的出现,可以让这两个语句作用于指定的范围。
三、函数的定义
函数就是定义在类中的具有特定功能的一段独立小程序。也称为“方法”。为了提高代码的复用性,对代码进行抽取,将抽取的部分定义成一个独立的功能,方便日后使用,不调用的话就不运行。java中对功能的定义是通过函数的形式体现的。
函数格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...) { 执行语句; return 返回值; } /* 返回值类型:函数运行后的结构的数据类型。 参数类型:是形式参数的数据类型。 形式参数:是一个变量,用于存储diaoy9ong函数是传递给函数的实际参数。 实际参数:传世给形式参数的具体数值。 return:用于结束函数 返回值:该值会返回给调用者。 */
定义函数可以将功能代码进行封装。独立存在,有自己的封装区间。
便于对该功能进行复用,提高了代码的复用性。
函数只有被调用才会执行。
对于函数没有具体返回值的情况,返回值类型用关键字void表示,return可以省略不写。
两个注意:
1.函数中可以调用函数,但不能定义函数。函数之间是平级的。
2.定义函数时,函数的结果应该返回给调用者处理,不要在该函数中处理。
如何定义函数?需要两个明确:
函数是一个功能,需要明确该功能的运算结果,即返回值类型。
明确在定义该功能的过程中,是否需要未知内容参与运算。能独立实现,或是需要依靠调用者的数据来实现功能。明确参数列表,即参数类型和形式参数的个数。
编写程序就是在实现功能,java中最小的功能单元是函数。将各种功能全部定义到函数中,不要堆砌在主函数中,提高阅读性。主函数的功能就是调用函数。
函数的重载(overload)
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,){ 执行语句; return 返回值; }
在同一类中,允许存在一个以上同名的函数,只要他们的参数个数和参数类型不同即可。函数名,便于体现函数是功能。
使用:当定义的功能相同,但参与运算的未知内容不同,可以定义一个函数名称以表示功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
特点:与返回值类型无关,即使是void和int也可以重载。因为先要确定使用哪个函数,只能通过参数列表确定,确定好函数后再运算结果,所以和返回值无关,只看参数列表。参数的顺序不同,参数列表也会不同。
好处:便于阅读,优化程序的设计。函数间也可以传递,名称相同,调用另一个函数。
四、函数的定义
数组:同一种类型数据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.实体不在被使用,会在不确定的时间内被垃圾回收器回收。
注意:除了存在堆内存和栈内存,还有方法区,本地方法区,寄存器
思考:为什么数组和基本数据类型的方式不一样呢?
因为数组传输的是引用值,是一个引用传递给另一个引用。对数组中的元素操作,是在同一个引用的情况下使用的。
而基本数据类型,它传递的是值,对于另一个基本数据值修改,和原来元素没有关系。
相关文章推荐
- Java笔记1 Java编程基础<2>循环语句、函数(重载)、变量和数组的内存结构
- java学习笔记:Java语法基础2(循环,函数,重载,数组,方法)
- 05_java基础加强(数组、判断语句、循环结构、进制转换、常用类等)
- 黑马程序员_java基础学习笔记03_函数以及数组知识
- JAVA基础day03 循环 函数运用及函数的重载
- JAVA基础第三天学习日记_循环语句、函数、数组
- JAVA基础3-程序结构与控制、函数与数组入门
- JAVA基础学习(三)---程序结构与控制、函数与数组入门
- Java基础视频教程第03天_学习笔记之循环结构、函数
- Java.基础知识篇.03 循环、数组、冒泡排序
- day03循环结构,for嵌套打印三角星,函数(方法),重载,数组概念,内存
- java基础,分支结构、循环、数组
- java基础知识之循环结构与数组
- 温故而知新(三)Java基础:循环结构、分支结构、数组、Arrays 类
- Java基础4--循环--函数--数组
- JAVA基础--函数和数组03
- 黑马程序员--Java学习日记之基础知识(循环结构与数组)
- 黑马程序员_JavaSE基础04 之 循环嵌套 函数重载 数组 内存空间划分
- 黑马程序员----java基础语法笔记(函数、重载、数组)(下)
- JAVA基础-程序的基本结构、函数与数组