1.java概述
1.1.java是什么?
Java是一门面向对象编程语言[程序设计语言].
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
1.2.面向对象是什么?它的基本特征是什么?
面向对象(Object Oriented)是软件开发方法
。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
1、面向过程/面向对象他们都是软件开发方法,实质上是一种编程思想。
例如:从电视塔到钟楼。
通过面向过程的编程思想体现一下完成从电视塔到钟楼这个动作。
假设从电视塔到钟楼坐215路公交车。
需要沿途记录你所经过的每一站。
电视塔–》吴家坟–》西北政法—》…–》钟楼,沿途记录你所经过的每一站就保存了一个过程。
面向过程就是在执行的时候需要记录/保存下,每一步的具体操作从而形成一个过程。
通过面向对象的编程思想体现一下完成从电视塔到钟楼这个动作。
假设从电视塔到钟楼坐滴滴打车。
需要告诉司机要到钟楼。这时要到的地方钟楼就是一个传递给司机的一个对象。
面向过程的编程思想-----C语言 – 指针 。
面向过程+面向对象------ C++ — 类 多继承,指针。
面向对象的编程思想-----java—类单继承。
面向对象的基本特征是什么?
1.抽象--
抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。
将我们看到感受的东西,抽取出来,通过java语言的方式描述程序出来的元素,这个抽取描述的过程就是抽象。
抽–抽取。
象–很象【很接近】同类。
抽取同类的过程--抽象
。
将我们看到感受的东西抽取同类形成的
java的元素的过程–抽象
。
抽取事物的公共性质通过
java编程语言表达出来这个和过程就是抽象。
2.封装--
将原本分散处理的数据集中在一起统一管理、保存。
3.继承--
孩子从父母那里得到财产。
4.多态--
同一类事物,在不同的环境下表现出很多种状态/形态。
1.3.java的三大版本以及它们的区别?
Java分为三大版本,Java SE,Java EE,java ME
2005年之前 | 2005年之后 | 中文名称 | 用途 |
J2SE | Java SE | 标准版 | 允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition Java EE提供基础。 C【客户端】/S【服务器】结构的应用。 |
J2EE | Java EE | 企业版 | 帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 B【浏览器】/S【服务器】 结构的应用 Web应用程序 |
J2ME | Java ME | 微型版 | 包含了JavaSE中部分类库,又有自己扩展部分,主要用来做移动类设备、嵌入式开发。 |
1.Java SE是学习Java EE或者Java ME的基础
,如果没有学习过Java SE我们在学习Java EE或者Java ME的时候,会很困难。
2.当我们学习过了Java SE以后,摆在我们面前的出路就有3条,我们可以根据自己的实际情况选择学习其中一种,又或者2类都学。
我们就需要先学习java SE。
1.4.JDK是什么?由几部分组成?每一部分是什么?
1.JDK–是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包。
最新的版本Java SE 15==JDK 15
官网地址:https://www.oracle.com/java/technologies/javase-downloads.html 历史版本: https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
2.JDK由几部分组成?
JDK由2部分组成
1.java开发工具集和常用的java类库 [开发java程序]。
2.JRE–Java Runtime Environment(JRE) Java运行环境 [运行java程序]。
结果:JDK既可以开发java程序,也可以运行java程序。
当我们仅仅只是为了运行java程序的话,那么我们可以选择值安装JRE。
JRE由2部分组成。
1.运行类库。
2.JVM–Java Virtual Machine(Java虚拟机) JVM是运行java程序的核心虚拟机,还需要其他的类加载器,字节码校验器,以及大量的基础类库。
结果:JDK中的JRE之所以能够运行java程序,是因为JRE中包含了JVM,而JVM是运行java程序的核心。
学习JavaSE,需要JDK,而JDK分为2部分,
第一部分,开发工具集和常用类库 [开发java程序]
第二部分,JRE[运行java程序]
JRE由2部分
第一部分,运行类库
第二部分,JVM
1.5.JDK安装和环境变量配置?
JDK安装
1.为了不把JDK安装在C盘,我们在D盘新建java的文件夹用来保存jdk和jre。
2.双击“jdk-8u162-windows-x64.exe”,修改安装路径,一路next。
环境变量配置。
如果我们需要在命令行下编译/运行java程序,就需要配置环境变量。
计算机—》右键—》属性—》高级系统设置—》高级----》环境变量—》系统变量。
1.配置JAVA_HOME
新建----变量名称: JAVA_HOME
变量值: jdk安装路径 例如:D:\java\jdk8.0
2.配置Path
选中Path—》编辑。
变量名称: Path
变量值: 最前面添。加”%JAVA_HOME%\bin;”
3.配置CLASSPATH
新建—变量名称: CLASSPATH
变量值: “.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”
上述的环境变量配置,只能输入纯英文字符,绝对不能出现中文字符,包括标点符号。
测试JDK的安装和环境变量的配置。
开始—cmd—命令提示行— java -version
C:\Users\Administrator>java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
表示安装和环境变量配置正常。
通过记事本编写一个简单的java程序来运行一下。
1.指定的位置下【F:\20200728\java基础\20200729java(1)\code】,创建一个记事本文件。
2.打开新建的记事本文件,输入java代码。
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello,World");
}
}
3.Ctrl+S保存刚才编写的java代码,关闭记事本。
4.修改记事本文件的名称
原来:新建文本文档.txt。
修改以后: java代码中class后面的单词.java
例如:HelloWorld.java
Java源文件—以”.java”结尾/作为后缀名的文件就是Java源文件
。
5.开始–>cmd–>打开命令提示行。
6.切换命令提示行路径到java源文件所在位置。
C:\Users\Administrator> —》 F:\20200728\java基础\20200729java(1)\code
例如:
C:\Users\Administrator>f:
F:>cd 20200728\java基础\20200729java(1)\code
F:\20200728\java基础\20200729java(1)\code>
7.在java源文件所在位置的路径下输入java源程序编译指令。
javac java源文件名称包含后缀名。
例如:
F:\20200728\java基础\20200729java(1)\code>javac HelloWorld.java
编译成功以后会在java源文件所在位置的目录下得到一个对应的”.class”文件。
Java字节码文件【Class文件】–以”.class”结尾/作为后缀名的文件就是Java字节码文件。
Java字节码文件我们是看不懂的,但是JVM可以执行。
8.在java源文件所在位置的路径下输入java字节码文件运行指令。
java 编译后的字节码文件名称,没有后缀名。
例如:
F:\20200728\java基础\20200729java(1)\code>java HelloWorld
Hello,World
1.6.java程序的执行原理?
先编译,后运行
1. 源文件(.java源代码)通过编译器编译成字节码文件class。
2. 通过JVM中的类加载器加载需要被执行的字节码文件。
3. 再通过JVM中的字节效验器效验字节文件是否合法。
4.以上加载和效验无误后通知操作系统执行对应的硬件驱动。
5. 运行时,JVM创建线程来执行代码,在虚拟机栈和程序计数器分配独占的空间。根据方法区里的指令码,在虚拟机栈对线程进行操作,程序计数器保存线程代码执行到哪个位置。
“一处编写,处处运行”:编译后,不依赖于平台环境,在各种操作系统均可运行。
1.7.java语言的特点?
1.面向对象【抽象,封装,继承,多态】
2.跨平台{平台—》操作系统}【一次编译,到处使用】
Windews 32 操作系统------编写了一个C程序----放在Linux操作系统—运行。
1.在Linux操作系统重写编写一次。
2.将Linux操作系统换成Windews 32 操作系统。
没有做到跨平台。
Windws 64 操作系统------编写了一个java程序—放在Linux操作系统—运行。
1、只需要在Linux操作系上安装一个JDK[开发工具集和JRE]。
2、将Windws 64 操作系统上的java程序编译成字节码文件,在Linux操作系上安装一个JRE。
3.多线程【并发】。
4.异常处理【就像人生病去看医生】。
5.自动垃圾回收机制。