运算符
概念: 可以用来连接变量和常量
【算数运算符】
+ - * / %
++ --
+号的用法
1. 算数加法
2. 正号
3. 字符串的拼接
/和%的区别
/ 是做除法取商
% 是做除法取余数
++和--的用法
作用:自增、自减
如果单独使用,放前面和后面没有任何区别
如何参与别的操作一起使用,那么写在前面就会先自增自减后进行别的操作
写在后面就会先进行别的操作,再自增自减
例:
前加 ++a 先自增,再运算 (参与运算的值是自增以后的值)
后加 a++ 先运算,再自增 (参与运算的值是自增以前的值)
【赋值运算符】
= += -= *= /= %= ...
= 是赋值运算符,也是最基本的运算符。
作用是把 = 右边的值赋值给左边的变量
* 拓展 - 赋值运算符隐含了强制类型转换
short s = 5;
//s = s + 1; 编译错误
s += 1; // 其实隐含了强制类型转换: s = (short)(s+1);
System.out.println(s);
【比较运算符】
== != >= > < <=
运算结果一定是boolean值
千万不要把 = 和 == 搞混
【逻辑运算符】
操作数必须是boolean类型
& | ^ && || !
* 关于 &和&& |和||的区别
&&和||,当左边的操作数可以决定整个表达式的结果时,
不会执行右边的语句(短路效应)
【#位运算】
& 按位与:同一位置上,2个都是1,结果是1;不然是0
| 按位或:同一位置上,有1个是1,结果是1;不然是0
^ 按位异或:同一位置上,相同为0,不同为1
~ 按位取反:本来是0变成1,本来是1变成0
>> 右移
<< 左移
>>> 无符号右移
【三目运算符】
boolean表达式 ? 表达式1 : 表达式2
三目运算符最终的运算结果一定是一个值,
如果boolean表达式的结果为真,其值就是表达式1的结果;
如果boolean表达式的结果为假,其值就是表达式2的结果;
例:
int a=5;
int b=4;
a>b?1:2
【运算符书写规范】
1. 运算符左右两边必须加空格
int a = 5;
2. 当使用多个运算符的时候,作为一个整体运算的必须一定要加括号
【键盘录入】
1. 导包
import java.util.Scanner;
2. 初始化Scanner对象
Scanner sc = new Scanner(System.in);
3. 接收键盘输入
int a = sc.nextInt();