1 for循环
格式:
public static void main(String[] args) {
for(开始条件; 循环条件 ; 更改条件) {
符合循环条件后执行的循环体
}
}
循环的开始条件只会在第一轮开始的时候执行一次,后续均不再执行
- 循环结构适合我们在程序中需要反复执行某一件事时使用
循环能够执行几次,取决于循环变量能够取到几个值,而不是循环变量的取值范围
public static void main(String[] args) {
//比如此处循变量i的取值范围是8~8888,但是循环只执行了4次
//因为i只取到了4个值,分别是8,88,888,8888
for (int i = 8; i <= 8888; i=i*10+8) {
System.out.println(i);
}
}
我们可以通过break直接结束当前循环的剩余所有轮
- 我们可以通过continue结束本轮循环continue后面的语句,直接开始下一轮循环
我们可以使用return关键字结束整个方法,注意break continue return 后都不可以直接写代码,都是不可到达的代码
2 嵌套for循环
外层循环控制的是执行的轮数,内层循环控制的是这一轮中执行的次数
- 外层循环控制的是图形的行数,内层循环控制的是这一行的列数
- 案例中的经验:
如果把内层循环循环变量的最大值设置为一个固定值,打印出来的是矩形
//*****
//*****
//*****
for(int i = 1; i<=3 ;i++) {//外层循环,控制的轮数,执行3轮
for(int j = 1;j<=5;j++) {//内层循环,控制的是每轮的次数,每轮执行5次
System.out.print("*");
}
System.out.println();//本打印语句用来换行
}
如果把内层循环的循环变量j,设置成随着外层循环循环变量i的变化而变化,打印出来的是直角三角形
System.out.println("*********打印左直角三角形********");
for(int i = 1;i<=6;i++) {//外层循环控制的是行数
/**矩形每行中*的个数是固定不变的
* 而左直角三角形中每行星星个数的最大值是随着行数的变化而变化的,行i星i*/
for(int j = 1; j<=i;j++) {//内层循环控制的是这一行的列数
System.out.print("*");
}
System.out.println();//打印空白行用来换行,注意一定要内层循环结束
}
3 成员变量与局部变量
成员变量:
1)位置:类里方法外
2)注意事项:成员变量有自己的对应类型的默认值,不需要我们手动初始化/赋值
3)生效范围:在整个类中都生效,类消失,成员变量才会随之释放
局部变量:
1)位置:在方法里 / 局部代码块里
2)注意事项:使用时必须赋值/初始化
3)生效范围:在方法里/局部代码块中,对应的代码执行完毕,局部变量也随之释放
4 方法
- 方法定义的格式: 修饰符 返回值类型 方法名(参数列表){方法体}
- 一个方法会不会执行,取决于有没有调用,调用的格式:方法名+参数列表
- 方法定义的位置没有关系,执行顺序取决于main()怎么调用
- 一个方法,可以不设置参数,也可以设置多个参数,如果有参数,使用方法时,必须传对应类型的参数
- 如果方法的返回值类型是void,不允许有返回值
- 如果方法要返回一个值,必须设置返回值类型,并且return对应类型的结果
- 在调用有返回值的方法时,可以接这个方法的返回值,接到了后续可以多次使用这个返回值
如果不接,那就是只是调用该方法的功能,并不使用这个返回值
package cn.tedu.method;
public class TestMethod2 {
public static void main(String[] args) {
//我们通过方法名+参数列表来确定调用哪个方法
run();
eat(5);
String r = play("二郎神");
System.out.println("我是r:"+r);
}
//格式:修饰符 返回值类型 方法名(参数列表){方法体}
//需求1:定义一个方法run,没有参数,没有返回值,打印:小狗DOG跑的老快了~
public static void run() {
System.out.println("小狗DOG跑的老快了~");
}
//需求2:定义一个方法eat,参数为int n,没有返回值,打印:小狗今晚要吃n个肉包子~
private static void eat(int n) {
System.out.println("小狗今晚要吃"+n+"个肉包子~");
}
//需求3:定义一个方法play,参数String host,返回值是String "飞盘"
//打印:小狗Dog与主人host玩的很开心~
public static String play(String host) {
System.out.println("小狗Dog与主人"+host+"玩的很开心~");
return "飞盘";
}
}