JAVA--达内培训笔记】
1、Java之父Golsling
1995年5月23日 Java诞生
1998年12月 1.2版本 Java2 J2SE J2EE J2ME
2004年12月 1.5版本(5.0) Java JavaSE JavaEE JavaME
2、Java SE --- Java标准平台
Java EE --- 企业级平台
Java ME --- 微小平台,用在资源受限的平台上
3、(1)跨平台 --- 一次编译,到处运行
(2)简 单 --- 简化C++,取消了指针,对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。
不允许多继承,使继承关系成树装图,每个类都只能由一个父类。
java语言的开发效率高,但执行效率低。(相当于c++的55%)
(3)纯面向对象的语言 --- 都要放在类中
(4)垃圾回收机制 --- 自动垃圾收集,永远不会出现内存泄露的问题
4、虚拟机
java语言是先编译后解释,java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再由JVM进行解释运行。
(编译) (解释)
.java ----> .class ---> 可执行文件
所以效率低,是C++的20倍
5、java源代码中的main方法的定义写法。main方法是程序的入口。
public class Hello{ //一个源文件中只能有一个公开类,而且源文件的文件名与公开类的类名完全一致
public static void main(String[] args){ //程序入口 public static 可以调换顺序
System.out.println("Hello world"); //打印语句
}
}
编译命令 javac xxxx.java 源文件的名字,源文件中的一个类会对应编译生成一个.class文件
运行命令 java xxxx 类的名字 --- 启动虚拟机
6、环境变量
JAVA_HOME = /opt/jdk1.5.06 JDK 安装路径 --- JDK = JRE {JVM(硬件)+编译器(软件)} +编译器工具+类库
PATH = $Path:$Java_Home/bin:.
ClassPath = . 类路径
7、包 --- 分类放置,减少命名空间
包名.类名 表示一个类的全限定名
java xxx.xxx.ClassA --- 运行时要在包结构的上一层目录来运行。
javac -d . xxxx.java --- 编译的时候,按照包结构存放字节码文件,此命令生成的.class文件在当前目录
package xxx.xxx,包的定义在一个程序中只能由一个
import xxx.xxx.xxx.ClassA; --- 在程序中声明ClassA类,使用的时候不需加包名,使用同一包内的类时,不用引入
import p1.p2.p3.p4.p5.*; --- 声明p5包中所有的类,不能代表其子包
系统会在每个java程序中隐含导入了java.lang这个包
8、java中的注释,
单行注释 //......
多行注释 /* .......*/
文档注释/** ........
(换行标签)*/,用javadoc命令可以根据原码中的文档注释生成注释文档(html格式)。文档注释中可以使用html标签。
javadoc -d 路径(指定注释文档的保存路径) xxx.java
文档注释一般写在类定义之前,方法之前,属性之前。
在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符号要写在类定义之前,用于方法的注释@param 对参数进行注释,@return 对返回值进行注释 @throws对抛出异常的注释。
10、标识符规则 --- 类,方法,变量,同时也是包名的规范
由字母(汉语中的一个汉字是一个字母),数字,下划线和货币符号组成,不能以数字开头。
大小写敏感
没有长度限制,不能有空格
不能使用Java的关键字和保留字
java中的关键字
goto和const在java中虽然不再使用但是还作为保留字存在
java中没有sizeof这个关键字了,java中的boolean类型的值只能用true和false,且这两个也是关键字
enum 枚举 assert 断言
一个标识符尽量符合语义信息,提高程序可读性
类 名 :每个单词首字母大写,
变量和方法 :第一个单词小写,后边的每个单词首字母大写
包 名 :全部小写
常 量 :全部大写
11、局部变量:定义在方法中的变量
(1)先赋值后使用
(2)从定义变量的代码块开始到代码块结束
(3)在同一范围内不允许两个局部变量发生命名冲突
* * * *