1990年,由于单片式计算机系统的火爆,sun公司为了抢占市场,成立了包括詹姆斯·高斯林在内的green小组,主要攻克家电的嵌入式应用,这些家电由于当时硬件的限制,计算处理能力和内存都非常有限,这就要求在极为紧凑的硬件中必须写入大量代码,且当时的嵌入式处理器芯片的种类繁杂,这对跨平台性要求极高,所以采用的语言必须具备简单、可移植、高性能等特点。当时最流行的语言是C++,所以green小组优先考虑使用C++编写程序,但是在实践过程中却发现单片机的硬件资源极其匮乏,而C++有过于庞大复杂。于是green小组萌生了开发一门实用性更强的语言的想法。green小组在C++的基础上进行了改良,去除了不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言,这就是java的前身。
一.重点JDK版本 :
1.jdk1.5的特性
泛型、for-each循环、自动装包/拆包(Autoboxing/unboxing)、枚举(Enums)可变参数(Varargs)、静态导入(Static Imports)
2.jdk1.7的特性
3.jdk1.8的特性
4.jdk11 LTS
5.jdk17 LTS
6.jdk21 LTS
二.java的运行机制
1.定义xxx.java源代码 2.通过javac命令调用编译器(JDK)对源代码进行编译,编译成一份字节码文件 xxx.class 3.通过java命令调用解释器(JVM),对字节码文件xxx.class进行解释执行
JVM虚拟机给了java跨平台的能力 class文件跨平台 java : 一次编译,到处运行(前提看平台上是否存在JVM) C : 到处编译到处运行
三.jdk安装
1)下载jdk版本 2)双击傻瓜式安装 注意 : 安装目录,不要安装在中文目录下,包含中文字符,空格等目录 3)测试 cmd-->命令提示符窗口 java -version 检测版本 javac,java 命令测试执行,测试是否需要配置环境变量 注意 : jdk17版本开始可以不配置环境变量,就能够在任意路径下使用javac与java命令
四.环境变量
path : cmd中使用命令的时候,会在当前所在路径下检测是否存在这个命令 ,如果没有进一步会到path变量的路径中依次查找 作用 : 为了能够在任意路径下使用javac或者java命令 步骤 : 将jdk的bin路径配置到高级系统设置-环境变量-系统变量-path中
JAVA_HOME : 1)为了避免平凡修改path的值 2)类似tomcat启动时会检测JAVA_HOME classpath : 不需要配置,了解一下 class文件的路径 注意 : 如果修改了环境变量,都需要重新打开cmd
一个java文件中是否可以定义多个类??? 一个java文件中可以定义多个类,但是只能有一个类被public修饰,同时要求类名与文件名保持一致
//一个java文件中定义了几个类,编译之后就会存在几个class文件 //注意 : java以类为单位 //注意 : 如果出现乱码,一般为编码与解码格式不统一 public class Class001_Test{ //一个类中是否可以定义多个main方法? 不可以 public static void main(String[] args){ //输出语句 //print输出 //println输出之后换行 System.out.println("中国~~"); System.out.print(233); } } //一个类中可以没有main方法,但是不能直接解释执行这个类,否则会报错
//单行注释 /*多行 注释*/ /**文档注释*/ /** 什么是注释? 解释说明的文字 注释的作用 : 1.对程序的解释说明 2.便于后期维护 注释的分类 : 单行注释 : 作用域 : 只在当前行有效 位置 : 行的上面 | 行尾 颜色 : 绿色 嵌套 : 只能嵌套单行注释,不能嵌套多行与文档 多行注释 : 作用域 : 多行内有效 位置 : 类的上面 | 方法的上面 颜色 : 绿色 嵌套 : 只能嵌套单行注释,不能嵌套多行与文档 文档注释 : 作用域 : 多行内有效 位置 : 类的上面 | 方法的上面 颜色 : 蓝黑色 嵌套 : 只能嵌套单行注释,不能嵌套多行与文档 区别 : 1.在开发工具时候(idea...),在类的上面|方法的上面使用文档注释存在提示信息... 2.文档注释可以存在于API文档中 注意 : 注释的代码不会被编译 */ public class Class002_Note{ //类体的开始 /*主方法*/ public static void main(String[] args){ `` } ``` }
/** 标识符 : 一切起名字的地方的名字都是标识符 标识符的命名规则 : 1.组成 : 大小写英文字符,下划线_,美元符号$,数字任意组合而成,数字不能开头 2.关键字与保留字不能作为标识符使用 关键字 : 有一些单词已经被java语法使用 关键字全部小写 保留字 : 现在还没有被java语法占用,但是将来有可能会被使用 3.严格区分大小写 标识符的命名规范 : 1.见名之意 2.驼峰命名原则 包名 : 全部小写,多层级之间通过.连接 you.ji.xian 类名|接口名 : 每个单词首字母大写 YouJiXian 变量名|方法名 : 第一个单词全部小写,第二个单词开始每个单词首字母大写 youJiXian 常量名 : 全部大写,每个单词之间使用_连接 YOU_JI_XIAN */
public class Class003_Identifier{ public static void main(String[] args){ int i = 1; int I = 10; System.out.println(i); System.out.println(I); } }