java 从入门到跑路1

288 阅读14分钟

自己记录查漏补缺用,有些有印象的就不写了

  1. 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 类型

  • 自动提升到最高级操作数的同类型 :

    byteshortchar -> 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=11i=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)