<执行路径>java HelloWorld
敲完回车,都发生了什么?????
第一步:会先启动JVM(java虚拟机) 第二步:JVM启动之后,JVM会去启动“类加载器classloader” 类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。 假设是“java HelloWorld”,那么类加载器会去硬盘上搜索:HelloWorld.class文件。 假设是“java Test”,那么类加载器会去硬盘上搜索:Test.class文件。 ....... 第三步: 类加载器如果在硬盘上找不到对应的字节码文件,会报错,报什么错? 错误: 找不到或无法加载主类 类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码 文件装载到JVM当中,JVM启动“解释器”将字节码解释为“101010000...”这种 二进制码,操作系统执行二进制码和硬件交互。2.注释
-
单行注释
//注释内容
-
多行注释
-
javadoc注释:这里的注释信息可以自动被javadoc.exe命令解析提取并生成到帮助文档当中。
举例:
//public表示公开的 //class表示定义的一个类 //HeloWorld表示一个类名 public class HeloWorld{//表示定义一个公开的类,起名HelloWorld //类体 public static void mian(String[] args){//表示定义一个公开的静态的主方法 System.out.println("Hello World!"); //java语句【java语句以","终止,分号必须是半角分号】 //记住:以下代码的作用是向控制台输出一段消息 //以下的双引号必须是半角的双引号【是java语法的一部分】 //java中所有的"字符串"都使用双引号括起来 System.out.println("Hello World!"); System.out.println("Hello Tom!"); //输出中文 System.out.println("你好,我是李华!"); //输出中文 System.out.println("我是一个java软件工程师!"); } }
3.1、标识符可以标识什么,什么是标识符,怎么理解这个概念!
3.2、标识符的命名规则
3.3、标识符的命名规范
4.1、什么是关键字?
在SUN公司开发Java语言的时候,提前定义好了一些具有特殊含义的单词,
这些单词全部小写,具有特殊含义,不能用作标识符。
4.2、凡是在EditPlus中以蓝色字体形式存在的都是关键字,具有特殊含义。 4.3、切记: java语言中的所有关键字都是全部小写。 注意:java语言中是严格区分大小写的。public和Public不一样。 Class和class不一样。static和Static也不一样。 4.4、那么关键字有哪些呢,我们需要背会吗?需要单独去记忆吗? 关键字: public static void class byte short int long float double boolean char true false if while for private protected ........ 对于这些关键字来说大家不需要单独花费时间去记忆, 随着后面程序的积累,你会接触到所有的关键字。5.变量
5.1字面量
字面量就是数据
数据就是字面量
是一个东西。
10 100 123 :整型
1.34 3.14 2.0:浮点型
true false :布尔型
'a' '国':字符型
"a" "abc" "国" "中国":字符串型
10:整数,是一个数字
"10":它不是数字,是一个字符串,或者说,它属于“文字类”的。
性质完全不同,在计算机中的对应的二进制码也是完全不同的。
分为局部变量和成员变量
//在不同的作用域中可以定义相同的变量名
public class Var{
public static void main(String[] args){
int i=40;//局部变量
System.out.println(i);
}
int i=80;//成员变量
}//输出的话按照就近原则!
5.2、变量
变量的理解
什么是变量?
变量就是一个存数据盒子。(盒子大小谁来决定啊?数据类型)
在内存中的最基本的存储单元。
存数据用的,而且这个数据是可变的,所以叫做变量。
变量的使用
变量的三要素?
数据类型、变量名、值 (值就是数据,就是字面量。)
int i = 100;
java中的变量必须先声明,再赋值才能访问(必须手动赋值。)
int k; System.out.println(k); 这样是不行的。
可以在一行上声明多个变量:
int a, b, c = 100;
c变量赋值100,a,b变量只声明了没有赋值。
int a = 10, b = 20, c = 100;
可以这样每个都赋值。
声明和赋值可以分开,也可以一起做!!!
int i;
i = 100; // 先声明再赋值
int k = 200; // 声明的同时赋值
在“同一个域”当中,变量名不能重名!!!!!!
但可以重新赋值!!!!!!
{
int i = 100;
//double i = 2.0; // 重名了编译器会报错,不允许。
i = 300; // 可以重新赋值。
}
到底什么叫做同一个域?????
这个目前不太好解释,大家记住吧:一个大括号代表一个域。
{A域
{B域
{C域
}
}
}
A域包括B域,B域包括C域。
变量的分类
根据位置进行分类:记住就行
在方法体当中声明的变量叫做局部变量。
public static void m1(){
//局部变量,方法执行结束之后内存释放。
int k = 100;
int i = 200;
}
在方法体外以及类体内声明的变量叫做成员变量。
public class T{
public static void x(){
}
// 成员变量
int i = 200;
}
变量的作用域
出了大括号就不认识了。别的先别管。
{
int i = 100;
{
在这里可以访问i
}
}
{
在这里是无法访问i变量。
}
6.public class和class的区别?
- 一个java源文件当中可以定义多个class
- 一个java源文件当中public的class不是必须的
- 一个class会定义生成一个XXX.class字节码文件
- 一个java源文件当中定义公开的累的话,只能有一个,并且该类名称必须和java源文件保持一致。
- 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,想执行x.class当中的main方法:java X



