第一章
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)
- 引用数据类型【字符串型】