java基础知识(笔记)

java
Author

dd21

Published

December 5, 2022

第一章

1、打开cmd执行javac HelloWorld 的执行原理

* jiava.exe 命令启动jvm(java虚拟机)
* jvm启动之后会启动类加载器(classLoader)
* classLoader会在硬盘上的某个文职搜索HelloWorld.class字节码文件
* 找到改文件执行
* 找不到该文件报错


疑问:classLoader实在哪个位置上搜素HelloWorld.class字节码文件的?
    * 默认情况下,classLoader从当前路径下加载xxx.class 字节码文件的
    * 也可以让classLoader去某个指定的路径下加载字节码文件,这是需要配置环境变量classpath
    * classpath环境属于java语言中的环境变量,不属于windows操作系统【path环境变量属于操作系统】
    * classpath是给classLoader类加载器指订路径的
    * 设置这样环境变量: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
    - 在任意位置打开cmd,都可以执行,java HelloWorld
    * classpath环境变量没有配置的话,类加载器默认都会从当前路径下找字节码文件(xx.class文件)
    * 从上所述,环境变量classpath不用配置,这样类加载器会自动从当前路径下加载class字节码文件。所以,每一次执行.class文件程序的时候,都需要在dos命令窗口中先切换到.class字节码文件所在的路径下,然后运行。

2、关于java源程序中的注释

* 什么是注释?注释的作用是什么?
    - 出现在java的源程序中,对java的作用是什么?
    - 只是不会被编译到.class文件中
    - 一个好的开发习惯应该是多编写注释,这样代码的的可读性比较高
* java中的注释怎么写


    - 单行注释,只注释当前行
        // 单行注释,只注释当行



    - 多行注释
        /*
            多行注释
            多行注释
            多行注释
        */
        

    - javadoc注释
        /**
        * javadoc注释
        * javadoc注释
        * javadoc注释
        **/

3、对HelloWorld程序进行解释: 需要记忆

* public
    * class
    * static 
    * void 
    * System.out.println(""); 向控制台输出消息
    * 类体
    * 方法体
    * 类体中不能直接编辑java语句【除了声明变量】
    * 一个java语句必须以;结尾
    * 方法体中可以编写多条java语句
    * 主方法是程序的入口,固定写法,sun公司规定的

4、public class 和class 的区别:

    * 一个java源文件当中可以定义多个class
    * 一个java源文件中public的class不是必须的,可以没有public class
    * 一个class会定义生成一个xxx.class 字节码文件
    * 一个java源文件当中定义公开的类(public class)的话,只能有一个,并且雷鸣必须和java的源文件名一致。
    *  每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,想执行X.class中的main方法,java X
    * 注意:当在命令窗口中执行java.Hello,name要求Hello.class中必须有主方法。没有主方法运行会报找不到主方法错发。

第二章

1、标识符

java当中凡是可以自己起名字的单词都是标识符【类名、方法名、接口名、变量名、常量名、、、、、】

标识符的命名队则: ①标识符必须要由数字、字母、下划线组成,不能含有其他字符。 ②不能由数字开头 ③严格区分大小写 ④关键字不能做标识符

2、关键字

具有特殊含义的单词,提前制定好的。
全部小写
如:public、static、void 、、、、、、

3、字面值

数字、字符、字符串、、、、
通俗的说字面值就是数据

4、变量

内存中存储数据最基本的单元
    * 每一个变量都由三部分组成
        - 数据类型
        - 变量名
        - 存储的相关数据
        
    * 可以重复读取
    * 变量存储的数据要和变量的类型是一致的
    * 在同一个作用域内变量不能重名
    * 声明类型和复制可以同时进行 int a = 100;
    * 变量的作用域:出了大括号就不认识了
    * 根据出现的位置可以分为:
        - 局部变量: 方法体外内【花括号里面】
        - 成员变量: 方法体之外,类体之内
    

5、数据类型

作用:
    * 指导java运行机给该变量分配多大的内存空间,不同类型的数据类型分配的内存空间大小也不一样
    * 数据类型包括:
        - 基本数据类型【4大类8小种】
            四大类: 整数型(byte1,short2,int4,long8)、浮点型(float4,double8)、布尔型(boolean1)、字符型(char2)
        - 引用数据类型【字符串型】