0%

java01

一、基础知识

  1. 跨平台性
    1. 通过java语言编写的应用程序可以在不同的系统平台上都可以运行
    2. 原理:只需要运行Java的操作系统上安装Java虚拟机即JVM,由JVM来负责Java在系统中的运行
    3. 因为有了JVM,Java可以跨平台运行
  2. JRE = JVM + Java程序所需要的核心类库
  3. JDK = JRE + Java开发工具

二、基础语法

  1. hello world

    • 写程序
    1
    2
    3
    4
    5
    6
    7
    class HelloWorld
    {
    public static void main(String[] args)
    {
    System.out.println("Hello world!");
    }
    }
    • 解释:
      • class是用来定义类的,格式是: class 类名 {}
      • 程序要独立运行,必须有主方法,格式是:public static void main(String[] args){}
      • 程序要输出内容,必须有输出语句,格式是:System.out.println(“hello world!”);
    • 编译与运行
      • 编译:javac命令编译程序,后面跟的是文件名称,javac HelloWorld.java
      • 运行:java命令执行程序,后面跟的是class文件 名称,不含扩展名 java HelloWorld
    • 一个完成的Java程序
      • 编写Java源程序
      • 通过javac命令编译java程序,生成字节码文件
      • 通过java命令运行字节码文件
  2. path环境变量

    • 为什么要配置path环境变量
          为了让javac和java命令可以在任意目录下使用
      
    • 如何配置
      • 直接修改path,在前面追加JDK的bin目录
      • 新建JAVA_HOME: JDK的安装目录
        修改path: %JAVA_HOME%\bin;后面是以前的环境变量
  3. classpath环境变量

    • 为什么要配置classpath环境变量
          为了让class文件可以在任意目录下运行
      
    • 如何配置
          新建:classpath,把你想要在任意目录下运行的class文件所在目录配置过去即可。
          注意:将来在执行的时候,有先后顺序关系
      
    • path和classpath的区别
          path是为了让exe文件可以在任意目录下运行
          classpath是为了让class文件可以在任意目录下运行
      
  4. 注释

    • 注释:用于解释说明程序的文字
    • 分类:
      • 单行://注释文字
      • 多行:/* 注释文字 */
      • 文档注释:/** 注释文字 */
    • 带注释的HelloWorld案例
      (4)注释的作用:
          A:解释说明程序,提高程序的阅读性
          B:帮助我们调试程序
      
  5. 关键字

    • 关键字:被Java赋予特定含义的单词
    • 特点:全部小写
    • 注意事项:
      • goto和const作为保留字存在,目前不使用
      • 类似于Editplus这样的高级记事本,会对关键字有特殊颜色标记,方便记忆
  6. 标识符

    • 标识符:给类,接口,方法或者变量起名字的符号
    • 组成规则:
      • 英文字母大小写
      • 数字
      • _和$
    • 注意事项:
      • 不能以数字开头
      • 不能是Java中的关键字
      • 区分大小写
                Student,student 这是两个名称
        
    • 常见命名方式:
      • 包 其实就是文件夹,用于解决相同类名问题
        全部小写
        单级:com
        多级:cn.itcast
      • 类或者接口
        一个单词:首字母大写
        Student,Person,Teacher
        多个单词:每个单词的首字母大写
        HelloWorld,MyName,NameDemo
      • 方法或者变量
        一个单词:全部小写
        name,age,show()
        多个单词:从第二个单词开始,每个单词首字母大写
        myName,showAllStudentNames()
      • 常量
        一个单词:全部大写
        AGE
        多个单词:每个单词都大写,用_连接
        STUDENT_MAX_AGE
  7. 常量

    • 常量:在程序的运行过程中,其值不发生改变的量。
    • 常量的分类:
      • 字面值常量
      • 自定义常量(面向对象部分讲)
    • 字面值常量
      • 字符串常量 用””括起来的内容。举例:”helloworld”
      • 整数常量 举例:1,200
      • 小数常量 举例:12.5
      • 字符常量 用’’括起来的内容。举例:’a’,’A’,’0’
      • 布尔常量 比较特殊,只有两个值。举例:true,false
      • 空常量 null(数组部分讲)
    • Java中针对整数常量的表现形式
      • 二进制:由0,1组成。以0b开头
      • 八进制:由0,1,2,3,4,5,6,7组成。以0开头
      • 十进制:由0,1,2,3,4,5,6,7,8,9组成。默认是十进制。
      • 十六进制:由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成。以0x开头。注意:字母不区分大小写。
  8. 进制

    • 一种计数的方式。x进制表示逢x进1。
    • 进制转换
      • 其他进制到十进制
                系数*基数^权之和。
        
      • 十进制到其他进制
                除基取余,直到商为0,余数反转。
        
      • 快速转换
        • 二进制和十进制
                      8421码
          
        • 二进制和八进制
                      三位组合
          
        • 二进制和十六进制
                      四位组合
          
      • 任意X进制到任意Y进制的转换
                可以使用十进制作为桥梁即可。
        
  9. 有符号数据表示法

    • 计算机中数据的存储和运算都是采用补码进行的。

    • 数据的有符号表示法

      ​ 用0表示正号,1表示负号。

      • 原码
                正数:正常的二进制
                负数:符号位为1的二进制
        
      • 反码
                正数:和原码相同
                负数:和原码的区别是,符号位不变,数值位取反。1变0,0变1
        
      • 补码
                正数:和原码相同
                负数:反码+1
        
    • 补充:float浮点数在计算机中的表示

              符号位        指数位        底数位
                   S                 E                 M
      
  10. 变量

  11. 数据类型

    • ![image-20191128165452052](../../../../../Library/Application Support/typora-user-images/image-20191128165452052.png)
  12. 类型转换

  13. 运算符

  14. 算数运算符

  15. 赋值运算符

  16. 关系运算符

  17. 逻辑运算符