一 . java语言概述——Java基础
发展阶段:
发行版本 | 发行时间 | 备注 |
---|---|---|
Java 1.0 | 1996.01.23 | Sun公司发布了Java的第一个开发工具包 |
Java 1.1 | 1997.02.19 | JavaOne会议召开,创当时全球同类会议规模之最。 |
Java 1.2 | 1998.12.08 | Java拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版) |
Java 1.3 | 2000.05.08 | |
Java1.4 | 2004.02.06 | |
Java 5.0 | 2004.09.30 | ①版本号从1.4直接更新至5.0;②平台更名为JavaSE、JavaEE、JavaME |
Java 6.0 | 2006.12.11 | 2009.04.20 Oracle宣布收购SUN公司 |
2009.04.20 | Oracle公司收购SUN,交易价格74亿 美元。 | |
Java 7.0 | 2011.07.02 | |
Java 8.0 | 2014.03.18 | 此版本是继Java 5.0以来变化最大的版本。是长期支持版本(LTS) |
Java 9.0 | 2017.09.22 | ①此版本开始,每半年更新一次;②Java 9.0开始不再支持windows 32位系统 |
Java 10.0 | 2018.03.21 | |
Java 11.0 | 2018.09.25 | JDK安装包取消独立JRE安装包,是长期支持版本(LTS) |
Java 12.0 | 2019.03.19 | |
… | … | |
Java17.0 | 2021.09 | 发布Java 17.0,版本号也称为21.9,是长期支持版本。 |
… | … | |
Java19.0 | 2022.09 | 发布Java19.0,版本号也称为22.9。 |
一、Java语言的优缺点
1、跨平台性:多平台使用,linux、macOS、window,编写一个Java代码,可以在多个平台中使用,在不同系统上安装不同版本的JVM,
将其称为“write once,Run anywhere”,JVM包含在JDK中,各个系统的JDK不一样。2、面向对象性:是一种程序设计技术,非常适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚、低耦合的标准。3、健壮性:吸收了c/c++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请和释放等),提供了一个相对安全的内存管理和访问机制。4、安全性高:5、简单性:6、高性能:通过JIT(JUST IN TIME)即时编译技术提高运行效率。缺点:
1、语法过于复杂、严谨
2、一般适用大型网站开发,整个架构会比较重。
二、JVM功能说明
1、JVM:Java虚拟机,是一个虚拟的计算机,时Java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。
2、功能1:实现Java程序的跨平台性
3、功能2:制动内存管理(内存分配、内存回收)
面试题:Java程序还会出现内存溢出和内存泄漏问题吗?
YES!
1、一个“.java”源文件中是否可以包含多个类?有什么限制?
是!
一个源文件中可以有多个类,但是的最多智能有个public进行声明,且要求public的类的命名要与源文件名相同,
2、Java的优势?
跨平台性:多平台使用,linux、macOS、window,编写一个Java代码,可以在多个平台中使用,在不同系统上安装不同版本的JVM,
将其称为“write once,Run anywhere”,JVM包含在JDK中,各个系统的JDK不一样。
面向对象性:是一种程序设计技术,非常适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚、低耦合的标准。健壮性:吸收了c/c++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请和释放等),提供了一个相对安全的内存管理和访问机制。
安全性高:简单性:高性能:通过JIT(JUST IN TIME)即时编译技术提高运行效率。
重:有大量的开源框架
3、常用的几个命令行操作有哪些?
总结:
1、Java程序编写和执行的过程
步骤1:编写。将Java代码编写在.java结尾的文件中
步骤2:编译。针对与.Java结尾的源文件进行编译操作。格式:javac 源文件.java
步骤3:运行。针对于编译后生成的字节码文件,进行解释运行。格式:java 字节码文件名2、针对于步骤1的编写说明class HelloChina{public static void main(String[] args){System.out.println("hello,world!!中国");}
}其中,
① class:关键字,表示“类”,后面跟着类名。
② main()方法的格式是固定的。public static void main(String[[] args)如果非要有些变化,只能变化String[[] args结构。可以写成:方式1:String args[] 方式2:String[] aargs:全程是arguments,简写成args③ Java程序中,严格区分大小写。
④ 从控制台输出数据的操作:System.out.println("输出的信息");输出数据会换行System.out.print("输出的信息");输出数据不会换行
⑤ 每一行执行语句要以“;”结束。3、针对于步骤2编译的说明。
① 如果编译不通过。可以考虑的问题:问题1:查看编译的文件名、文件路径是否出现错误问题2:查看代码中是否语法、编写错误
② 比那一以后,会生成1个或者多个字节码文件。每一个字节码对应一个java类,并且字节码文件名与类名相同。补充:JDK中有JRE,JRE中有JVM
class HelloJava{public static void main(String[] args){System.out.println("world word");}
}4、针对于步骤3运行的说明。
① 我们针对于字节码文件对应的Java类进行的。
要注意区分大小写!
② 如果运行不通过,可以考虑的问题:
问题1:查看解释运行的类名、字节码文件路径是否书写错误。
问题2:可能存在运行时的异常。5、一个源文件中可以声明多个类,但是最多智能有一个类使用public进行声明。
且要求声明为public的类的类名与源文件相同。
老师:
一.计算机的组成 软件 硬件计算机语言的发展 机器语言 汇编语言 高级语言
二.java发展史java之父 詹姆斯高斯林SUN --> Oracle
三.JDK的卸载和安装
四.环境变量的配置
为什么配置?
如何配置
问题:‘javac’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
为什么配置环境变量: 想要在任何位置都能使用 java javac
如何配置:
方式一:
将jdk安装目录bin一层 放到环境变量中系统变量的path内即可
我的电脑 --> 右键–> 属性–> 高级系统设置–> 环境变量–> 系统变量–> path–>
新建 将jdk安装目录bin一层 粘贴进去
C:\Program Files\Java\jdk-17\bin
一路确定下去 关闭之前的dos窗口 重写打开 输入javac 进行测试
方式二: 新建一个环境变量JAVA_HOME
为什么配置JAVA_HOME?
java已经成为一个平台 为了给其他软件使用java提供一个窗口
如何配置:
系统变量中 新建一个环境变量JAVA_HOME
变量名: JAVA_HOME
变量值: C:\Program Files\Java\jdk-17 (jdk安装目录bin的上一层)
环境变量中:系统变量: 所有用户有效用户变量: 针对当前用户有效方式一复用JAVA_HOMEC:\Program Files\Java\jdk-17\bin%JAVA_HOME%\bin
六.动态编译技术
运行一个java文件需要三步:
1.写源代码 Xxx.java
2.编译 javac Xxx.java
3.运行 java Xxx
-------------------
jdk11后有了动态编译的技术 直接将.java文件 动态运行 不需要再显示的产生.class文件
运行一个java文件需要2步:
1.写源代码 Xxx.java
2.运行 java Xxx.java
七.打印语句
print()
println()
\t \n
八.注释
注释: 对代码起解释说明的作用
注释的分类:
单行注释://
多行注释: /* * /
文档注释: /** * /
注意:
1.多行注释 和文档注释 不能嵌套使用
2.注释不参与编译
3.反编译
.java --> .class 编译
.class --> .java 反编译
九.标识符
标识符: java 对类 方法 变量 等命名时采用的字符序列
命名规则:
1.字母数字下划线_美元符$组成
2.数字不能开头
3.不能是java中的关键字保留字和其他特殊字符 true false null
4.严格区分大小写
命名规范:
1.见名之意
2.对类进行命名时 所有单词首字母大写 HelloWorld IdentifierTest XxxYyyZzz
3.对变量方法进行命名时 第一个单词首字母小写从第二个单词开始首字母大写 xxxYyyZzzgetNum getUserName4.对包进行命名 所有的字母都小写 com.atguigu.oop5.对常量进行命名时 所有的字母都大写 单词与单词之间使用下划线连接MAX_VALUE MIN_VALUE
十.数据类型
java的数据类型:
基本类型数据:四类八种
整数类型:
byte short int long
浮点类型:
float double
布尔类型:
boolean
字符类型:
char
引用类型数据:只要不是基本数据类型 那么就是引用数据类型String ""数组 对象
六.动态编译技术
运行一个java文件需要三步:
1.写源代码 Xxx.java
2.编译 javac Xxx.java
3.运行 java Xxx
jdk11后有了动态编译的技术 直接将.java文件 动态运行 不需要再显示的产生.class文件
运行一个java文件需要2步:
1.写源代码 Xxx.java
2.运行 java Xxx.java