当前位置: 首页 > news >正文

Java学习笔记1——编程基础

一、整数类型变量

注意:每个字符型常量占两个字节 

二、自动类型转换和强制类型转换 

 ​​​三、算术运算符

四、赋值运算符

 五、比较运算符

 六、逻辑运算符

 七、运算符的优先级

运算符的优先级可以通过以下口诀来记忆:

括号优先,单目次之,乘除先于加减,移位关系逻辑,三目赋值最后。

详细解释

  1. 括号优先:括号内的运算总是最先执行。

  2. 单目次之:单目运算符(如 +-!~++--)优先级较高。

  3. 乘除先于加减*/% 的优先级高于 +-

  4. 移位运算符<<>>>>> 的优先级高于关系运算符。

  5. 关系运算符<><=>===!= 的优先级高于逻辑运算符。

  6. 逻辑运算符&|^ 的优先级高于三目运算符。

  7. 三目运算符? : 的优先级高于赋值运算符。

  8. 赋值最后=+=-= 等赋值运算符优先级最低。

逻辑运算符的优先级划分

以下是逻辑运算符的优先级顺序,从高到低排列:

  1. 逻辑非 (!)
    优先级最高,用于对布尔值取反。

  2. 按位与 (&)
    优先级次之,用于按位与操作。

  3. 按位异或 (^)
    优先级低于 &,用于按位异或操作。

  4. 按位或 (|)
    优先级低于 ^,用于按位或操作。

  5. 短路与 (&&)
    优先级低于 |,用于短路与操作(仅当第一个操作数为 true 时,才会计算第二个操作数)。

  6. 短路或 (||)
    优先级最低,用于短路或操作(仅当第一个操作数为 false 时,才会计算第二个操作数)。

总结优先级顺序:

! > & > ^ > | > && > || 

