循环退出

复制代码for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println("break:" + i);
break;
}
System.out.println(i);
}
循环跳过
复制代码for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println("continue:" + i);
continue;
}
System.out.println(i);
}
注意
break和continue都只能用于循环结构(如for、while、do-while)中。break用于完全退出循环,而continue用于跳过当前循环的剩余部分并开始下一次迭代。break,它将只退出最内层的循环。continue语句只能在循环体中使用,不能用于跳过循环之前的代码或循环之后的代码。多种循环的实现方式总结
复制代码int i = 0;while (i < 10) {
System.out.println(i);
i++;
}
System.out.println("while循环结束:" + i);
复制代码int i = 0;do {
System.out.println(i);
i++;
} while (i < 10);
System.out.println("do while循环结束:" + i);
复制代码for (int i = 0; i < 10; i++) {
System.out.println(i);
}
复制代码int[] arr = {1, 2, 3, 4, 5};
for (int i : arr) {
System.out.println(i);
}
If语法
if 用于基于某个条件来执行代码块。如果条件为真(即值为 true),则执行 if 语句中的代码块true),则执行 if 语句中的代码块。 复制代码if (条件) {
// 条件为真时执行的代码块
}
if-else 语句
if-else 语句用于基于某个条件来执行两个代码块之一。
如果条件为真,执行 if 语句块;如果条件为假,执行 else 语句块。
语法结构:
复制代码if (条件) {
// 条件为真时执行的代码块
} else {
// 条件为假时执行的代码块
}
if-else if-else 语句
用于基于多个条件来执行不同的代码块。
会按照条件的顺序进行检查,一旦找到满足的条件,就会执行相应的代码块,并结束整个 if-else 结构。
语法结构:
复制代码if (条件1) {
// 条件1为真时执行的代码块
} else if (条件2) {
// 条件1为假且条件2为真时执行的代码块
} else if (条件3) {
// 条件1和条件2都为假且条件3为真时执行的代码块
// ... 可以继续添加 else if 语句
} else {
// 所有条件都为假时执行的代码块
}
注意事项
if、else if、else 后面都要跟着大括号 {},即使只有一行代码也建议加上,增加代码的可读性和维护性。else 语句是可选的,但 if 语句至少要有一个。else if 语句可以有多个,顺序很重要,因为 if-else if-else 结构会按照条件的顺序进行检查。if 语句中的条件必须是一个布尔表达式,即它的值必须是 true 或 false例:
复制代码public class IfDemo {
public static void main(String[] args) {
int score = 100;
if (score == 100) {
System.out.println("满分");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
}
}
Switch 条件分支语句
switch 语句通常与枚举类型(enum)或基本数据类型(byte、short、char、int)一起使用,也支持字符串(String)类型。case 代码块的末尾通常使用 break 语句来避免执行流继续进入下一个 case。break,即程序会继续执行下一个 case 的代码,直到遇到 break 或 switch 语句结束。 复制代码public class SwitchDemo {
public static void main(String[] args) {
testOldSwitch(4);
testNewSwitch(4);
} // 旧版语法
public static void testOldSwitch(int week) {
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("错误");
}
} // 新版语法
public static void testNewSwitch(int week) {
String day = switch (week) {
case 1 -> {
System.out.println("星期一");
yield "星期一";
}
case 2 -> {
System.out.println("星期二");
yield "星期二";
}
case 3 -> {
System.out.println("星期三");
yield "星期三";
}
case 4 -> {
System.out.println("疯狂星期四");
yield "疯狂星期四";
}
case 5 -> {
System.out.println("星期五");
yield "星期五";
}
case 6, 7 -> {
System.out.println("休息");
yield "休息";
}
default -> {
System.out.println("错误");
yield "错误";
}
};
System.out.println(day);
}
}
static关键字
static关键字有两个主要的应用场景
复制代码public class Student{
static int age;
static String name;
public static void study(){
}
}
静态变量
复制代码public class MyClass {
// 静态变量
public static int staticVar = 1;
}// 访问静态变量
int value = MyClass.staticVar;
静态方法
复制代码public class MyClass {
// 静态方法
public static void staticMethod() {
System.out.println("This is a static method.");
}
} // 调用静态方法
MyClass.staticMethod();
静态代码块
复制代码public class MyClass {
// 静态变量
public static int staticVar; // 静态代码块
static {
staticVar = 1;
System.out.println("Static block executed.");
}
} // 当类被加载时,静态代码块会被执行
// 静态变量会被初始化,并且会输出 "Static block executed."
总结
例:
复制代码public class Cat {
static String name;
int age = 2; public static void getName() {
System.out.println("我叫" + name);
} public void getAge() {
System.out.println("我" + age + "岁了");
} public static void eat() {
System.out.println("吃饭");
} public void sleep() {
System.out.println("睡觉");
}
}
复制代码public class StaticDemo {
public static void main(String[] args) {
Cat.name = "墩墩";
System.out.println(Cat.name);
Cat.getName();
Cat cat = new Cat();
cat.getAge();
Cat.eat();
cat.sleep();
}
}