目录
运算符分类
- 算术运算符
- 赋值运算符
- 关系(比较)运算符
- 逻辑运算符
- 位运算符
- 三元运算符
算术运算符
算术运算符是对数值类型的变量进行运算
1. 除(/)运算两边为整数,则结果取整,操作数有浮点数,则结果为浮点数
2. 模运算实质
- a % b = a - a/b*b
- 若a为小数,则a % b = a - (int)a/b*b;
- 下面几个不看注释能做对吗 ?try一try吧
3. 几个算术运算符面试题
4.小练习
编写华氏温度转摄氏温度的程序,公式:摄氏温度 = 5/9 * (华氏温度 - 100)。
答案如下
关系(比较)运算符
逻辑运算符
- 逻辑与 &
- 短路与 &&
- 逻辑或 |
- 短路或 ||
- 取反 !
- 逻辑异或 ^
1. 逻辑与和短路与的区别
逻辑与和短路与: 前后都为true,结果才为true
不同点:短路与若判断前面为false,则不会判断后面的;逻辑与不管前面是否为false,都会判断后面的
2. 逻辑或和短路或的区别
逻辑或和短路或: 前后中有一个true,结果就为true
不同点:短路或若判断前面为true,则不会判断后面的;逻辑或不管前面是否为true,都会判断后面的
3.取反!即true变为false,false变为true
4.逻辑异或^ 即当两者不同时为true
赋值运算符
- 基本赋值运算符 int a = 10;
- 复合赋值运算符 +=,-=,*=,/=,%=等 a += 2 --> a = a + 2
三元运算符
- 基本语法:条件表达式?表达式1:表达式2
- 若条件表达式为true,则执行表达式1,否则执行表达式2
运算符优先级
- 只有单目运算符和赋值运算符是从右向左的
标识符命名规则和规范
- 标识符由字母、数字、下划线、$ 组成
- 不能以数字开头
- 不能为java关键字和保留字
- 严格区分大小写
- 包名,含多单词时,所有字母小写
- 类名、接口名,含多单词时,采用大驼峰式命名规则,每个单词首字母大写
- 变量名、方法名,含多单词时,采用小驼峰式命名规则,除第一个外每个单词首字母大写
- 常量名,含多单词时,所有字母大写,单词间用下划线连接
关键字中所有字母都小写
Scanner数据输入
- 导入Scanner类所在的包java.util.*
- new一个Scanner类的对象
- 接收用户输入
//输入字符串
String name = scanner.next();
//输入单个字符
char gender = scanner.next().charAt(0);
//输入整数
int age = scanner.nextInt();
//输入浮点数
double score = scanner.nextDouble();
进制
- 二进制:0,1。以0b或0B开头
- 十进制:0-9。
- 八进制:0-7。以数字0开头
- 十六进制:0-9及A-F。以0x或0X开头。此处的A-F不区分大小写。
1.二进制转十进制
2.八进制转十进制
3.十进制转八进制
4.十进制转十六进制
5.二进制转八进制
6.二进制转十六进制
7.八进制转二进制
位运算
- 按位与 & ( 1 & 1-->1 )
- 按位或 | ( 0 | 0-->0 )
- 按位异或 ^ ( 1^0-->1 )
- 按位取反 ~ ( ~1-->0 )
- 算术右移 >> (相当于除法,符号位不变,高位用符号位补齐,联想一下十进制就是小数点不动,数字右移,每移一位就是除以10)
- 算术左移 << (相当于乘法,符号位不变,低位用0补齐)
- 逻辑右移 >>> (相当于除法,符号位不变,高位用0补齐,注意没有逻辑左移运算符)
练练手
1.计算 ~-2的结果(按步骤来,先求-2的补码,再进行位运算得到结果的补码,最后求结果原码)
2.计算~2