注意事项

  • 短路运算符(&&|| 的特点是,它们会根据第一个操作数的值决定是否计算第二个操作数。例如:

    • a && b:如果 afalse,则不会计算 b,直接返回 false

    • a || b:如果 atrue,则不会计算 b,直接返回 true

  • 按位运算符(&|^ 会计算两个操作数的所有位,而不会短路。

八、if……else……条件语句 

在 Java 中,if...else 是一种条件选择语句,用于根据条件的真假来执行不同的代码块。以下是 if...else 语句的详细介绍和用法:

1、if...else 语句的基本结构如下:
if (条件) {
    // 条件为 true 时执行的代码块
} else {
    // 条件为 false 时执行的代码块
}
  • 条件 是一个布尔表达式(返回 truefalse)。

  • 如果条件为 true,则执行 if 后的代码块。

  • 如果条件为 false,则执行 else 后的代码块。

2、if...else if...else 多分支结构

当需要根据多个条件进行判断时,可以使用 if...else if...else 结构:

if (条件1) {
    // 条件1 为 true 时执行的代码块
} else if (条件2) {
    // 条件2 为 true 时执行的代码块
} else if (条件3) {
    // 条件3 为 true 时执行的代码块
} else {
    // 所有条件都不满足时执行的代码块
}
  • 程序会从上到下依次检查每个条件,一旦某个条件为 true,就执行对应的代码块,并跳过后续的条件检查。

  • 如果所有条件都不满足,则执行 else 后的代码块。

3、 嵌套的 if...else

if...else 语句可以嵌套使用,即在一个 if...else 块中再包含另一个 if...else 语句。

4、 注意事项
  1. 条件必须是布尔表达式
    if 后的括号中必须是一个返回 truefalse 的表达式,不能是其他类型(如整数)。

  2. 大括号 {} 的使用

    • 如果 ifelse 后的代码块只有一行,可以省略大括号。

    • 但为了代码的可读性和避免潜在错误,建议始终使用大括号。

  3. 缩进和代码格式

    • 为了提高代码的可读性,建议使用适当的缩进。

5、 总结

if...else 语句是 Java 中最基本的条件判断语句,用于根据条件的真假执行不同的代码块。它支持单分支(if)、双分支(if...else)和多分支(if...else if...else)结构,还可以嵌套使用以处理更复杂的逻辑。

 九、三元运算符

在 Java 中,三元运算符(也称为条件运算符)是一种简洁的条件表达式,用于根据条件的真假返回不同的值。它的语法结构非常紧凑,适合在简单的条件判断中使用。

三元运算符的语法

条件表达式 ? 表达式1 : 表达式2
  • 条件表达式:一个返回 truefalse 的布尔表达式。

  • 表达式1:当条件表达式为 true 时,返回的值。

  • 表达式2:当条件表达式为 false 时,返回的值。

三元运算符的返回值

        三元运算符会根据条件表达式的值返回 表达式1表达式2 的值。返回值的类型由 表达式1表达式2 的类型决定。

三元运算符的优缺点

  • 优点

    • 代码简洁,适合简单的条件判断。

    • 可以在一行代码中完成条件判断和赋值。

  • 缺点

    • 当嵌套使用时,代码可读性会降低。

    • 对于复杂的逻辑,建议使用 if...else 结构以提高可读性。

 十、switch条件语句

在 Java 中,switch 是一种条件语句,用于根据变量的值执行不同的代码块。它提供了一种比 if...else 更清晰的方式来处理多个条件分支。以下是 switch 语句的详细介绍和用法。

1. 基本语法

switch 语句的基本结构如下:

switch (表达式) {
    case 值1:
        // 当表达式等于值1时执行的代码块
        break;
    case 值2:
        // 当表达式等于值2时执行的代码块
        break;
    ...
    default:
        // 当表达式不匹配任何case时执行的代码块
}
  • 表达式switch 后的括号中是一个表达式,其值用于匹配 case 后的值。

  • case:每个 case 后跟一个值,表示一个分支条件。

  • break用于终止当前分支,避免代码继续向下执行(即避免“贯穿”到下一个 case)。

  • default:可选分支,当表达式的值不匹配任何 case 时执行。

2. 支持的数据类型

switch 语句支持以下数据类型:

  • intchar(基本数据类型)

  • String(从 Java 7 开始支持)

  • 枚举类型(enum

注意:C语言中switch不支持字符串

3、示例: 
String 类型的 switch(Java 7 及以上)
String fruit = "apple";
switch (fruit) {
    case "apple":
        System.out.println("这是一个苹果");
        break;
    case "banana":
        System.out.println("这是一个香蕉");
        break;
    case "orange":
        System.out.println("这是一个橙子");
        break;
    default:
        System.out.println("未知水果");
}
// 输出:这是一个苹果
 嵌套的 switch

switch 语句可以嵌套使用,即在一个 switch 块中再包含另一个 switch 语句。

int day = 3;
String time = "morning";

switch (day) {
    case 1:
        switch (time) {
            case "morning":
                System.out.println("周一早上");
                break;
            case "afternoon":
                System.out.println("周一下午");
                break;
            case "evening":
                System.out.println("周日晚上");
                break;
        }
        break;
    case 2:
        System.out.println("周二");
        break;
    default:
        System.out.println("其他时间");
}
4、注意事项

break 的重要性

  • 如果没有 break,程序会继续执行下一个 case 的代码,直到遇到 breakswitch 结束。
  • 这种行为称为 贯穿(fall-through),通常需要避免,除非是故意设计的逻辑。

default 是可选的

  • 如果没有 default 分支,当表达式的值不匹配任何 case 时,switch 语句不会执行任何代码。

case 的顺序

  • case 的顺序会影响程序的执行结果,因为 switch 会从上到下依次检查每个 case

switch 的性能

  • switch 语句的执行效率通常高于多个 if...else 语句,尤其是在分支较多的情况下。

 

相关文章:

  • 终值定理的推导与理解
  • <em>乐</em><em>发</em><em>V</em><em>Ⅱ</em><em>彩</em><em>票</em>
  • 在MCU工程中优化CPU工作效率的几种方法
  • 变量1(WEB)
  • dart错误记录
  • 高项第十六章——项目采购管理
  • word-spacing 属性
  • vector<int> 的用法
  • Java 大视界 -- Java 大数据在智慧矿山设备故障预测与预防性维护中的技术实现(163)
  • 3. 列表元素替换
  • VectorBT:使用PyTorch+LSTM训练和回测股票模型 进阶四
  • 力扣刷题474. 一和零
  • 强化学习课程:stanford_cs234 学习笔记(2)introduction to RL
  • UDP协议
  • 随机2级域名引导页HTML源码
  • 【docker】docker应用举例
  • 1.两数之和(Java)
  • 北斗储罐位移监测系统解决方案
  • java倒序题变形题重温
  • 在Ubuntu中固定USB设备的串口号