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);
}
}
- 可以通过continue关键字结束本轮循环,直接开始下一轮循环
- 可以通过break关键字直接结束当前循环剩余的所有轮
演示案例:
public static void main(String[] args) {
//1.循环一百次
for(int i=1; i<=100;i++) {
//2.提示并接受用户信息
String s = "请输入一个你想猜的数字,你有100次机会,";
System.out.println(s+"这是第"+i+"次机会");
int input = new Scanner(System.in).nextInt();
//3.判断用户是否猜对
if(input != 88) {
System.out.println("你猜错了喂(#`O′)");
/**continue的作用的结束本轮循环中continue后面的语句
* 直接开启下一轮循环
* 注意: 此处的continue不是决定能不能再次输出的,能输入几次取决于循环的次数
* continue只是为了让程序效率更好,放数据不是88时,就没有必要判断后面的语句了*/
/**continue与break后都不可以添加代码,因为都是不可到达的代码*/
continue;
// System.out.println(continue);//不可到达的代码
}
System.out.println("continue的作用");
if(input == 88) {
System.out.println("猜对了^_^");
break;/**用于结束当前循环*/
// System.out.println(break); 不可到达的代码
}
}
}
2.全套for循环
- 外层循环控制的是循环执行的轮数,内层循环控制的是这一轮循环执行的次数
- 如果使用嵌套for循环在控制台打印图形,外层循环控制的是图形的行数,内层循环控制的是图形的列数
实践案例
public static void main(String[] args) {
for(int i=1; i<=3; i++) { //外层循环控制行
for(int j=1; j<=5;j++) { //内层循环控制列
/*使用"*"号拼接次形成矩形,此句输出语句不能使用print,
否则有换行效果,就拼接不出来想要的图案*/
System.out.print("*");
}
System.out.println(); //内外循环结束一轮后,打印换行语句用来开始图形的换行
}
}
/*
打印结果为:
*****
*****
*****
*/
如果把内层循环的循环变量j,设置成随着外层循环循环变量i的变化而变化,打印出来的是直角三角形
public static void main(String[] args) {
for(int i=1; i<=9; i++) { //外层循环控制行
for(int j=1; j<=i;j++) { //内层循环控制列
System.out.print("*"); //使用"*"号拼接次形成三角形
}
System.out.println(); //内外循环结束一轮后,打印换行语句用来开始图形的换行
}
}
/*
打印结果为
*
**
***
****
*****
******
*******
********
*********
*/
3.成员变量与局部变量
-
成员变量:
(1) 位置: 成员变量的位置在类里方法外
(2)注意事项: 成员变量有自己对应类型的默认值,可以不用手动赋值
(3)使用范围: 成员变量在整个类中都生效,类消失成员变量才会被释放 -
局部变量:
(1)位置: 成员变量的位置在类里方法里
(2)注意事项: 成员变量没有有自己对应类型的默认值,必须赋值才能使用
(3)使用范围: 在方法里/局部代码块中,对应的代码执行完毕,局部变量也随之释放