Java | Java 入门

一、计算机语言发展史

  • 第一代语言:机器语言(二进制)
  • 第二代语言:汇编语言(指令代替二进制)
  • 第三代语言:高级语言(分为面向过程面向对象两大类)
    • C 语言是典型的面向过程的语言。
    • C++Java是典型的面向对象的语言。

二、初识 Java

2.1 Java 帝国的诞生

2.1.1 C & C++

  • 1972C 语言诞生
    • 优点:贴近硬件,运行极快,效率极高。
    • 缺点:指针和内存管理。
    • 应用:操作系统,编译器,数据库,网络系统等。
  • 1982C++ 语言诞生
    • 优点:面向对象。
    • 缺点:复杂难学。
    • 应用:图形领域、游戏等。

2.1.2 Java

  • 我们想要建立一个具有下列特点的新的语言:
    • 语法有点像 C
    • 没有指针
    • 没有内存管理
    • 真正的可移植性,编写一次,到处运行(JVM
    • 面向对象
    • 类型安全
    • 拥有高质量的类库

1. Java 初生

  • 1995 年的网页简单而粗糙,缺乏互动性。于是创造了图形界面的程序(Applet),Java声名鹊起。
  • 1995 年 - 1997 年,Java 迅速崛起,但是因为仅有图形界面的程序(Applet)而受到诟病。
  • 1998 年,Java 王国派出三支部队进行扩张
    • Java 2 标准版(J2SE):去占领桌面。由于开发桌面应用的程序员不接受 Java,因此失败。
    • Java 2 移动版(J2ME):去占领手机。由于手机应用没有兴起,因此失败。
    • Java 2 企业版(J2EE):去占领服务器。赶上了互联网的发展,成功被开发者接受,引来了大量巨头公司加入, 授权 BEA 公司,第一个使用了 J2EE 许可证,推出了 weblogic 应用服务器,凭借着集群功能第一次展示了复杂应用的可扩展性和高可用性(程序员们的三高:高并发、高性能、高可用)。

2. Java 发展

  • 程序员基于 Java 开发了巨多的平台、系统、工具
    • 构建工具:AntMavenJekins
    • 应用服务器: TomcatJettyJbossWebsphereweblogic
    • Web 开发:StrutsSpringHiberbateMyBatis
    • 开发工具:EclipseNetBeansIntelliJ IDEAJbuilder
  • 2006 年:Hadoop(大数据领域)
  • 2008 年:Android(手机端)

2.2 Java 特性和优势

  • 简单性(简洁版 C++
  • 面向对象
  • 可移植性(跨平台性)write once, run anywhere
  • 高性能
  • 分布式
  • 动态性(反射)
  • 多线程
  • 安全性
  • 健壮性

2.3 Java 三大版本

  • JavaSE:标准版(桌面程序,控制台开发…)
  • JavaME:嵌入式开发(手机,小家电…)
  • JavaEE:企业级开发(web端,服务器开发…)

2.4 JDK、JRE、JVM

  • JDKJava Development KitJRE 基础上扩充一些开发工具)
  • JREJava Runtime Environment(安装 JRE 即可运行 Java程序)
  • JVMJava Virtual Machine(可以使用软件或硬件实现)

2.5 Java 开发环境搭建

2.5.1 JDK 下载与安装

  • 官网 https://www.oracle.com/java/technologies/downloads/ 下载安装包
  • 双击安装包
  • 配置环境变量
    • 创建 JAVA_HOME 环境变量
    • Path 环境变量中添加 %JAVA_HOME%\bin%JAVA_HOME%\jre\bin
    • 解决JDK 17中没有 JRE 的方法:
      • 使用管理员模式打开 CMD
      • 进入 JDK 的安装目录:cd C:\Program Files\Java\jdk-17.0.1
      • 生成 JREbin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
    • CMD 中验证:java --version 输出版本信息
  • JDK 卸载
    • 通过 JAVA_HOME 环境变量找到 JDK 安装位置并删除
    • 删除 JAVA_HOME 环境变量
    • 删除 Path 环境变量中与 JAVA_HOME 相关的变量
    • CMD 中验证:java --version 报错
  • JDK 目录介绍

2.5.2 EditPlus 安装

  • Notepad++ 涉嫌反华,坚决抵制使用!!!
  • 官网 https://www.editplus.com/ 下载安装包
  • 双击安装包
  • 亲测可用:用户名:Vovan,密码:3AG46-JJ48E-CEACC-8E6EW-ECUAW
  • 关闭自动备份:Tools → \pmb{\rightarrow} Preferences... → \pmb{\rightarrow} Categories(Files) → \pmb{\rightarrow} 去除create backup file when saving勾选 → \pmb{\rightarrow} OK

2.6 HelloWorld 及简单语法规则

  • 随便新建一个文件夹(建议命名 code),存放代码
  • 新建一个 Java 文件(创建文件,后缀名修改为.java即可。建议命名 HelloWorld.java
    • 注:系统如果不显示后缀,需要手动修改设置。
  • 编写第一个 Java 程序
    public class HelloWorld{
          
          
    	public static void main(String[] args){
          
          
    		System.out.println("Hello world!");
    	}
    }
    
  • 打开控制台CMD,进入到 HelloWorld.java 文件所在目录
  • 编译成字节码文件:javac HelloWorld.java
    • 编译成功:CMD 不报错,HelloWorld.java 文件所在目录中生成 HelloWorld.class 文件
  • 运行生成的 .class 文件:java HelloWorld(不用写后缀名,java 指令会自动识别)
    • 运行成功:CMD 不报错,输出 Hello world!
  • 注意事项:
    • 每个单词的大小写不能出现问题,因为 Java 是大小写敏感的编程语言
    • 文件名类名class 修饰的单词)必须保证一致,并且首字母大写
    • 尽量使用英文,且符号必须使用英文符号
  • 语法:
    • public class 表示一个类,HelloWorld 表示类名。
    • public static void 表示一些修饰符,后续文章中详细讲解。
    • mainJava 中的主方法,程序必须通过 main 方法运行。
    • String[] argsmain 方法的参数,后续文章中详细讲解。
    • System.out.println 表示输出,后续文章中详细讲解。

2.7 Java 程序运行机制

\quad 计算机不能直接理解 Java 这种高级语言,只能理解和运行机器语言,所以需要将高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。翻译的方式有两种:一种是编译,另一种是解释,两种方式只是翻译的时间不同。因此,高级语言有两种类型:编译型语言解释型语言。常见的编译型语言C/C++DelphiPascalFortran等。常见的解释性语言PythonJavaScript等。

\quad 随着硬件与技术的发展,当前编译型与解释型的界限已经不那么明确,由于计算机内存的增加,解释型语言运行速率也不断提升。

2.7.1 编译型语言

\quad 程序在运行之前需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高级语言翻译成机器语言,运行时不需要重新翻译,直接使用编译的结果即可。优点:编译一次,永久执行,运行效率高,保护源代码。缺点:跨平台能力差。

2.7.2 解释型语言

\quad 解释型语言需要一个解释器,在程序运行的时候将高级语言翻译成机器语言,每个语句都是执行的时候才被翻译,这样解释型语言每执行一次就要被翻译一次。优点:跨平台性能好。缺点:运行时需要源代码,知识产权保护性差,运行效率低。

2.7.3 Java 语言

Java 这个语言很神奇:

  • 你可以说它是编译型的。因为所有的 Java 代码都是要经过编译生成 .class 文件,.java 文件不经过编译就什么用都没有。
  • 你可以说它是解释型的。因为 Java 代码经过编译生成的 .class 文件不能直接运行,.class 文件是需要解释运行在 JVM 虚拟机上的,所以 Java 又是解释运行的。

2.8 IDEA 安装

2.8.1 什么是 IDE

\quad 维基百科:集成开发环境(Integrated Development Environment,简称 IDE,也称为 Integration Design EnvironmentIntegration Debugging Environment)是一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本、并编译打包成为可用的程序,有些甚至可以设计图形接口。

\quad 百度百科:集成开发环境(IDEIntegrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

2.8.2 IDEA 介绍

\quad IDEA 全称 IntelliJ IDEA,是 Java 编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 Java 开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gitsvn 等)、JUnitCVS 整合、代码分析、 创新的 GUI 设计等方面的功能可以说是超常的。IDEAJetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTMLCSSPHPMySQLPython 等。免费版只支持 JavaKotlin 等少数语言。

2.8.3 IDEA 安装

  • 官网:https://www.jetbrains.com/idea/download/#section=windows 下载安装包
  • 双击安装包,自行注册激活
  • 使用 IDEA 编写 HelloWorld程序
    • 打开软件,选择 New Project → \pmb{\rightarrow} Project SDK(选择已经安装的 jdk → \pmb{\rightarrow} Next → \pmb{\rightarrow} 勾选 Create project from template → \pmb{\rightarrow} Next → \pmb{\rightarrow} 命名项目(HelloWorld)、选择项目保存位置、设置包名(Hello → \pmb{\rightarrow} Finish
    • 自动生成模板:
      package HelloWorld;
      
      public class Main {
              
              
      
          public static void main(String[] args) {
              
              
      	// write your code here
          }
      }
      
    • 补全完整代码:
      package HelloWorld;
      
      public class Main {
              
              
      
          public static void main(String[] args) {
              
              
      	// write your code here
              System.out.println("Hello world!");
          }
      }
      

猜你喜欢

转载自blog.csdn.net/m0_52650517/article/details/121017939