转义字符(EscapeCharacter)
用来表示有些具有特殊含义的字符
转义字符从\开始
\t 制表符
一个制表符代表8个空格,一个字母1个空格,一个汉字占2个空格
查看前面的内容,是否满足制表符的整数倍,如果不满足补满,如果满足重开一个制表符位
\b退格
光标会删一格
\n换行
ln类似
\r 回到行首
光标回到行首
数值形式(Numerical)
整数的不同进制:满几进一
二进制: 由0,1组成 以0b/0B开头表示二进制
八进制: 由0~7组成 以0开头表示八进制
十进制: 默认
十六进制: 0~9,a~f组成 大小写都可以 以0x/0X表示十六进制
其他进制转十进制:从后往前,从最后一位开始*进制数,次方从0开始每次+1,最终所有位数的值求和
十进制转其他进制:一直除以要转为的进制数,得数为0为止
浮点数的表示形式
0.5->0可以省略
科学计数法表示
e->10
1.234e2 ->1.234*10^2
1.234e-2 ->1.234/10^2
运算符(Operator)
操作数: 运算符左右两边的数叫做操作数
表达式: 运算符链接两边的操作数咋横踢叫做表达式
语句: 遇到;就是语句的结束
单目运算符|一元运算符
操作数只有一个 ++ -- -负号
双目运算符|二元运算符
+ - / * %
三目运算符|三元运算符
条件运算符
算数运算符
+
+正号
加法运算
字符串的连接符
当+左右两边由字符串的出现,就作为字符串的连接符使用,最终得到一个字符串结果
-
负号 不能省略
减法运算
*
乘号
乘法运算
%
取余数|取模|模以
如果前面的操作数<后面的操作数,结果为第一个操作数
++ --
操作自己|不影响别人
++放在操作数的前面还是后面都是自身+1
--放在操作数的前面还是后面都是自身-1
操作别人|影响别人|参与运算
++--放在操作数的前面,先自身先去+1|-1,再参与运算
++--放在操作数的后面,先参与运算,再自身+1|-1
赋值运算符
基本赋值运算符
=
java中唯一一个自右向左运算的符号
优先级别最低
扩展赋值运算符
算数运算符+基本赋值运算符
+= -= *= /= %=
优点: 自动做强制类型转换 ,提高执行效率
缺点: 不直观
关系运算符|比较运算符
> < >= <=
只能针对byte,short,int,long,char,float,dobule进行比较
== !=
可以对基本数据类型或引用数据类型做比较
比较运算符最终的结果都是boolean类型的值 true,false
逻辑运算符
逻辑运算符左右两边的操作数都是值为boolean类型的表达式
& 与 一个为false就是false,两个都是true才是true
| 或 一个为ture就是true,两个都为false才是false
^ 亦或 相同为false,不同为true
&& || 短路,如果第一个值已经能够决定表达式的结果,第二个值就不再执行
条件运算符
条件表达式 ? 值1 : 值2;
条件表达式是值为boolean类型的表达式
执行流程
计算条件表达式
如果值true,最终结果取值1
如果值false,最终结果取值2
位运算符
先把操作数转为二进制,参与运算,结果转为10进制
& 统一位数的两个数,如果一个为0就是0,两个都为1才是1
| 同一位数的两个数,如果一个为1就是1,两个都为0才是0
^ 相同为0,不同为1
右移运算符 相当于/2的第二个操作数次方
>> 假设第一个操作数二进制数的右边有一个分水岭,移动第二个操作数个位数,移出分水岭的数不计算,剩下的二进制转为十进制
左移运算符 相当于*2的第二个操作数次方
<< 向左移动第二个操作数个位数,空余补0,最终转为十进制
Scanner ( 接受键盘输入)
导包
说明Scanner类的地址 使用import关键字+路径 导包 java.util.Scanner;
导包要类的上面导包
创建Scanner类型的变量--根据公式 Scanner sc=new Scanner();
使用功能
nextInt() 接受int类型的整数
nextByte() 接收byte类型的整数
nextShort() 接收short类型的整数
nextLong() 接收long类型的整数
nextDouble()
nextFloat()
next() 接收用户输入的字符串类型的数据
从有效字符开始接收,知道遇到空格,tab不再接收了,enter停止功能
nextLine() 接收字符串数据,遇到enter结束功能(接收一整行)
关闭
变量.close();
一定要再这个类使用完毕Scanner之后再关闭,否则后面重新开启也无法继续使用
Random(产生随机数)
导包 java.util.Random
创建Random类型的变量|引用
通过引用数据功能
随机整数
nextInt() 随机产生int类型范围内的一个随机整数
nextInt(整数n) 范围: [0,n)随机整数
公式
[min,max) 引用.nextInt(max-min)+min
[min,max] 引用.nextInt(max-min+1)+min
随机小数
nextDouble() 产生随机小数 [0,1)
流程控制语句(If)
顺序结构
选择结构:根据判断,满足条件执行某些代码
循环结构:重复执行某些代码
if..else
单分支|单选泽
if(条件判断){
满足条件要执行的语句
}
执行流程
计算判断条件(值为boolean类型的表达式)
如果true,执行{}语句体
如果false,不执行,直接跳过if结构
双分支|双选择
if(条件判断){
语句体1;
}else{
语句体2;
}
无论是否满足都会有与具体执行,肯定会有一个结果
多分支|多选择
同是双分支
if和条件表达式之间的区别
if可以对多个条件多次判断
条件表示肯定会有结构