黑马程序员—循环结构与方法

本文介绍了Java中的三种循环结构:while、do...while和for,并详细讲解了for语句的使用,包括空循环的情况。此外,还深入探讨了方法的概念、格式、特点以及方法的返回值类型和参数。方法的重载也是讨论的重点,它允许在同一个类中存在同名但参数列表不同的方法,增强了代码的可读性和设计优化。最后,提供了一个输出99乘法表的代码示例。
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、while与do...while语句

while语句是Java最基本的循环语句。当他的控制表达式是真时,while语句重复执行一个语句或语句块。
他的通用格式:
while(条件表达式)
{
循环体;
}
条件表达式可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件表达式为假时,程序控制权就传递到循环后面的语句执行。
如果只有单条语句重复,大括号可以省略。
while循环的循环体可以为空,这是因为一个空语句在Java的语法上是合法的。
while最简单的无限循环表现形式:
while(true);
如果在while循环中一开始条件表达式就是假的,那么循环体根本就不被执行。
do
{
执行语句;
}
while(条件表达式);
do...while循环总是先执行循环体,然后在计算表达式。如果表达式为真,则循环继续;
否则循环结束。
while与do...while的区别:
while:先判断条件,只有条件满足才执行循环体。
do...while:先执行循环体,再判断条件,条件满足,再继续执行循环体。
简单一句话:do...while:无论条件是否满足,循环体至少执行一次。

二、for语句

for循环是一个功能强大且形式灵活的结构
for循环的通用表达式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
只有一条语句需要重复,大括号可以省略。
for循环的执行过程:
1、当循环开始时,先执行初始化部分。初始化表达式只执行一次。
2、执行循环条件表达式,条件表达式必须是boolean表达式。如果为真,则执行玄幻语句,如果为假,则循环终止。
3、如果条件表达式为真,执行循环体。
4、执行循环后的操作表达式。
5、执行上述步骤2.
for和while可以进行互换,如果要定义循环增量,用for更为合适。
for的最简单无限循环表现形式:

for(;;);

三、方法

函数就是定义在类中的具有特定功能的一段独立小程序。

Java中称函数为方法。

方法的格式:

修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2...

{

执行语句;

Return 返回值;

}

返回值了类型:方法运行后的结果数据类型。

参数类型:是形式参数的数据类型。

形式参数:是一个变量,用于存储调用方法时传递给方法的实际参数。

实际参数:传递给形式参数的具体数值。

Return:用于结束方法。

返回值:该值会返回给调用者。

 

方法的特点:

1.定义方法可以将功能代码进行封装。

2.便于对该功能进行复用。

3.方法只有在调用时才会被执行。

4.方法的出现提高了代码的复用性。

5.对于没有具体返回值的情况,返回值类型用关键字void表示,那么该方法的return语句如果在最后一行可以省略不写。

 

注意:

1.方法中只能调用方法,不可以在方法内部定义方法。

2.定义方法时,方法的结果应该返回给调用者,交由调用者处理。


方法的重载

在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。

重载的特点

与返回值无关,只看参数列表。

重载的好处

方便于阅读,优化了程序的设计。


代码示例:

/*
需求:1-100之间7的倍数的个数,并打印。
思路:
1.先对1-100进行循环遍历。
2.在遍历的过程中,定义条件,只对7的倍数进行操作。
3.因为7的倍数不确定,只要符合条件,就通过一个变量来记住变化的次数。
步骤:
1.定义循环语句,选择for 语句。
2.再循环中定义判断,只要是7的倍数即可。x%7==0.
3.定义变量进行自增。
*/
class WhileFor
{
	public static void main(String[] args) {
		int count = 0;
		for (int x=0; x<=100 ;x++ ) {
			//选出1-100中7的倍数
			if (x%7==0) {
				count++;
			}
		}
		System.out.println("1-100中7的倍数有:"+count+"个");
	}
}
/*
最终输出结果如下:
1-100中7的倍数有:15个
*/

输出99乘法表:

/*
需求:输出99乘法表如下所示:
1x1=1
2x1=2 2x2=4
3x1=1 3x2=6 3x3=9
. . . . . . . . . . . 

思路:
1.定义两个变量控制行与列的个数;
2.两个循环循环输出乘法表;
3.将两个循环嵌套控制输出每行的个数不同。
*/
class Multi99
{
	public static void main(String[] args) {
		for (int a=1; a<=9 ;a++ ) {
			for (int b=1; b<=a ;b++ ) {
					System.out.print(a+"x"+b+"="+a*b+"\t");//输出计算式
			}
			System.out.println();
		}
	}
}

/*
最终输出结果如下:
1x1=1
2x1=2   2x2=4
3x1=3   3x2=6   3x3=9
4x1=4   4x2=8   4x3=12  4x4=16
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81
*/


小练习:

/*
小练习
假定公鸡每只5元,母鸡每只3元,小鸡每只1元3只。现在有100元钱要求买100只鸡,列出所有可能的方案。
需求:100元买100只鸡。
5*x+y*3+z/3=100

思路:
1.定义每只鸡的数量为三个变量x、y、z;
2.三种鸡的数量相加为100 x+y+z=100;
3.所有的鸡的价钱加起来为100元 5*x+y*3+z/3==100;
4.通过嵌套循环列出所有的可能性。
*/
class Chick
{
	public static void main(String[] args) {
		int count = 0;
		for (int x=0; x<=20 ;x++ ) {
			for (int y=0; y<34 ;y++ ) {
				for (int z=0; z<=300;z+=3 ) {
					if (x+y+z==100 && x*5+y*3+z/3==100) {  //计算价钱的和为100和数量的和为100
						count++;
						System.out.println("公鸡:"+x+",母鸡:"+y+",小鸡:"+z);
					}
				}
			}
		}
		System.out.println("共有买鸡方案"+count+"种。");
	}
}

/*
最终输出结果如下:
公鸡:0,母鸡:25,小鸡:75
公鸡:4,母鸡:18,小鸡:78
公鸡:8,母鸡:11,小鸡:81
公鸡:12,母鸡:4,小鸡:84
共有买鸡方案4种。
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值