第一章 纲要
1.初始JAVA
JAVA语言底层是C++是实现的。
JVM(JAVA虚拟机)是由C++开发的。
2.JAVA的加载和执行
两个过程:编译+运行
(1)编译阶段
检查源程序是否符合java语法.java,然后生成一个或多个字节码文件.class(被最终执行,删除.java源文件也不会影响执行,但是最好不删除,以便于修改)
字节码文件中不是存粹的二进制,无法在操作系统中直接执行
编译后的形成一个.java源文件
使用JDK中javac.exe命令进行编译
1)javac
来自JDK
在DOS命令窗口中使用----->javac java源文件的路径
javac是一个java编译器工具/命令
(2)运行阶段
java.exe
在DOS命令窗口中使用---->java 类名
例如:A.class------>java A
过程:
打开DOS窗口---->输入:java A------->java.exe命令会启动JVM,JVM启动类加载器ClassLoader----->类加载器ClassLoader会去硬盘上搜索A.class文件,并转载在JVM----->JVM将A.class文件解释成二进制------->操作系统将二进制和底层硬件平台进行交互
(3)详解Holleword例子
//Demo1类的名称
//必须与java源文件名称相同
//public 表示公有的
//class 关键字
public class Demo1 {
//static表示静 态
//void 表示没有返回值
//main表示主函数(主方法)的名称:是固定的
//(String[] args)参数
//public static void main(String[] args)
//是程序的入口点.唯一的入口
public static void main(String[] args) {
// TODO Auto-generated method stub
//java代码
//输出语句
System.out.println("Hello World!");
}
}
输出语句:把内容输出到显示器上.
System.out.println("输出的内容");//换行输出
System.out.print("输出的内容");//不换输出
【java语言中每条语句必须加分号";",表示结束】
【注:java开发中所有的标点符号都为英文输入法下的符号】
public class Helloword//定义一个公开的类,起名为Helloword
{//类体中不允许直接编写java语句【除了声明变量外】
public static void main(String[] args)
//表示定义一个公开的静态的主方法;程序的执行入口
//args可以随便写
{
System.out.println("Hello World!");
}
}
2.一些名词
JDK------开发工具包
JRE------运行时环境
JVM-----虚拟机,是实现跨平台的基础
JDK > JRE > JVM
3.public class与class的区别
一个Java源文件当中可以有多个class
一个java源文件中public的class不是必须的
一个class会生成一个class字节码
一个java源文件当中定义公开的类的话,public只能有一个,并且该类名必须与java源文件一致
每一个class中都可以定义{这里与C语言不同,C语言只有一个main,只有一个入口},都可以设定程序的入口,执行.class的方法都是----->java 类名
每个类中必须要有主方法,也就是main
第二章 内容
1.标识符
(1)命名规则:{与C语言一致}
只能有数字、字母、下划线、美元符号¥组成
不能以数字开头
严格区分大小写
关键字不能做标识符
(2)命名规范
见名知意
驼峰式------UserService
1)类名、接口名-----每个单词首字母大写
2)变量名、方法名-----第一个单词首字母小写,其他单词大写
3)常量名-----全部大写
注意:类名不能有空格
2.关键字
3.字面值
{与C语言中的字面常量一致}
数据类型:整型、浮点型、布尔型、字符串型、字符型{与C语言一致}
书写形式不一样:JAVA-----System.out.println()<----->C-------printf()
java-----中间是字面值,例如:System.out.println(10)
c-----中间需要用打印类型符号,例如:printf("%d",a)
注意:java中,字符串要用“”括起来;字符要用‘’括起来
****String(字符串类型) 它是不基本类型.如:"2","1234abc","今天学习java","".【注:必须要用双引号引上】
4.变量
包含:数据类型、名称、值{与C语言一致}
变量是内存中存储数据的最基本的单元
变量中存储的数据要与变量的数据类型一致
声明\定义变量------数据类型 变量,例如:int a;{与C语言一致}
变量赋值-------变量名=字面值;例如:int a=1;{与C语言一致},可以重复赋值
例如:System.out.println(a);------->a=1{与C语言一致-----printf("%d",a);----->a=1}
变量可以声明多个,例如:int a,b,c;
Java中的变量必须先声明,再赋值,也就是初始化{这里与C有点区别,C中可以不先初始化,但是最好在最开始初始化}------->因为没有赋值就意味着没有开辟内存空间
变量名不能重名,但是能重新赋值{与C语言一致}
变量的作用域{与C语言一致}
变量的分类{这里与C有区别}
1)局部变量:在方法体当中声明的变量
2)成员变量:在方法体外【类体内】声明的变量
public class Holleword
{
int a=10;//成员变量
public static void main(String[] args){
int b=20;//局部变量
}
int c=30;//成员变量
public static void DoSome(){
int d=40;//局部变量
}
}
成员变量没有手动赋值系统会默认赋值【局部变量不会】