1. 关于运算符:
- 算术运算符
- 逻辑运算符
- 布尔运算符
- 位运算符
- 赋值类运算符
- 字符串连接运算符
- 条件运算符
- 其他运算符
1.1 算术运算符:
- 对应类arithmetic
关于算术运算符:
符号 | 说明 |
+ | 相加 |
- | 相减 |
* | 相乘 |
/ | 相除 |
% | 求余 |
++ | 自加一 |
– | 自减一 |
注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。没有必要专门去记忆运算符的优先级;
关于++运算
- 自加一
// ++运算符可以使用在变量上 int c = 10; c++;// 自加1 System.out.println(c); ++运算符可以出现在变量前,也可以出现在变量后,无论是变量前还是变量后 只要++运算结束,该变量的一定会自加1 int d = 10; ++d;// 自加1 System.out.println(d);
1.2 逻辑运算符:
- 对应类logic
关于逻辑运算符:
符号 | 说明 | 阐述 |
& | 与【并且】 | 两边的算式都是true,结果才是true |
| | 或【或者】 | 两边的算式只要有一个是true,结果才是true |
! | 非 | 取反,!false就是true,这是一个单目运算符 |
^ | 异或 | 两边的算子只要不一样,结果就是true |
&& | 短路与 | |
|| | 短路或 |
- 逻辑运算符要求两边的算式都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型
- 短路与和与最终的运算结果是相同的,只不过短路与存在短路现象。
- 短路或和或最终的运算结果是相同的,只不过短路或存在短路现象。
什么情况下发生短路与&&?
- 第一个表达式执行结果是true,会发生短路或。
什么情况下发生短路或|| - 第一个表达式执行结果是false,会发生短路与。
1.3 关系运算符:
- 对应类Theboolean
关于关系运算符:
符号 | 说明 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
= 是赋值运算符
== 是关系运算符
关系运算符的运算结果一定是布尔类型:true/false
1.4 赋值类运算符:
- 对应类AssignmentClass
关于java中的赋值类运算符:
- 基本的赋值运算符:" = "
- 扩展的赋值运算符:
" += "
" -= "
" *= "
" /= "
" %= " - 赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量
- 扩展的赋值运算符【+= 运算符可以翻译位“追加/累加”】
- x = (byte)(x + ?);
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。
1.5 字符串连接运算符:
- 对应类StringConnection
关于java中的“+”运算符:
+ 在java中有两个作用:
- 加法运算,求和
- 字符串的连接运算
当“+”运算符两边的数据都是数字的话,一定是加法运算;
当“+”运算符两边只要有一个是字符串,一定会进行字符串连接运算。
并且,连接运算之后的结果还是一个字符串类型。
1.6 三元运算符:对应类Conditions
- 三元运算符/三目运算符/条件运算符,这里都是指的一个东西喔!
语法规则:
- 布尔表达式 ? 表达式1 : 表达式2
- 三元运算符的执行原理?
当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果
当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果
三元运算符仅仅只是一个运算符,并不是一个完整的语句
sex ? '男' : '女'; ----> 编译报错
1.6.1 例子:
String name = "James"; boolean result = name instanceof String; // true
由于 name 是 String 类型,所以返回真
如果被比较的对象兼容于右侧类型,该运算符仍然返回true。
2. 控制语句
2.1 if
关于java中的if控制选择结构语句:
重点:
- 对于if语句来说,只要有一个分支执行,整个if语句全部结束
所有的控制语句 都是可以嵌套使用的,只要合理都行;
注:嵌套使用时,代码格式要保证完美。
- if语句的分支中只有一条语句的话,大括号可以省略不写。
if(true/false) 执行语句;
2.2 for
for(int i =起始值; i< 循环次数; i++;){ };
for循环在表达式内部就声明了一个变量,它会根据这个变量次数来决定循环的次数
2.3 doWhile
do…while循环的语法结构:
do{ }while(布尔表达式);
do…while循环的执行原理:
- 先执行do代码块里面的代码
- 执行完do代码块后进行布尔表达式判断
- 判断为true则继续循环,false则结束循环
2.4 while
while(布尔表达式){ };
与doWhile不同,while循环会先进行判断,再进入代码块中执行
请记住,一定要给一个结束条件,不然会造成死循环
3. 输入和输出:
System.out.println(); 负责向控制台输出
- 从内存倒控制台,输出的过程,这是从内存中出来的
- 需要用户输入数值的代码及代码逻辑:
3.1 创建扫描器对象
java.util.Scanner s = new java.util.Scanner(System.in);
3.2 接收键盘输入
调用Scanner对象的next()方法开始接收用户键盘输入
String a = s.next();// 程序执行到这里会停下来,等待用户的输入
当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a
System.out.println("用户输入了:"+a);