算术运算符
关系运算符(比较运算符)
关系运算符的结果都是boolean型,也就是要么是true,要么是false
关系表达式 经常用在if结构的条件中或循环结构的条件中
逻辑运算符
&& 和 & 使用区别
-
&&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高
-
&逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
-
开发中,我们使用的基本是短路与&&,效率高
举例:&&
举例:&
|| 和 | 使用区别
-
||短路或:如果第一个条件为true,则第二个条件不会判断。最终结果为true,效率高
-
|逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
-
开发中,我们基本使用||
举例:||
举例:|
! 非(取反):
-
如果条件本身成立,结果为false,否则为true
a ^ b 逻辑异或:
-
当 a 和 b 不同时,结果为true,否则为false
练习(我全对)
三元运算符
-
基本语法:条件表达式 ?表达式1:表达式2
-
如果条件表达式为true,运算后的结果是表达式1;
-
如果条件表达式为false,运算后的结果是表达式2
-
表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)
-
三元运算符可以转成 if-else 语句
运算符优先级
标识符规则
- 由26个英文字母大小写,0-9,_或 $ 组成;
- 数字不可以开头;
- 不可以使用关键字和保留字,但能包含关键字和保留字;
- Java中严格区分大小写,长度无限制;
- 标识符不能包含空格;
- 包名:多单词组成时所有字母都小写:aaa.bbb.ccc;
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz;
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz;
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ。
键盘输入
java
import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class input{
public static void main(String[] args){
//演示接收用户的输入
//步骤
//Scanner类 表示简单文本扫描器,在java.util包
//1. 引入/导入 Scanner类所在的包
//2. 创建 Scanner 对象,new 创建一个对象
// myScanner 就是 Scanner这个类的对象
Scanner myScanner = new Scanner(System.in);
//3. 接收用的输入了,使用 相关的方法
System.out.println("请输入名字");
//当程序执行到 next 方法时,会等待用户输入
String name = myScanner.next();//接收用户输入字符串
System.out.println("请输入年龄");
int age = myScanner.nextInt();//接收用户输入int
System.out.println("请输入薪水");
double sal = myScanner.nextDouble();//接收用户输入double
System.out.println("ta的信息如下");
System.out.println("名字=" + name
+ " 年龄=" + age + " 薪水=" + sal);
}
}
进制
对于整数,有四种表示方式:
- 二进制:0,1,满2进1 以0b或0B开头
- 十进制:0-9,满10进1
- 八进制:0-7,满8进1 以数字0开头表示
- 十六进制:0-9及A(10)-F(15),满16进1. 以0x或0X开头表示。此处的A-F不区分大小写
二进制转换成十进制
2.
八进制转换成十进制
3.
十六进制转换成十进制
十进制转换成二进制
注:在100010前面补两位的原因是一个字节有8位,100010只有6位,所以要在前面补2位
十进制转换成八进制
6.
十进制转换成十六进制
7.
二进制转换成八进制
8.
二进制转换成十六进制
9.
八进制转换成二进制
10.
###### 十六进制转换成二进制
![在这里插入图片描述](https://file.jishuzhan.net/article/1772271021991137282/c40ccd64d19a2d823853b03642717545.webp)
原码 补码 反码
位运算
练习
- 2 & 3
- ~-2
- ~2
-
-10.5%3
-
-10.4%3(有小数运算,得到结果是近似值)