目录
基本运算符根据功能分为:算术运算符,赋值运算符,关系运算符,逻辑运算符,条件运算符,位运算符和其他运算符。
运算符根据操作数的不同分为:单目操作符,双目操作符,三目操作符。
单目操作符:只有一个操作数。
双目操作符:有两个操作数。
三目操作符:有三个操作数。
运算符 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述 | ? ?例子 |
+ | 双目运算符,对运算符两边的操作数进行相加操作 | 1+1=2 |
- | 双目运算符,对运算符两边的操作数进行相减操作 | 2-1=1 |
* | 双目运算符,对运算符两边的操作数进行相乘操作 | 3*4=12 |
/ | 双目运算符,对运算符两边的操作数进行相除操作 | 12/3=4 |
% | 双目运算符,对运算符两边的操作数进行取余操作 | 3%2=1 |
运算符 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?描述 | ? ? 例子 |
++ | 单目运算符,对运算符左边的操作数或右边的操作数做加1操作 | k++等同于k=k+1 ++k等同于k=k+1 |
-- | 单目运算符,对运算符左边的操作数或右边的操作数做减1操作 | k--等同于k=k-1 --k等同于k=k-1 |
运算符 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?描述 | 作用 |
++ | a++ | 先用后加 |
++a | 先加后用 | |
-- | a-- | 先用后减 |
--a | 先减后用 |
逻辑运算符 | 名称 | 举例 | 结果 |
&& | 与 | a&&b | 如果a与b都为true,则返回true |
|| | 或 | a||b | 如果a与b任一为true,则返回true |
! | 非 | !a | 如果a为false,则返回true,即取反 |
^ | 异或 | a^b | 如果a与b仅只有一个为true,则返回为true |
运算符 | 结果 |
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于或等于 |
<= | 小于或等于 |
关系运算符的结果是一个布尔值。当运算符对应的关系成立时,运算结果是true;否则结果为false。
赋值运算符分为简单赋值和复合赋值两类。
简单赋值:直接把运算符右边操作数的值赋给运算符左边。
复合赋值:先执行运算符指定的运算,再将运算结果赋值给运算符左边的变量。
运算符 | 描述 | 例子 |
= | 简单的赋值运算符,将右边操作数的值赋值给左边指定的变量 | i=3; j=k=i |
+= | 复合赋值运算符,将左边制定变量的值与右边操作数的值相加后,再赋值给左边指定变量 | k+=3等同于k=k+3 |
-= | 复合赋值运算符,将左边制定变量的值与右边操作数的值相减后,再赋值给左边指定变量 | k-=3等同于k=k-3 |
*= | 复合赋值运算符,将左边制定变量的值与右边操作数的值相乘后,再赋值给左边指定变量 | k*=3等同于k=k*3 |
/= | 复合赋值运算符,将左边制定变量的值与右边操作数的值相除后,再赋值给左边指定变量 | k/=3等同于k=k/3 |
%= | 复合赋值运算符,将左边制定变量的值与右边操作数的值取余后,再赋值给左边指定变量 | k%=3等同于k=k%3 |
条件运算符也叫三元运算符或三目运算符?
结构:布尔表达式1?表达式2:表达式3
运行原理:先判断布尔表达式1,如果结果为true则返回表达式2;反之则返回表达式3。
符号 | 描述 | 运算规则 |
& | 与 | 两个位都为1时,结果才为1 |
^ | 异或 | 两个位相同为0,相异为1 |
~ | 非运算符 | 对操作数的每一位取反,即0变1,1变0。 |
| | 或 | 两个位都为0时,结果才为0 |
<< | 左移 | 各二进位全部左移若干位,高位丢弃,低位补0 |
>> | 右移 |
逻辑右移:左边?0填充,右边丢弃
算术右移:左边?原该值的符号位填充,右边丢弃 ?
|
>>> | 无符号右移 | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
注:移位操作符的操作数只能是整数。?
操作符优先级排序:
由于圆括号的优先级最高,可以使用它改变其他运算符的优先级?。
Scanner是一个用于读取用户输入的类。它可以从控制台或文件中读取数据,并将数据转换成相应的数据类型。
格式:
//导包:书写时要注意,要写在类定义的前面
import java util Scanner;
public class test{
public static void main(String[]args){
//创建对象
Scanner sc=new Scanner(System.in);
//接收数据
//定义变量记录键盘录入的数据
int i=sc.nextInt();
System.out.println(i);
}
}
注:在idea中可以不用写导包,当你写完创建对象时,会自动帮你生成导包。?