while和do while区别
while先进行条件判断,如果一开始条件就不成立的话,循环所控制的语句一次都不会执行。
do-while先执行一次循环控制的语句,然后去条件判断。
for循环
格式: for(表达式1 ; 表达式2 ; 表达式3 )
{
循环控制的语句;
}
一盘情况下,表达式1是赋值的表达式(初始化的表达式)
表达式2是循环的条件表达式。计算的结果一定是boolean类型的值。
表达式3是循环变量的更新。
表达式1-->表达式2 true--> 循环控制的语句 -->表达式3 -->表达式2 true --> 循环控制语句 --> 表达式3 --> 表达式2 false 退出循环
变量的作用范围:
一般情况下是从定义的地方开始,一直到结束。
注意:如变量存放在指定的范围内(一般使用大括号来划分),那么这个变量只能在当前这个范围内可以访问和使用,出了这个范围,这个变量无法使用。
练习:
需求:输出1~10之间的所有奇数。
思路:
1、1~10到之间的这些数据怎么来? 1 2 3 4 。。。
发现1~10这些数据有规律的在递增,可以使用循环提供。
2、使用哪个循环来提供这些数据呢?
使用for循环来提供这些数据。在循环结束之后,提供数据的这个变量就消失了
3、对循环提供的每一个数据进行判断。判断每一个数是不是为奇数。
啥是奇数呢?这个数不能被2整除。就是说明这个数除以2的余数不为0. m / n 0 ~ n-1
步骤:
1、使用for循环提供1~10的这些数据
2、判断这些数据是否为奇数
3、是奇数,就输出
while 和 for 的区别
while 循环的循环变量需要定义在循环的外面,然后在循环中使用,在while结束之后这个变量仍然有效,可以继续访问。
for 循环的循环变量一般定义在for的表达式1中,这个变量只能在for循环中使用,当for循环结束后这个变量就失效了,无法再对其访问。
在使用循环时,如果这个变量仅仅是为了控制循环的次数话,那么建议使用for。
循环嵌套:
for() 外循环 控制行数
{
for() 内循环 控制列数
{
}
}
循环嵌套: (大圈套小圈)
外循环执行一次,内循环需要从头到尾执行一遍。
需要打印倒三角的时候,值需要改变内循环的初始化值,就可以实现。
当需要打印正三角形的时候,只需要改变内循环的循环条件中的值,就可以实现。
break 关键字
功能:可以终止switch或循环的执行。它需要和循环或者switch进行结合使用。
注意:break不能单独存在。
continue 关键字 只能使用在循环上
功能:停止本次循环,接着进行下次循环。
注意:break能出现switch和循环中,而contiune只能出现在循环中。
需要打印倒三角的时候,只需要更改内循环的起始值,就可以控制每行打印的次数。
当需要打印正三角型的时候,只需要改变内循环的循环条件中的值,就可以实现
函数(方法)
函数是一段独立的代码,它内部可封装相应的功能。平且这部分代码可以被多次的调用执行。当要调用某一段独立的代码时,这段代码必须有名称,这个名称就是函数名。
在定义一个独立的功能(函数)时,这个函数必须要有名称。这个函数必须要有返回值类型。
当把方法定义好之后,怎么使用?
使用方法名 ();
定义函数
格式: 修饰符 返回值类型 函数名(参数列表) // 函数(方法)签名
{
集体功能代码;
}
在方法调用过程中需要注意:当实际参数和形式参数同名时,形式参数值得的改变,对实际参数空间中的值没有任何影响。
把这种数据的传递形式称为:值传递。
当调用的方法没有返回值时,返回类型为void,同时在此方法中不能出现带有参数的return语句。
return 关键字 就是将具体的值返回给调用者。return关键字还有第二个功能,就是结束方法。
定义功能,都需要注意那些问题:
1,定义功能时,需要明确这个功能有没有未知参数参与运算。
2,定义功能时,需要明确这个功能需不需要把结果返回。
需求:
求两个int类型数的和的功能
思路:
1、需要定义一个功能
public static 返回值 getSum( )
{
int a = 3;
int b = 4;
}
2、由于这个功能算两个数和值的,这两个数是未知。就需要调用这个功能的人给我们传递进来。
我们的这个功能怎么接受别人传递进来的数据呢?
我们在定义功能的时候,如果功能需要接受别人传递的参数,
这时就需要在定义功能的括号中定义变量,来接受这些数据
public static 返回值 getSum( int num , int num2 ) 定义在函数开头格式中的参数,是专门用来接受别人传递的值
3、定功能时,返回值的类型和具体返回的数据类型保持一致。
public static int getSum( int num , int num2 )
{
}
4、怎么把计算的值返回给调用的人呢?
当在功能中需要将数据返回给调用者时,需要使用关键字 return + 返回的值。
public static int getSum( int num , int num2 )
{
int sum = num + num2;
return sum;
}
方法重载:
在一个类中,有多个重名的方法.这些方法就是以重载的形式出现。方法要在一个类中形成重载,必须保证方法名相同,方法的参数列表不同(主要指的是参数的类型不同,顺序不同,个数不同)。
重载和返回值类型没有任何关系。
重载和参数的名称也无关。
练习:
下面可以与void show(int a,char b,boolean c){}重载的是?
-------------------------------------------------------------
a. void show(char b, int a, boolean c){} 可以 参数类型不同
b. int show(boolean a,char c ,int b){} 可以
c. void show(int a,char b,double c){} 可以
d. void show(int x,char y,boolean z){} 不可以
e. int show(int x,double y){} 可以
f. int show(int x, char y,boolean z){} 不可以
什么时候用重载:当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
|