------ 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种。
*/