java笔记

第四章 运算符

4.1 运算符概述

运算符是用于执行操作的符号,能够对变量和值进行处理。在 Java 中,运算符分为多种类型,包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符等。

4.2 算术运算符

算术运算符用于执行基本的数学运算,包括加法、减法、乘法、除法和取模运算。

  • + :加法

  • - :减法

  • * :乘法

  • / :除法

  • % :取模(取余数)

示例代码:

int a = 10;
int b = 3;
​
int sum = a + b;        // 13
int difference = a - b; // 7
int product = a * b;    // 30
int quotient = a / b;   // 3
int remainder = a % b;  // 1

4.3 赋值运算符

赋值运算符用于将右边的值赋给左边的变量。

  • = :赋值

  • += :加后赋值

  • -= :减后赋值

  • *= :乘后赋值

  • /= :除后赋值

  • %= :取模后赋值

示例代码:

int a = 5;
a += 3;  // 相当于 a = a + 3,结果为 8
a -= 2;  // 相当于 a = a - 2,结果为 6
a *= 2;  // 相当于 a = a * 2,结果为 12
a /= 4;  // 相当于 a = a / 4,结果为 3
a %= 2;  // 相当于 a = a % 2,结果为 1

4.4 比较运算符

比较运算符用于比较两个值,并返回布尔值 truefalse

  • == :等于

  • != :不等于

  • > :大于

  • < :小于

  • >= :大于等于

  • <= :小于等于

示例代码:

int a = 5;
int b = 3;
​
boolean isEqual = (a == b);   // false
boolean isNotEqual = (a != b); // true
boolean isGreater = (a > b);  // true
boolean isLesser = (a < b);   // false
boolean isGreaterOrEqual = (a >= b); // true
boolean isLesserOrEqual = (a <= b);  // false

4.5 逻辑运算符

逻辑运算符用于连接多个布尔表达式,并返回一个布尔值。

  • && :逻辑与(AND)

  • || :逻辑或(OR)

  • ! :逻辑非(NOT)

示例代码:

boolean x = true;
boolean y = false;
​
boolean andResult = x && y; // false
boolean orResult = x || y;  // true
boolean notResult = !x;     // false

4.6 位运算符

位运算符用于对二进制位进行操作。

  • & :按位与(AND)

  • | :按位或(OR)

  • ^ :按位异或(XOR)

  • ~ :按位取反(NOT)

  • << :左移

  • >> :右移

  • >>>:无符号右移

示例代码:

int a = 5;   // 二进制:0101
int b = 3;   // 二进制:0011
​
int andResult = a & b; // 结果:0001,即1
int orResult = a | b;  // 结果:0111,即7
int xorResult = a ^ b; // 结果:0110,即6
int notResult = ~a;    // 结果:11111111111111111111111111111010,即-6
int leftShift = a << 1; // 结果:1010,即10
int rightShift = a >> 1; // 结果:0010,即2
int unsignedRightShift = a >>> 1; // 结果:0010,即2

4.7 三元运算符

三元运算符是 Java 中唯一的三元运算符,用于简化条件语句的操作。它的格式为:

condition ? value1 : value2

示例代码:

int a = 5;
int b = 3;
​
int max = (a > b) ? a : b; // max 为 5

第五章:流程控制 - 选择结构

5.1 流程控制概述

流程控制语句是编程语言中用于控制程序执行顺序的语句。Java 提供了多种流程控制语句来实现条件判断和多分支选择。选择结构是流程控制中的一种重要形式,它允许程序根据条件的不同执行不同的代码块。

5.2 if 语句

5.2.1 if 语句的基本结构

if 语句用于在条件为真的情况下执行某段代码。其基本语法如下:

if (条件表达式) {
    // 代码块
}

例如:

int age = 18;
if (age >= 18) {
    System.out.println("你是成年人");
}

5.2.2 if-else 语句

