9.运算符
9.1 算数运算符 (`+,-,*,/,%`) 整数运算只能得到整数
9.1.1 字符 + 操作 :是利用字符在计算机底层对应的数值进行操作(‘A’ = 65,‘a’ = 97 , ‘0’ = 48 )
参与运算会按照 最高类型 计算
9.1.2 字符串 + 操作:从左到右进行字符串拼接,最左侧出现算数运算,则先进行算数运算,再拼接
9.2 赋值运算符
=:等号 赋值,将等号右侧的值赋给左侧的变量
+= :把左边和右边做加法运算,然后赋值给左边,这种运算隐含了 强制类型转换
-=,*=,/=,%=
9.3 自增自减运算符
++,–
可以放在变量的后面,也可以放在变量的前面,单独使用时,放在前和放在后效果是一样的,当参与操作时,放在变量后面,先拿变量参与操作,后执行变量 ++和–操作;放在变量前面,是先执行变量++或–,再参与操作
9.4 关系运算符
==,!=,>,>=,<,<=
结果都是 boolean 类型 true, false
9.5 逻辑运算符
& 逻辑与 : 两边均为true,结果为true
| 逻辑或 : 其中一边为true,结果为true
^ 逻辑异或 : 相同为false,不同为true
! 逻辑非 : 取反
短路逻辑运算符:
&& : 左边为false,右边就不执行
|| : 左边为true,右边就不执行
9.6 三元运算符
关系表达式 ? 表达式1 : 表达式2
先计算关系表达式的值,
为true,结果为表达式1
为false,结果为表达式2
10.数据输入
Scanner使用
第一、导入包
import java.util.Scanner;
第二、创建对象
Scanner sc = new Scanner(System.in);
第三、接收数据
int a = sc.nextInt();
11.分支语句
流程控制:
顺序结构
分支结构(if,switch)
循环结构 (for, do … while …,while)
if语句
if() {
}
if() {
} else {
}
if() {
} else if(){
}...else {
}
switch语句
switcch () {
case 值1:
表达式1;
break ;
case 值2:
表达式2;
break;
default:
default表达式;
[break;]
}
注:case穿透
12. 循环语句
for循环
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
执行流程:
1.初始化语句;
2.条件判断语句,为true继续执行,为false退出循环;
3.执行循环体语句;
4.条件控制语句;
5.执行条件判断语句…
while循环
初始化语句;
while (条件判断语句;) {
循环体语句;
条件控制语句;
}
do…while循环
初始化语句;
do {
循环体语句;
条件控制语句;
} while (条件判断语句);
三种循环的区别
for循环和 while循环会先判断条件是否成立,然后确定是否执行循环体
do…while 会先执行一次循环体,再判断条件,再确定是否继续执行
自增变量 有作用域
控制跳转语句
continuue;跳过本次循环,执行下一次循环;
break; 退出循环
循环嵌套
Random
用于产生一个随机数
导入包:
import java.util.Random;
创建对象:
Random r = new Random();
创建随机数:[0,100) 包含0,不包含100
int number = r.nextInt(100);