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程序的核心。

java是面向过程吗 java是面向对象的吗_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_02


          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程序的执行原理?

java是面向过程吗 java是面向对象的吗_java是面向过程吗_03

      先编译,后运行       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.自动垃圾回收机制。