当前位置:网站首页 > Java基础 > 正文

基础java教程



更好的阅读体验:点这里 ( )

1 Java 简介

1.1 Java语言概述

1.1.1 Java是什么

(了解一下即可,对学习没影响,总得了解一下它是怎么来滴~)

Java是由Sun公司(已被Oracle收购)的詹姆斯·高斯林(人称 Java之父)和麦克·舍林丹等人于1990年代初开发的一种编程语言,最初被命名为Oak,Oak的目标是作为家用电器等小型系统的编程语言,用于电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司发现Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。伴随着互联网的迅猛发展,Java逐渐成为重要的网络编程语言。

下图这个大胡子就是Java之父,看这锃光瓦亮的脑门,就知道有多资深了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.1.2 Java能干什么

1.1.2.1 用于B/S架构的系统的开发
什么是B/S架构
 
什么是C/S架构
 

(说白了就是开发网站的后台服务器。以前还用于开发网站前端页面,也就是JSP页面,现在没人用了,已凉凉。如果你看到一个项目时JSP开发的,那一定是祖传项目了,所以忽略JSP)

1.1.2.2 可用于移动开发

可以用于开发Android App应用。

1.1.2.3 可用于大数据开发

Hadoop以及其他大数据处理技术很多都是用 Java。

(刚入门呢,不扯那么远了,知道就行)

1.1.2.4 其他

嵌入式系统开发,Java当初被开发出来就是为了干这个的。

(现在基本没人用,凉凉)

1.1.3 Java历史版本

(了解一下历史,说白了就是Java一直在更新,看一下标黑的重要版本,增加了很多新特性,这里知道1.5和8是两个重大更新的版本就好了,细节学习的时候就知道了)

  • 1991年Green项目,开发语言最初命名为Oak (橡树)
  • 1994年,开发组意识到Oak 非常适合于互联网
  • 1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
  • 1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
  • 1998年,发布JDK 1.2,同年发布企业平台J2EE
  • 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
  • 2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
  • 2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
  • 2009年,Oracle公司收购SUN,交易价格74亿美元
  • 2011年,发布JDK 7.0
  • 2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
  • 2017年,发布JDK 9.0,最大限度实现模块化
  • 2018年3月,发布JDK 10.0,版本号也称为18.3
  • 2018年9月,发布JDK 11.0,版本号也称为18.9
  • 2019年3月20日,Java SE 12 发布。Java 12是短期支持版本。
  • 2019年9月23日,Java SE 13发布,此版本中添加了“文本块”,文本块是一个多行字符串文字,避免对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

1.1.4 Java技术体系平台

1.1.4.1 JavaSE(Java Standard Edition)标准版

(这个就是这个课程要学习的内容,就是Java基础,是学习Web开发和Android开发的基础)

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE。

1.1.4.2 JavaEE(Java Enterprise Edition)企业版

(这个是用来做Web开发的)

是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、JSP等,主要针对于Web应用程序开发,版本以前称为J2EE。

1.1.4.3 Java ME(Java Micro Edition)小型版

(已凉凉,不用学,非智能手机时代还被使用)

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。

(知道上面的JavaSE是基础,必须要学的;JavaEE是做Web开发的就好了,这里说的是不包括Android的,Android是Google公司开发的平台,不属于原生Java技术体系的)

1.1.5 Java主要特性

(很多,了解一下就好了,现在看这些文字,可能都不知道说什么,不要紧,先看一下大标题了解一下,这个需要在学习中慢慢体会,学完了课程再来看会更清楚)

1 面向对象

Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。使用 Java 语言开发程序,需要采用面向对象的思想设计程序和编写代码。

面向对象的三大特性:封装、继承、多态

 
2 平台无关性

平台无关性的具体表现在于,Java 是“一次编写,处处运行(Write Once,Run any Where)”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。

Java 语言使用 Java 虚拟机机制屏蔽了具体平台的相关信息,使得 Java 语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。

3 简单性

Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。对 Java 来说,它舍弃了很多 C++ 中难以理解的特性,如操作符的重载和多继承等,而且 Java 语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。

4 解释执行

Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。在运行文件时,Java 的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。

5 多线程

Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。Java 支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的 run() 方法,要执行的方法就写在 run() 方法体内。

6 分布式

Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等。Java 的 RIM 机制也是开发分布式应用的重要手段。

7 健壮性

Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。对指针的丢弃是 Java 的一大进步。另外,Java 的异常机制也是健壮性的一大体现。

8 高性能

Java 的高性能主要是相对其他高级脚本语言来说的,随着 JIT(Just in Time)的发展,Java 的运行速度也越来越高。

9 安全性

Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。除了 Java 语言具有许多的安全特性以外,Java 还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。

1.1.6 Java两种核心机制

1.1.6.1 Java虚拟机(Java VirtalMachine)

什么是Java虚拟机

