一、运算符:
运算符指在计算机中对常量或者变量进行操作的符号,java运算符有六类:算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元运算符。
表达式是指:用运算符把常量或变量连接起来符合java语法的式子 。
1、算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 字符串运算时做连接符 |
- | 减 | |
* | 乘 | |
/ | 除 | 整数相除得整数 |
% | 取余 | 两个数做除法的取余 |
2、赋值运算符
符号 | 作用 | 说明 |
---|---|---|
= | 等于 | |
+= | 加等 | 先加后赋值(可以实现累加) |
-= | 减等 | 先减后赋值(可以实现累减) |
*= | 乘等 | 先乘后赋值 |
/= | 除等 | 先除后赋值 |
%= | 取余等 | 先取余后赋值 |
注意:隐含了强制转换
3、关系运算符(返回的是布尔值)
符号 | 作用 | 说明 |
---|---|---|
> | 大于 | |
>= | 大于等于 | |
< | 小于 | |
<= | 小于等于 | |
== | 等于 | |
!= | 不等于 |
4、逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 与 | 全真为真,一假全假 |
| | 或 | 全假为假,一真全真 |
! | 非 | 取反 |
^ | 异或 | 相同为假,不同为真 |
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 左边为fals,右边不执行 |
|| | 短路或 | 左边为true,右边不执行 |
5、三元运算符
格式:条件表达式?值1:值2;
条件表达式为true返回值1,为fals返回值2
例:double score=98.5;
score>60?"成绩及格":”成绩不及格“
6、位运算符:处理二进制位级别的操作
符号 | 作用 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
~ | 按位取反 |
<< | 左移 |
>> | 右移 |
7、自增自减(只可操控变量不可操控字面量)
符号 | 作用 |
---|---|
++ | 自增 |
-- | 自减 |
注:单独使用放前后无影响
int a=10;
int b=++a;(先加减,后使用)
int c=a++;(先使用,后加减)
8、运算符优先级
优先级 | 运算符 |
---|---|
1 | () |
2 | !、-、++、-- |
3 | *、/、% |
4 | +、- |
5 | <<、>>、>>> |
6 | <、<=、>、>=、instanceof |
7 | ==、!= |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | =、+=、-=、*=、/=、%=、&= |
二、键盘录入
在Java中,键盘录入通常通过java.util.Scanner
类来实现。这个类提供了一个标准输入流,允许用户从控制台输入数据
import java.util.Scanner;(导包)
public class KeyboardInputExample {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入您的名字:");
String name = s.nextLine(); // 获取用户的一行输入,包括空格
System.out.println("您好," + name + "!"); // 输出用户的姓名
}
}
在这个例子中,程序会提示用户输入,并将输入的数据存储在name
变量中。nextLine()
方法用于获取用户按下回车键后的完整一行文本。
三、生成随机数
在Java中,我们可以使用java.util.Random
类或java.lang.Math.random()
函数来生成随机数
1、Random类
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
// 生成0到(upperBound - 1)之间的整数
int randomInt = random.nextInt(100); // 生成0到99的随机整数
System.out.println("随机整数: " + randomInt);
// 生成0.0到1.0之间的浮点数
double randomDouble = random.nextDouble();
System.out.println("随机双精度数: " + randomDouble);
}
}
2、Math类
public class MathRandomNumberGenerator {
public static void main(String[] args) {
// 生成0.0(含)到1.0(不含)之间的浮点数
double randomDouble = Math.random();
System.out.println("随机双精度数: " + randomDouble);
// 如果需要整数范围内的随机数,可以先乘以上限,然后向下取整
int randomIntInRange = (int) (Math.random() * 100);
System.out.println("随机整数: " + randomIntInRange);
}
}
注意:Math.random()
返回的是[0.0, 1.0)区间的一个伪随机数。