if-else 语句用于在条件为真和条件为假时分别执行不同的代码块。其基本语法如下:

if (条件表达式) {
    // 条件为真时执行的代码块
} else {
    // 条件为假时执行的代码块
}

例如:

int age = 16;
if (age >= 18) {
    System.out.println("你是成年人");
} else {
    System.out.println("你是未成年人");
}

5.2.3 if-else if-else 语句

if-else if-else 语句用于在多个条件之间进行选择。其基本语法如下:

if (条件表达式1) {
    // 条件1为真时执行的代码块
} else if (条件表达式2) {
    // 条件2为真时执行的代码块
} else {
    // 以上条件都为假时执行的代码块
}

例如:

int score = 85;
if (score >= 90) {
    System.out.println("优秀");
} else if (score >= 80) {
    System.out.println("良好");
} else if (score >= 60) {
    System.out.println("及格");
} else {
    System.out.println("不及格");
}

5.2.4 嵌套的 if 语句

if 语句中,可以嵌套其他的 ifif-else 语句。其基本语法如下:

if (条件表达式1) {
    if (条件表达式2) {
        // 当条件1和条件2都为真时执行的代码块
    } else {
        // 当条件1为真且条件2为假时执行的代码块
    }
} else {
    // 当条件1为假时执行的代码块
}

例如:

int age = 20;
int height = 180;
if (age >= 18) {
    if (height >= 170) {
        System.out.println("你是高个子成年人");
    } else {
        System.out.println("你是成年人,但不是高个子");
    }
} else {
    System.out.println("你是未成年人");
}

5.3 switch 语句

5.3.1 switch 语句的基本结构

switch 语句用于在多个可能的值之间进行选择。其基本语法如下:

switch (表达式) {
    case 值1:
        // 代码块
        break;
    case 值2:
        // 代码块
        break;
    // 更多 case 分支
    default:
        // 默认代码块
}

例如:

int day = 3;
switch (day) {
    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("无效的日期");
}

5.3.2 switch 语句的使用注意事项

  1. switch 语句中的表达式类型可以是 byteshortintcharenum 类型,或自 Java SE 7 开始支持的 String 类型。

  2. 每个 case 分支都应该以 break 语句结束,以防止“穿透”到下一个分支。

  3. default 分支是可选的,但建议始终添加 default 分支以处理所有未被明确列出的情况。

  4. 可以在一个 switch 语句中有多个 case 分支执行同一个代码块,例如:

int day = 2;
switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("工作日");
        break;
    case 6:
    case 7:
        System.out.println("周末");
        break;
    default:
        System.out.println("无效的日期");
}

5.4 三元运算符

5.4.1 三元运算符的基本使用

三元运算符是一种简洁的条件运算符,用于替代简单的 if-else 语句。其基本语法如下:

变量 = 条件表达式 ? 表达式1 : 表达式2;

例如:

int age = 20;
String status = (age >= 18) ? "成年人" : "未成年人";
System.out.println(status); // 输出:成年人

5.5 流程控制选择结构的注意事项

  1. if 语句的条件表达式应返回一个布尔值:在 if 语句中,条件表达式必须返回一个 boolean 类型的值。可以是一个布尔变量,也可以是一个布尔表达式。

  2. switch 语句中的每个 case 分支都应该以 break 结束:除非有特殊需求,否则每个 case 分支都应该以 break 结束,以避免“穿透”到下一个分支。

  3. switch 语句的 default 分支是可选的,但建议始终添加 default 分支default 分支用于处理所有未被明确列出的情况,以提高代码的健壮性。

  4. 三元运算符应仅用于简单的条件判断:虽然三元运算符可以使代码更加简洁,但应仅在简单的条件判断中使用,以保持代码的可读性。

  5. 嵌套的 if 语句和 switch 语句应尽量避免复杂化:过多的嵌套会使代码难以阅读和维护,建议尽量简化逻辑或使用方法进行分解。

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值