JAVA_04_判断与循环

01 if的格式和易错点

python 复制代码
package com.itheima.ifdemo;
/*
if(关系表达式){
语句体;
i计的注意点:
1.大括号的开头可以另起一行书写,但是建议写在第一行的末尾
2.在语句体中,如果只有一句代码,大括号可以省略不写。个人建议,大括号还是不要省略.
3.如果对一个布尔类型的变量进行判断,不要用==号,直接把变量写在小括号即可,例子如下,会导致一直判断为true,最好使用方式2,避免报错
*/
public class IfDemo2 {
    public static void main(string[] args) {
    int number = 20;
    if(number >= 10)
        System.out.println("number大于等于10");

    /*方式1:能运行,但是还差一个=号,经常容易犯这个错误,导致一直判断为true*/
    boolean flag = true;
    if(flag=true)
        System.out.println("flag为true");

    /*方式2:这样更好*/
    boolean flag = true;
    if(flag)
        System.out.println("flag为true");
}
}

格式和C++的三种一样的,第一种if,第二种if else

02 switch

python 复制代码
public class SwitchWithStringOperation {
    public static void main(String[] args) {
        String name = "Alice";
        
        // switch括号内包含字符串运算
        switch (name.toLowerCase()) { // 转换为小写,确保大小写不敏感
            case "alice":
                System.out.println("Hello, Alice!");
                break;
            case "bob":
                System.out.println("Hi, Bob!");
                break;
            default:
                System.out.println("Welcome, stranger!");
                break;
        }
    }
}

03 switch其他知识

(1)default 的位置和省略

  • default可以写在 switch里的任何位置(开头、中间、结尾)
  • 可以省略 default(不写),意味着当所有 case都不匹配时,什么都不做

(2)case 穿透

  • 当 case后没有 break时,程序会继续执行下一个 case的代码,直到遇到 break或 switch结束。

(3)switch 新特性(Java 14+)

  • 箭头语法(->):可以省略 break,自带穿透阻断。
  • 多值匹配:一个 case可以匹配多个值,用逗号分隔。
java 复制代码
int day = 3;
switch (day) {
    case 1, 2, 3, 4, 5 -> System.out.println("工作日");
    case 6, 7 -> System.out.println("周末");
    default -> System.out.println("无效日期");
}
// 输出:工作日

04循环

感觉没什么好记录的,跟c++一样的

  • for
  • while
  • do...while

例子:

python 复制代码
int x = 0;

// for:明确 3 次
for (int i = 0; i < 3; i++) {
    System.out.println("for: 我在循环");
}

// while:条件满足就继续
while (x < 3) {
    System.out.println("while: 我在循环");
    x++;
}

// do...while:至少一次
x = 0;
do {
    System.out.println("do...while: 我在循环");
    x++;
} while (x < 3);

结果:

for: 我在循环

for: 我在循环

for: 我在循环

while: 我在循环

while: 我在循环

while: 我在循环

do...while: 我在循环

do...while: 我在循环

do...while: 我在循环

相关推荐
程序猿阿越20 分钟前
Kafka4源码(二)创建Topic
java·后端·源码阅读
悟空码字24 分钟前
Spring Boot 整合 MongoDB 最佳实践:CRUD、分页、事务、索引全覆盖
java·spring boot·后端
省长35 分钟前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配
java·后端·开源
NE_STOP1 小时前
MyBatis-动态sql与高级映射
java
后端AI实验室2 小时前
我把同一个需求分别交给初级程序员、高级程序员和AI,结果让我沉默了
java·ai
sTone873752 小时前
web后端开发概念: VO 和 PO
java·后端·架构
SimonKing3 小时前
JetBrains+Qoder变身Agentic 编码平台,媲美Cursor、Trae等AI编程平台
java·后端·程序员
Seven973 小时前
NIO:解开非阻塞I/O高并发编程的秘密
java
华仔啊15 小时前
千万别给数据库字段加默认值 null!真的会出问题
java·数据库·后端
老赵全栈实战17 小时前
【每日一技MyBatis trim标签核心用法
java·mybatis·orm