Java语言基础
包含循环中的三大要素,while结构、do…while结构、for结构,嵌套循环、break的使用、continue的使用。
1、循环
反复执行一段相同或相似的代码
2、循环三要素
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环的结束边)
循环变量:在循环过程中所改变的那个量
package day01;
public class Test {
public static void main(String[] args) {
int sum = 0; // 声明一个计数器,初始值为0
for(int i=1;i<=100;i++) { // 第一要素:i=1;第二要素:i<=100
sum = sum + i; // 第三要素
}
System.out.println("1~100的累加和为:"+sum);
}
}
3、循环结构
3.1、while结构
while(boolean表达式){
语句块
}
while:“当…”循环,先判断后执行,当boolean表达式为true时,执行语句块,否则退出循环,有可能一次都不执行
package day01;
public class Test {
public static void main(String[] args) {
int a = 1;
while(a<=10) {
a++;
}
System.out.println("a = "+a);
}
}
}
3.2、do…while结构
do{
语句块
}while(loolean表达式);
do…while:“直到…”循环,先执行一次后判断,当boolean表达式为true时,执行语句块,否则退出循环,至少执行一次
注:第1要素与第3要素相同时,首选do...while结构
3.3、for结构
1)for:固定次数循环,应用率最高
for(表达式1;表达式2;表达式3){
语句块
}
package day01;
public class Test {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
System.out.println(i); // 程序输出0~9
}
}
}
2)while与for机构互换
while语句和for都是“当型循环”可以互换;while(true)等价于for( ; ; )
package day01;
public class Test {
public static void main(String[] args) {
int a = 0;
while(a<=10) {
a++;
}
System.out.println("a = "+a); // 结果为11
for(a=0;a<=10;a++) {
a++; // 当a=10时,执行语句块a++,在执行条件三a++
}
System.out.println("a = "+a); // 结果为12
}
}
3.4、嵌套循环
1)循环中套循环,一般多行多列时使用,外层控制行,内层控制列
2)执行过程:外层循环走一次,内层循环走所有次
3)建议:嵌套层次越少越好(一般最多2层循环);若必须要通过3层以上才能解决,说明设计有问题
package day01;
public class Test {
public static void main(String[] args) {
for(int j=0;j<=10;j++) {
System.out.print(" *");
}
System.out.println();
}
}
4、break
1)break用于退出当前语句块。break在循环体中用于退出循环
package day01;
public class Test {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
if(i==5) { // 判断语句
break; // 当i值为5时,退出循环,退出for循环
}
System.out.print(i+" ");
}
}
}
2)在嵌套的循环结构中,break只能退出所在循环体,如果要退出外层循环体,需要使用break outer
for(...) {
for(...) { // 退出此层循环
break;
}
}
//break只能退出内层循环
package day01;
public class Test {
public static void main(String[] args) {
// outer:就相当于表示它现在代表的某个循环
// 如果想跳出它所代表的循环,就用break outer
// 如果想结束它所代表的此次循环,就用continue outer
outer: for(int i=0;i<10;i++) { // 退出此层循环
for(int j=0;j<10;j++) {
if(j==3) {
break outer; // 退出外层循环
}
System.out.print("* "); //结果为* * *
}
}
}
}
5、continue
continue语句用在循环体中,结束本次循环而进入下一次循环
package day01;
public class Test {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
if(i==5) { // 当i值为5时,结束当次循环,开始下一次循环
continue;
}
System.out.print(i+" "); // 结果为0 1 2 3 4 6 7 8 9
}
}
}