自己记录查漏补缺用,有些有印象的就不写了
- java 跨平台的原理:JVM(对应操作系统 java 虚拟机)
- JRE(java runtime environment):运行环境
- JDK(java development kit):开发工具包(编译工具javac.exe 和运行工具java.exe)
- JDK安装目录
2. 常量
3. 数据类型
long a = 100000000L
float f = 12.13F
4. 类型转换
- 自动类型转换(小 -> 大)
-
强制类型转换:
int k = (int)88.88 -> 88 // 丢数据精度
5. 运算
-
整数除法只能是整数,想要小数,需要用浮点数
-
字符+:用字符在计算机底层对应的数字计算
A:65 A-Z 连续 a:98 a-z 连续 0:48 0-9 连续
-
算术表达式中,包含多个是基本数据类型时,整个算术表达式的类型会自动提升
-
byte、short、char 会被提升到int 类型
-
自动提升到最高级操作数的同类型 :
byte、short、char -> int ->long -> float -> double -
区别 + 是字符串链接 还是 算术运算
1+99 + "年老店" 前面是 算数运算,后面是 字符串链接 -> 100年老店
6. 赋值运算符
-
+=
short s=20 s += 20 底层隐含强制类型转换 s = (short)(s+20) s = s +20 会报错,类型兼容问题 -
自增、自减
int i = 10 int j = i++ j=10, i=11,顺序从左到右,先把i赋值给j, 然后i自增 int g = ++i g=11,i=11,变量先做自增,然后再赋值 -
逻辑运算符
-
短路运算符:&& 、 ||
-
区别:& 无论左边真假,右边都要执行,&& 只要左边为假,右边就不再执行
7. 数据输入
-
Scanner 使用
import java.util.Scanner // 导包 Scanner sc = new Scanner(system.in) // 创建对象 int i = sc.nextInt() // 接收数据
8. 流程控制
-
顺序结构
-
分支结构:
if、switch -
循环结构:
for、while、do...while -
三种循环的区别
do while 先执行代码,再判断 for i 变量定义域再代码块内 -
跳出循环
continue 跳出某次循环,继续下一次执行 break 终止循环体,结束整个循环 -
随机数
//导包 import java.util.Random //创建对象 Random r = new Random() // 获取随机数 [0,10) int number = r.nextInt(10)