通俗的讲,我们接触到的操作系统一般有windows、mac、linux,在windows系统编译的C和C++程序是无法在linux系统上运行的。但是Java可以”一次编译到处运行“,为什么可以呢?就是因为有Java虚拟机。Java虚拟机就像是”鞋子“,不同的操作系统相当于不同的路面,例如windows、mac、linux像是冰面、烂泥路、水泥路,在不同的道路上需要穿不同的鞋子,Java在不同的操作系统上有不同的虚拟机,相当于针对不同路面的鞋子,Java代码是运行在Java虚拟机中,相当于你的脚是穿了鞋子的。在不同的操作系统上运行,只是虚拟机不同,相当于换了鞋子,你的脚(你编译的代码)不用变。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面的图想说明:我们编写的代码,首先需要进行编译,编译完成,会得到.class为后缀名的字节码文件,然后执行的时候,由不同操作系统的JVM(Java虚拟机)解释执行。Java虚拟机在操作系统之上,屏蔽各个操作系统的差异,操作系统是运行在硬件之上,屏蔽了硬件的差异。

1.1.6.2 垃圾收集机制(Garbage Collection)

代码在执行的时候,需要动态的申请的内存空间存放数据,在C/C++等语言中,需要写代码去回收不用的内存空间。在Java中,由垃圾回收机制负责处理,我们在编写代码的时候,不需要考虑内存释放,解放了大脑。

 

虽然Java有垃圾回收机制,但是 Java程序还会出现内存泄漏和内存溢出问题!

1.2 Java开发环境搭建

本节内容主要讲解Java的开发环境的搭建。

1.2.1 JDK 和 JRE

在搭建开发环境之前,我们先明确两个概念,也就是 JDKJRE

1 什么是 JDK

JDK(Java Development Kit Java),即开发工具包,是提供给开发Java开发人员使用的,包括了很多开发工具,也包括了 JRE,所以安装了JDK,就不用在单独安装 JRE 了。其中的开发工具包括:编译工具(javac.exe))打包工具(jar.exe)等。

2 什么是 JRE

JRE(Java Runtime Environment Java),即运行环境,包括 Java虚拟机(JVM Java Virtual Machine)和 运行Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

总结:简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

3 JDK、JRE、JVM三者的关系

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • JDK = JRE + 开发工具集(例如Javac编译工具等)
  • JRE = JVM + Java SE标准类库

1.2.2 安装 JDK

安装主要的步骤就是:下载、安装、配置环境变量。

1.2.2.1 下载 JDK

(注:不同时期,官网的页面会发生变化,视情况而定。)

  1. 输入下载地址:https://www.oracle.com/downloads/
  2. 往下拉,看到Developer Downloads ,点击 java

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 点击 Java (JDK) for Developers

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择系统和要下载的版本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(注:有可能会提示先登录账号,才能下载。没账号的可以注册一个。)

1.2.2.2 安装 JDK

如果上面下载的是压缩版,直接解压到一个安装的目录就好了,安装路径不要有中文或者空格等特殊符号。

  1. 如果上面下载的是安装版,直接双击打开,点击下一步

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 安装 JDK

    选择 JDK 安装目录,安装路径不要有中文或者空格等特殊符号。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 安装 JRE

    选择JRE的安装目录。安装路径不要有中文或者空格等特殊符号。

    虽然 JDK 中包含了JRE,但是这里还是需要安装,因为如果用 Eclipse 来开发的话需要用到,如果不安装会报错。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 安装完成

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.2.2.3 配置环境变量
1 环境变量的作用是什么

打开命令行,在命令行中敲入javac,然后回车,会出现错误提示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为什么出错呢?这是因为在上面的目录找不到 javac 这个程序、文件或命令。

那 javac 在哪里呢?

javac 命令在 JDK 安装目录下的 bin 目录中,如果要执行 javac,必须先进入到 JDK 安装目录的 bin 目录下。

我们在命令行进入 JDK 安装目录下的 bin 目录下,然后执行 javac命令,就可以了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是每一次使用 java 的工具都要进入bin目录下,会非常麻烦,可不可以在任何目录下都可以执行java的工具的命令呢? 这个就需要配置环境变量。

2 配置方法
  1. 我的电脑,右键 属性

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 点击左侧 高级系统设置 ,在弹出的窗口中选择 高级 选项卡,然后点击 环境变量

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 点击 系统变量 下面的 新建 按钮

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在系统变量里新建一个选项,变量名为 JAVA_HOME 变量,变量值为 JDK 的安装的目录,例如:D:ProFilesJavajdk1.8.0_291

    (根据自己的 JDK 的安装路径填写,是 JDK 安装的目录。)

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    然后点击 确定 按钮。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 系统变量 中找到 Path 选项,然后点击 编辑 按钮

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    点击编辑按钮,显示 Path 选项配置。

  2. 点击右侧 新建

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    添加:%JAVA_HOME%bin,然后点击确定按钮。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意事项:

