文章目录
键盘输入
动态的获取用户的输入
//导包
import java.util.Sccanner;
public static void main(String[] args){
Scanner input = new Scanner(System.in);
// 输入一个整数数据
int num = input.nextInt();
//输入一个 字符串数据
String name = input.next();
//输入一个double 数据
double money = input.nextDouble();
}
import java.util.Scanner;
public class IpuptDemo{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = input.nextInt();
System.out.println("您输入的是"+ number);
}
}
运算符
赋值运算符
赋值 |
---|
= |
一个非常基础却十分常用的运算符,它的作用就是把 等号 右边的数据 赋值给 左边的变量
public static void main(String[] args){
int m = 10;
int k = 20;
}
注:赋值数据必须要和类型一致(不包括自动类型提升)
算术运算符
加法 | 减法 | 乘法 | 除法 | 取模运算 |
---|---|---|---|---|
+ | - | * | / | % |
public static void main(String[] args){
int m = 90;
int k = 5;
System.out.println( m+k );
System.out.println( m-k );
System.out.println( m*k );
System.out.println( m/k );
System.out.println( m%k );
}
注:用于算术数学运算,遵循混合运算法则,%的作用是求余数。 乘号使用 *
复合赋值
加等 | 减等 | 乘等 | 除等 | 模等 |
---|---|---|---|---|
+= | -= | *= | /= | %= |
public static void main(String[] args){
int m = 10;
int k = 20;
int n = 105;
System.out.println( m+=10 );
System.out.println( m-=20 );
System.out.println( k*=2 );
System.out.println( m/=5 );
System.out.println( m%=5 );
}
自增自减运算符
在自己基础上 +1 或者 -1的 运算符号,分为前置++、后置++和前置–、后置–
class PlusDemo{
public static void main(String[] args){
int age = 30;
age--;
--age;
//无论 ++ -- 在前或者在后,对于变量本身的影响是确定 +1 或者 -1.
System.out.println(age);// 30
System.out.println("-------------------------------------");
int money = 100;
System.out.println(--money); // 99
System.out.println(money--); // 99
System.out.println(money); // 98
// 对于++ -- 表达式来讲,++ --的位置是有影响的, 在前具有立即计算性 在后有延时计算性。
}
}
注:前置++(前置–)先自身计算,再给值;后置++(后置–)先给值,再自身计算
关系运算符
大于 | 小于 | 小于等于 | 大于等于 | 相等 | 不等 |
---|---|---|---|---|---|
> | < | <= | >= | == | != |
public static void main(String[] args){
int m = 10;
int k = 20;
System.out.println( m>k );
System.out.println( m<k );
System.out.println( m>=k );
System.out.println( m<=k );
System.out.println( m==k );
System.out.println( m!=k );
}
注:用于对数据做大小关系的比较,运算结果是布尔值;注意关系运算符和赋值运算符的区别
逻辑运算
且(短路) | 或(短路) | 非 | 且(不断路) | 或(不短路) |
---|---|---|---|---|
&& | || | ! | & | | |
public static void main(String[] args){
int m = 10;
int k = 20;
System.out.println( m>0 && k>0 );
}
注:用于多条件逻辑判断,运算结果是 布尔值;注意短路情况
三目运算符
三目 |
---|
? : |
public static void main(String[] args){
int m = 10;
int k = 20;
int t = 1>0?m:k;
}
注:可用于逻辑判断,根据判断结果为变量赋值
位运算符
按位与 | 按位或 | 按位异或 | 按位取反 | 左移 | 右移 | 无符号右移 |
---|---|---|---|---|---|---|
& | | | ^ | ~ | << | >> | >>> |
同1则1 | 有1则1 | 不同为1相同为0 | 0、1互换 | 向左移动 | 向右移动 | 向右移动不保留负数符号 |
public static void main(String[] args){
int m = 10;
int k = 20;
System.out.println( m&k );
}
位运算的应用
- 两个数交换(要考虑是否能用)
public static void main(String[] args){
int m = 10;
int k = 20;
m ^= k;
k ^= m;
m ^= k;
}
- 查看两个IP地址是否在同一网段
运算符的优先级和结合性
- 什么是运算符的优先级?
在完成运算时处理运算符的先后顺序 - 什么是结合性?
运算符处理操作数的顺序,分成左结合性和右结合性 - 一个表达式中可能出现多个同优先级的运算符,这个时候就要通过结合性判断先算那个运算符
注:先考虑优先级,再考虑结合性
例子:ab+a++?
+的优先级最低,左结合性,先运算ab,再a++,最后在计算+