第三天-流程控制、函数、数组

来源:互联网 发布:u盘损坏数据恢复 编辑:程序博客网 时间:2024/04/29 08:30
2.63循环结构

代表语句:while,do while,for

while(条件){执行代码;}




do{执行代码;}while(条件);



while:先判断条件,只有条件满足才执行循环体。
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。


for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句;
}


1、变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。for语句执行完毕,该变量在内存中被释放。
2、for和while可以互换。如果需要定义循环增量。用for更合适。


总结:当需要对某些语句执行很多次时,就使用循环结构。


for条件表达式必须要是boolean值。


无限循环的最简单表现形式:
for(;;){}


while(true){}


求1~100之间7的倍数的个数。
累加思想:通过变量记录住循环操作后的结果。
通过循环的形式。进行累加动作。


计数器思想:通过一个变量记录住数据的状态变化。也需要通过循环完成。


打印如下图形:
*****
****
***
**
*


发现图形有很多行,每一行有很多列。


要使用嵌套循环。原理:形象说法:大圈套小圈。


打印99乘法表:
for(int x = 1; x <= 9; x ++){for(int y = 1; y <= x; y ++){System.out.print(y+"*"+x+"="+x*y+"\t");}System.out.println();}




2.6.4其他流程控制语句
break(跳出),continue()
continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。
记住:
1、break和continue语句作用范围。
2、break和continue单独存在时,下面不可以有任何语句,因为执行不到。




打印等腰三角形:
    *
   * *
  * * *
 * * * *
* * * * *


----*
---* *
--* * *
-* * * *
* * * * *


for(int x=0; x<5; x++){for(int y=x; y<4; y++){System.out.print(" ");}for(int z=0; z<=x; z++){System.out.print("* ");}System.out.println();}


思想:可以把图想象成如上部分。一部分打印“-”,一部分打印“*”


2.7函数
2.7.1函数的定义

函数:就是定义在类中的具有独立功能的小程序。也叫方法。
格式:
修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2...){
执行语句;
return返回值;
}
注意:静态函数调用的函数也一定要是静态的。


2.7.2函数的特点
函数特点:
定义函数可以将功能代码进行封装
便于对该功能重复使用
函数只有被调用才会被执行
函数的出线提高了代码的复用性
对于没有具体返回值的情况,返回值类型用void表示。


注意:函数中只能调用函数,不能在函数中定义函数。


2.7.3函数的应用
定义函数:
1、既然函数是一个独立的功能,那么该功能的运算结果是什么先明确
因为这是在明确函数的返回值类型。
2、在明确定义该功能的过程中是否需要未知的内容参与运算。
因为这是在明确函数的参数列表(参数类型和参数个数)


注意:定义函数只需要做自己需要做的事,不必做过多的实现。


2.7.4函数的重载(overload)
重载:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
特点:与返回值类型无关,只看参数列表。
好处:方便阅读,优化程序设计。




什么时候用重载?
当定义的功能相同时,当参与运算的未知内容不同。这时就定义一个函数名称以表示功能,方便阅读,而通过参数列表的不同来区分多个同名函数。




2.8数组
2.8.1数组的定义

概念:同一种类型数据的集合。其实数组就是一个容器。
数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。


2.8.2内存结构
Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行不同区域的划分,因为每一片区域都有待定的处理数据方式和内存管理方式。
栈内存:用于存储局部变量,当数据用完时,所占空间会自动释放。
堆内存
数组和对象,通过new建立的实例都存放在堆内存中。
每一个实体都有内存地址值。
实体中的变量都有默认初始值。
实体不再被使用,会在不确定的时间内被垃圾回收器回收。


还有方法区,本地方法区,寄存器。
0 0
原创粉丝点击