如果在第五步创建环境 JAVA_HOME 的时候,在你变量值最后有斜杠,这里编辑 Path 的时候就不需要加斜杠,也就是 %JAVA_HOME%bin ;如果 JAVA_HOME 最后没有斜杠,则这里需要配置为 %JAVA_HOME%bin。

 
  1. 验证是否成功

重新打开命令行,直接输入 javac,然后回车。如果出现javac的参数信息,配置成功。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3 HelloWorld

什么是HelloWorld

一般学编程语言的时候,写的第一个最简单的程序,通常打印一句话,话的内容通常是“Hello World”,后来通常用HelloWorld 表示第一个最简单的程序。

1 创建 Java 源文件

在电脑的任意目录,例如 文件夹下,右键创建一个文本文档。名称为 HelloWorld.java ,

编写代码内容如下:

 

注意,一定要设置电脑显示文件的扩展名,否则文件名可能会是HelloWorld.java.txt,.txt扩展名被隐藏了。

注意,上面的程序都是英文输入,不要输入中文的符号。

2 编译程序

在命令行,首先进入

 

然后依次进入 文件夹

 

然后就可以使用 命令来编译 Java 源程序,如下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

编译完成,会发现文件夹下多了一个 HelloWorld.class 文件,这个也就是 Java 字节码文件。

如果程序有错误,这里编译会报错。

3 运行程序

运行程序使用 + 。如下图:

基础java教程外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

运行程序后,会打印出 。这里运行的就是 Java 字节码文件,但是注意,命令后面没有 。

4 程序开发步骤

通过上面可以看出程序开发的步骤:

  1. 将 Java 代码编写到扩展名为 .java 的文件中,也就是 Java 源文件;
  2. 通过 javac 命令编译 Java 源文件,生成 .class 文件;
  3. 使用 java 命令运行 .class 文件。

1.4 Hello World 程序解析

 

解释一下上面的代码:

  1. 上面的 表示定义了一个类,类名为 ,Java 中所有的代码都需要在类中,这里的类名文件名相同;
  2. 是定义了一个方法,是程序的入口方法,程序启动,会从这里开始执行,书写格式是固定的,这么写就行了;
  3. 表示将字符串 打印到控制台,字符串需要使用双引号 括起来;
  4. Java语言严格区分大小写;
  5. Java方法由一条条语句构成,每个语句以 结束, 是英文格式的分号。
  6. 代码写错,编译会报错,自然也无法运行。

1.5 使用开发工具的HelloWorld

所谓工欲善其事必先利其器,我们上面使用记事本,只是了解 Java 程序运行的流程,

实际开发中,不可能使用记事本来撸代码,那纯粹是给自己找不舒服。所以要找到开发效率高的工具,当前的开发工具非 IDEA 莫属。

1 安装开发工具

是收费的软件,不过你懂得。也可以下载社区版,是免费的,这里学习是够用的。

地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安装这里就不介绍了,摸索一下,很简单。

2 创建项目

在编写代码之前,首先需要创建一个项目,在项目中编写我们的程序。

打开 IDEA,选择

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

填写项目信息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建完,项目结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3 创建Java文件

项目已经创建好了,然后我们在 src 目录下项目下新建一个 Java 的文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

填写文件名称,选择 类型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建完成,这里创建了 HelloWorld 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Java 文件以 结尾,但是在项目中是没显示扩展名,在电脑的磁盘中可以看到扩展名。

4 编写程序

在创建的文件中编写我们的 Hello World 程序:

 

编写完成 Java 代码,IDEA 会自动编译,如果有错误,会自动飘红。

5 运行

编写代码完成,可以点击左边的箭头,选择 ,可以直接运行程序。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

或者在文件的空白区域,右键 --> 选择 ,也可以运行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

运行后,在下面的 TERMINAL 终端,会显示执行结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6 生成的字节码文件

运行程序后,会在项目下生成一个 out 目录,在 out 目录下会发现也有一个 HelloWorld 程序,而且程序和我们写的差不多。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其实这个是我们写的代码编译成的 Java 字节码文件,可是看到扩展名为 。

如果你在电脑的文件系统中找到 文件,你会发现是无法打开和显示成上面的代码的,但是在 IDEA 中之所以你能看到 中的代码,是 IDEA 工具将字节码反编译为 Java 代码,所以才重新看到 .class 字节码文件对应的 Java 代码。

  • 上一篇: 北京java基础
  • 下一篇: java基础 学php
  • 版权声明


    相关文章:

  • 北京java基础2025-04-29 08:50:01
  • java基础授课视频2025-04-29 08:50:01
  • java窗口基础2025-04-29 08:50:01
  • 没有java基础书2025-04-29 08:50:01
  • Java基础交换2025-04-29 08:50:01
  • java基础 学php2025-04-29 08:50:01
  • 小码哥java基础2025-04-29 08:50:01
  • 最基础java语句2025-04-29 08:50:01
  • java基础部分试题2025-04-29 08:50:01
  • java基础100题2025-04-29 08:50:01