1.1JAVA的发展史
年份 | 版本/里程碑 | 主要特点和改进 |
1991 | Oak开发 | 开发开始,用于嵌入式系统 |
1995 | Java发布 | 改名为Java,跨平台特性 |
1996 | Java 1.0发布 | Java虚拟机和类库引入 |
1997 | Java 1.1发布 | 泛型、自动装箱/拆箱、枚举类型和注解等 |
1998 | Java 2发布 | Java Servlet API、JSP和Java 2D图形库等 |
2000 | J2SE发布 | 功能和性能改进,垃圾回收器 |
2002 | Java 1.4发布 | 正则表达式、NIO和XML处理等 |
2004 | Java 5发布 | 泛型、自动装箱/拆箱、枚举类型和注解等 |
2006 | Java 6发布 | 性能、稳定性和安全性改进 |
2011 | Java 7发布 | 字符串switch、try-with-resources和多异常捕获等 |
2014 | Java 8发布 | Lambda表达式、函数式接口、Stream API和新日期/时间API等 |
2020 | Java 15发布 | 文本块、记录类型和ZGC等 |
1.2JAVA技术体系平台
JavaSE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的java平台,提供了完整的Java核心API,此版本以前称为J2SE。
JavaEE(Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术中包含的技术如:Servlet、Jsp等,只要针对于Web应用程序开发,版本以前称 为J2EE。
JavaME(Java Micro Edition)小型版
支持Java程序运行在移动端(手机、PAD)上的平台,对java API有所精简,并加入了针对移动端的支持,此版本以前称为J2ME。
1.3JAVA的特点
1.java语言是面向对象的(oop)
2.java语言是健壮的,java的强类型机制、异常处理、垃圾的自动收集等是java健壮性的重要保证。
3.java语言是跨平台性的,即一个编译好的class文件可以在多个系统下运行。
4.java语言是解释型的,解释型语言:JavaScript、PHP、java,编译型语言:c、c++,区别是:解释型语言编译后的代码不能直接被机器执行,需要解释器来执行,编译型语言编译后的代码,可以直接被机器执行。
1.4JAVA的运行机制
1.编写java代码:程序员编写代码
2.编译java代码:java的源代码需要经过编译器来进行编译,将其转换为字节码,java编译器将源文件编译成jvm可以识别的.class文件
3.java虚拟机(JVM)加载字节码:jvm负责执行java程序,当我们运行java程序时,jvm会加载编译后的字节码文件(.class文件)
对于JVM的补充:JVM它是java运行的环境,是一个虚拟计算机,主要任务就是解释执行java的字节码,总结,JVM是Java程序运行的核心,它提供了必要的环境和机制来解释、编译和执行Java字节码,实现Java语言的特性和跨平台能力
1.5什么是JDK、JRE
JDK(Java Development Kit)和JRE(Java Runtime Environment)都是java开发和运行环境的组成部分。
JDK是java开发工具包,它包含了编译器、调试器、开发工具和其他用于开发java应用程序的工具,JDK适用于开发人员。
JRE是java运行环境,它包含了java程序运行所需的一切组件,包括java虚拟机(JVM)、java类库和其他运行时环境所需的文件。
总结:JDK是用于开发java应用程序的工具包,JRE是用于运行java应用程序的运行环境,JDK里面包含着JRE
1.6下载安装JDK
安装方式:傻瓜式安装,直接下一步即可
安装的路径不要有中文或者特殊符号
1.7配置环境变量
配置环境变量可以使操作系统正确识别和执行java命令和程序,方便开发和运行java应用
我的电脑——属性——高级系统设置——环境变量——系统变量——增加JAVA_HOME环境变量(变量名是JAVA_HOME,变量值是JDK的安装目录)——编辑path环境变量——增加%JAVA_HOME\bin%
最后打开DOS命令行,任意目录下输入javac/java,如果出现javac的参数信息,配置成功
1.8java开发快速入门
public class Hello {
// 编写一个main方法
public static void main (String[] args) {
System.out.println("hello,worid");
}
/*
1.public class Hello 表示hello是一个类,
public公有的类,
class类,
hello是一个类名,
{}代表一个类的开始与结束
2.public static void main (String[] args)表示一个主方法,
即程序的入口
3.main() {}大括号代表方法的开始与结束
4.System.out.println("hello,worid");输出语句
*/
class Dog{
}
/*
一个源文件中最多只能有一个public类,其他类个数不限
Dog是一个类
编译后每一个类,都对应一个.class
也可以将main方法写在非public类中,然后指定运行非public类
这样入口方法就是非public的main方法
*/
}
1.9JAVA转义字符
// 转义字符
public class ChangeChar {
public static void main (String[] args) {
// \t:制表位置 实现对齐功能 结果:你 好
System.out.println("你\t好");
// \n:换行符 结果:你
// 好
System.out.println("你\n好");
// \\:一个\ 就是路径中的\ 结果:你\好
System.out.println("你\\好");
//结果:你\\好
System.out.println("你\\\\好");
// \":一个” 结果:你说:"你好啊"
System.out.println("你说:\"你好啊\"");
// \r:一个回车 结果:不错今天天气真
System.out.println("你好今天天气真\r不错");
System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");
}
}
1.10JAVA中注释
单行注释 //
多行注释 /**/
文档注释/** */