测试java中的转义字符:
1)有些特殊的字符在java中无法正常使用或展示,因为有特殊的作用
2)使用从 \+要转义的字符 开始
3)分类:
\'
\"
\\
\t :制表符 一个制表符位8个空格 一个字母1个空格 一个汉字是2个空格如果前面的内容是制表符位的整数倍,当前制表符为重开一个,如果不够,补全一整个制表符位
\n :换行
\r :光标回到行首
\b :退格
java中的数值型的表现形式:
1)分类:整数和浮点数
整型: (满几进一)
二进制 : 只能由0~1组成 以0b|0B开头
八进制 : 只能由0~7组成 以0开头
十进制 : 默认
十六进制 :只能有0~9,a,b,c,d,e,f(大小写都行)组成,以0x|0X开头
其他进制转十进制: 从后往前看,从最后一位的数开始 * 进制数^(次方从0开始,每次+1),最终的和就是转为的十进制数
十进制转为其他进制: 使用10进制的数一致除以要转为的进制数,得到余数,从下往上看
运算符
1) 分类:
1: 算数运算符
2: 赋值运算符
3: 比较运算符
4: 逻辑运算符
5: 条件运算符
6: 位运算符
操作数: 运算符左右两边连接的数
表达式: 运算符连接左右两边的操作数叫做表达式
语句 : ;代表语句的结束
单目|一元运算符 : 操作数只有1个
双目|二元运算符 : 操作数有2个
三目|三元运算符 : 条件运算符
1.算数运算符
①单目:+(取正)、-(取负)、++(自增)、–(自减)
A: +的用法, 正号 +1(通常会省略)
B: -的用法 ,负数 -4
+:
1) 正号 (可省略)
2) 加法运算
3) 字符串的连接符使用
当+左右两边有字符串的出现,+就是作为字符串的连接符使用,把前后的内容拼接成为一整个字符串使用
C: ++和–的用法:他们的作用是自增或者自减
单独使用: 放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
参与操作使用:
放在操作数的前面:先自增或者自减,再参与操作。
int a = 15;
int b = ++a;
放在操作数的后面:先参与操作,再自增或者自减。
int a = 15;
int b = a++;
②双目:+、-、*、/、%(取余)
A:+的用法:a:加法,b;字符串连接符
③三目:比较表达式?表达式 1:表达式 2;
执行流程:
首先计算比较表达式的值,看是true还是false。
如果是true,表达式1就是结果。
如果是false,表达式2就是结果。
2. 赋值运算符
A:=,+=,-=,*=,/=,%=等
B:=叫做赋值运算符,也是最基本的赋值运算符int x = 10; 把10赋值给int类型的变量x。
1 基础赋值运算符
"="
java中唯一自右向左运算的符号
优先级最低
2 扩展赋值运算符(基础+算数)
+= -= *= /= %=
a+=b; a=a+b;
优点:
1.提高执行效率
2.强制类型转换
缺点:
不直观
推荐使用扩展赋值运算符
3. 比较运算符(关系运算符)
A: > , < , >=, <=,
操作的类型只能为 byte short int long double float char
B:== , !=,
可以比较基本数据类型,可以比较引用数据类型
最终的结果肯定是一个bollean类型的值
4.逻辑运算符
A: & , | , ^ , ! , && , ||
B:逻辑运算符用于连接boolean类型的式子(表达式+常量)
C:结论
& : 有false则false
| : 有true则true
^ : 相同则false,不同则true。
! : 非true则false,非false则true
&& : 结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
|| : 结果和|是一样的,只不过有短路效果。左边是true,
运算符的优先级: 单目乘除位关系,逻辑三目后赋值。
键盘输入及随机函数
1.键盘输入
Scanner :
基本数据类型:
int a=5;
引用数据类型的使用方式:
1) 创建该引用数据类型的变量|引用
数据类型 引用|变量 = new 数据类型();
Scanner sc=new Scanner();
2) 使用功能:
引用.工能名字();
sc.next();
Scanner类 : 接收用户键盘输入
1.导包 :指明类的位置
使用import关键字 import java.util.Scanner
位置:在类的上面导包
2.创建该引用数据类型的变量|引用
3.使用功能:
nextInt() 接收用户输入的int类型的数据
nextByte()
nextShort()
nextLong()
nextDouble()
nextFloat()
next(); 从有效字符开始接收,直到遇到空格,tab..就不接收了,但是功能必须遇到enter才能结束
nextLine(); 接收一行数据,但是功能必须遇到enter才能结束
关闭:sc.close();
一定要使用完毕以后再关闭,都则后续无法使用,就算是重写开启,也无法使用
Random 类:产生随机数
1.导包 java.util.Random
2.创建该类型的引用|变量
Random ran=new Random();
3.使用功能
ran.功能名字();
nextInt() 产生int范围内的随机数
nextInt(整数n) 产生一个[0,n) 随机整数
nextDouble() [0.0,1.0)范围随机小数
公式:
[0,n] ran.nextInt(n+1);
[min,max) ran.nextInt(max-min) + min; ->[0,(max-min)) + min -->[min,max)
[min,max] ran.nextInt(max-min+1) + min;
Math类:
1.不用导包 java.lang下的内容不需要导包
Math,String,System...
2.Math中的内容都可以通过Math.功能()使用
产生随机数: Math.random() [0.0,1.0) 随机小数
公式: 通过对已经生成的随机数进行后续操作,+,* 让随机数的范围可控
[min,max) Math.random()*(max-min)+min; [0.0,1.0)*4=[0,4)+3=[3,7) [3,7)
[min,max] (int)(Math.random()*(max-min+1)+min);
四舍五入: Math.round(参数) 只看小数点后一位
绝对值: Math.abs(参数)
平方根: Math.sqrt(参数)
java中的流程控制语句
顺序结构: 从上到下,从左到右
选择结构: 满足条件执行,不满足不执行
循环结构 :重复的不停的执行某些内容
if选择判断语句
单选择|单分支:
if(比较表达式){
满足条件执行的语句体;
}
比较表达式:值为boolean类型的表达式
执行流程:
1.比较表达式
2.如果结果为true,执行{}中的语句体
3.如果结果为false,跳过if结构,不执行语句体,继续向下执行后面的代码
双选择|双分支:
if(比较表达式){
满足条件执行的语句体1;
}else{
不满足条件执行的语句体2;
}
执行流程:
1.比较表达式
2.如果结果为true,执行语句体1
3.如果结果为false,执行语句体2
多选择|多分支:
if(比较表达式1){
满足条件执行的语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
....
else{
以上条件如果都不满足,执行语句体n
}
执行流程:
1.比较表达式1,如果结果为true,执行对应的语句体1,如果结果为false,继续详细判断
2.比较表达式2,如果结果为true,执行对应的语句体2,如果结果为false,继续详细判断
...
3.如果以上条件都不满足,执行else中的内容
注意:如果语句体只有一句,前后的{}可以省略