Java中的操作符和表达式
这节课我们在讲解操作符之前,先来学习输入方法的使用。实现在控制台输入数据存储到变量再做运算的使用。
1.Scanner 类进行输入
Scanner
类是 Java 中用于从各种输入流(如控制台、文件等)中读取数据的工具类。常用的方法有 nextInt()
、nextLine()
、nextDouble()
等。
import java.util.Scanner; public class ScannerExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 读取整数 System.out.print("请输入一个整数:"); int intValue = scanner.nextInt(); System.out.println("你输入的整数是:" + intValue); // 读取字符串 System.out.print("请输入一个字符串:"); String strValue = scanner.next(); System.out.println("你输入的字符串是:" + strValue); // 读取浮点数 System.out.print("请输入一个浮点数:"); double doubleValue = scanner.nextDouble(); System.out.println("你输入的浮点数是:" + doubleValue); // 关闭 Scanner scanner.close(); } }
2. 操作符(Operators)
操作符是用于执行各种操作的符号。Java提供了多种操作符,可以分为以下几类:
(1)算术操作符
+ :加法
- :减法
* :乘法
/ :除法
% :取模(取余数)
示例:
int a = 10; int b = 3; System.out.println("a + b = " + (a + b)); // 13 System.out.println("a - b = " + (a - b)); // 7 System.out.println("a * b = " + (a * b)); // 30 System.out.println("a / b = " + (a / b)); // 3 System.out.println("a % b = " + (a % b)); // 1
(2)赋值操作符
= :赋值
+= :加后赋值
-= :减后赋值
*= :乘后赋值
/= :除后赋值
%= :取模后赋值
示例:
int c = 5; c += 2; // c = c + 2; c 现在是 7 c -= 3; // c = c - 3; c 现在是 4 c *= 2; // c = c * 2; c 现在是 8 c /= 4; // c = c / 4; c 现在是 2 c %= 1; // c = c % 1; c 现在是 0
(3)比较操作符
== :等于
!= :不等于
> :大于
< :小于
>= :大于等于
<= :小于等于
示例:
int d = 5; int e = 10; System.out.println(d == e); // false System.out.println(d != e); // true System.out.println(d > e); // false System.out.println(d < e); // true System.out.println(d >= e); // false System.out.println(d <= e); // true
(4)逻辑操作符
&& :逻辑与(AND)
|| :逻辑或(OR)
! :逻辑非(NOT)
示例:
boolean f = true; boolean g = false; System.out.println(f && g); // false System.out.println(f || g); // true System.out.println(!f); // false
(5)位操作符
& :按位与
| :按位或
^ :按位异或
~ :按位非
<< :左移
>> :右移
>>> :无符号右移
示例:
int h = 6; // 0110 int i = 3; // 0011 System.out.println(h & i); // 2 (0010) System.out.println(h | i); // 7 (0111) System.out.println(h ^ i); // 5 (0101) System.out.println(~h); // -7 System.out.println(h << 1); // 12 (1100) System.out.println(h >> 1); // 3 (0011) System.out.println(h >>> 1);// 3 (0011)
(6)三元操作符
? : :条件操作符
示例:
int j = 10; int k = (j > 5) ? 1 : 0; System.out.println(k); // 1
3. 表达式(Expressions)
表达式是由变量、操作符和方法调用组成的代码片段,可以计算并返回一个值。表达式可以是简单的,也可以是复杂的。
(1)简单表达式
由单个值或变量组成。
示例:
int l = 5;
(2)复合表达式
由多个操作符和操作数组成。
示例:
int m = 5 + 3 * 2; // 结果是 11
(3)逻辑表达式
由逻辑操作符组成。
示例:
boolean n = (5 > 3) && (3 < 4); // 结果是 true
练习题:操作符和表达式
编写一个Java程序,使用各种操作符计算并输出以下表达式的结果:
a + b - c
d * e / f
(g > h) && (i <= j)
k & l | m
n << 2
o ? p : q
参考答案:
public class OperatorExpressionExercise { public static void main(String[] args) { int a = 5; int b = 3; int c = 2; int d = 6; int e = 4; int f = 2; int g = 7; int h = 5; int i = 3; int j = 3; int k = 1; int l = 2; int m = 3; int n = 1; boolean o = true; int p = 10; int q = 20; // 表达式计算 int result1 = a + b - c; int result2 = d * e / f; boolean result3 = (g > h) && (i <= j); int result4 = k & l | m; int result5 = n << 2; int result6 = o ? p : q; // 输出结果 System.out.println("a + b - c = " + result1); // 6 System.out.println("d * e / f = " + result2); // 12 System.out.println("(g > h) && (i <= j) = " + result3); // true System.out.println("k & l | m = " + result4); // 3 System.out.println("n << 2 = " + result5); // 4 System.out.println("o ? p : q = " + result6); // 10 } }
需要购买本课才能留言哦~