Java 基础入门 | 第一章:认识Java语言

简介: 1.Java语言的发展历程2.Java语言的特性3.Java开发环境的搭建4.第一个Java程序的编写

 1.Java语言的发展历程

    • 1995 年 ,Java 语言诞生
    • 1996 年,第一个 JDK-JDK1.0 诞生
    • 1997 年,JDK1.1 发布
    • 1998 年,JAVA2 企业平台 J2EE 发布
    • 1999 年SUN 公司发布 Java 的三个版本:   标准版(J2SE, 后来改为JavaSE)、企业版(J2EE, 后来改为JavaEE )、微型版(J2ME,后来改为JavaME)
    • 2000 年,JDK1.3 、JDK1.4发布
    • 2001 年,J2EE1.3 发布
    • 2002 年,J2SE1.4 发布,自此 Java 的计算能力有了大幅提升
    • 2004 年,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5 更名为 Java SE 5.0
    • 2005 年 ,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME
    • 2006 年,SUN 公司发布 JRE6.0
    • 2009 年 04 月 20 日,甲骨文 74 亿美元收购 Sun,取得 Java 的版权。
    • 2011 年,甲骨文发布 Java7.0 的正式版。
    • 2014 年,Oracle 公司发表 Java SE 8。
    • 2017 年,Oracle 公司发表 Java SE 9。
    • 2018 年,Oracle 公司发表 Java SE 10。
    • 2018 年,Java SE 11 发布。
    • 2019 年,Java SE 12、Java SE 13发布。
    • 2020年, Java SE 14、Java SE 15发布。
    • 2021 年,Java SE 16、Java SE 17发布。

    2.Java语言的特性

      • Java 语言是简单的:
        Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
      • Java 语言是面向对象的:
        Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
      • Java语言是分布式的:
        Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
      • Java 语言是健壮的:
        Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
      • Java语言是安全的:
        Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
      • Java 语言是体系结构中立的:
        Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
      • Java 语言是可移植的:
        这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
      • Java 语言是解释型的:
        如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
      • Java 是高性能的:
        与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
      • Java 语言是多线程的:
        在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
      • Java 语言是动态的:
        Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

      3.Java开发环境的搭建

      下载JDK

      首先我们需要下载 java 开发工具包 JDK,下载地址 Java Downloads | Oracle

      在下载页面中先选择你要下载的jdk版本(一般下载2年前之前的版本,因为其他开源工具对jdk最新版本的支持没有那么快)这里我以jdk11为例。点击进入下载页面,根据自己的系统选择对应的版本,点击下载(下载老版本需要注册登录),本文以 Window 64位系统为例:

      image.gif编辑

      image.gif编辑

      双击exe文件安装

      image.gif编辑

      选择安装磁盘目录,不选就是默认目录

      image.gif编辑

      点击下一步,等待安装完毕后,点击关闭。

      image.gif编辑

      接下来就是配置系统环境变量

      windows搜索框里输入 : 环境变量  ,点击进入。

      image.gif编辑

      点击 环境变量进入

      image.gif编辑

      点击新建,变量名 为 JAVA_HOME,变量值为 安装jdk的目录,点击确定

      image.gif编辑

      查找系统变量里的Path,点击编辑

      image.gif编辑

      点击新建,输入 %JAVA_HOME%\bin 后,点击确定。关闭所有弹窗,环境变量配置完成。

      image.gif编辑

      验证jdk是否安装配置成功, windows 搜索框里 输入 cmd 回车,进入命令窗口

      image.gif编辑

      输入   java  -version  验证,如果结果如下图所示代表JDK安装配置成功。

      image.gif编辑

      4.第一个Java程序的编写

      第一步

      新建一个TXT文本文件,将文件名重新名为HelloWorld.java。

      image.gif编辑

      第二步

      编写java 源代码,代码内容如下:

      public class HelloWorld {
          public static void main(String[] args) {
              System.out.println("Hello World");
          }
      }

      image.gif

      第三步

      编译运行HelloWorld.java文件 (JDK9之后不需要再通过javac 编译后运行了)

      在windows 搜索框 输入cmd回车,进入cmd窗口

      使用cd 命令 切换到源文件HelloWorld.java所在的目录下

      在cmd窗口中输入 java HelloWorld.java

      image.gif编辑

      补充知识

      image.gif编辑

      image.gif编辑

      image.gif编辑


      相关文章
      |
      5天前
      |
      设计模式 算法 安全
      Java多线程编程实战:从入门到精通
      【4月更文挑战第30天】本文介绍了Java多线程编程的基础,包括线程概念、创建线程(继承`Thread`或实现`Runnable`)、线程生命周期。还讨论了线程同步与锁(同步代码块、`ReentrantLock`)、线程间通信(等待/通知、并发集合)以及实战技巧,如使用线程池、线程安全设计模式和避免死锁。性能优化方面,建议减少锁粒度和使用非阻塞算法。理解这些概念和技术对于编写高效、可靠的多线程程序至关重要。
      |
      6天前
      |
      NoSQL Java 关系型数据库
      Java基础教程(21)-Java连接MongoDB
      【4月更文挑战第21天】MongoDB是开源的NoSQL数据库,强调高性能和灵活性。Java应用通过MongoDB Java驱动与之交互,涉及MongoClient、MongoDatabase、MongoCollection和Document等组件。连接MongoDB的步骤包括:配置连接字符串、创建MongoClient、选择数据库和集合。伪代码示例展示了如何建立连接、插入和查询数据。
      |
      6天前
      |
      算法 Java 大数据
      Java从入门到精通学习报告
      Java从入门到精通学习报告
      13 1
      |
      7天前
      |
      数据采集 存储 前端开发
      Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
      2024年北京车展凸显电动车全球热度,中国引领市场,展出117台全球首发车,包括30台跨国公司电动车。借助Nutch库抓取汽车网站数据,分析电动车市场趋势。通过配置代理和多线程爬虫,高效收集新车信息,助力理解市场动态,推动可持续交通发展。
      Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
      |
      7天前
      |
      Java 关系型数据库 MySQL
      Java基础教程(20)-Java连接mysql数据库CURD
      【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。
      |
      7天前
      |
      Java
      Java语言---面向对象的三大特征之继承
      Java语言---面向对象的三大特征之继承
      |
      7天前
      |
      存储 Java
      Java语言--->数据类型转化以及运算符
      本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte->short->int->long->float->double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`<`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。
      |
      7天前
      |
      Java 编译器 程序员
      Java语言基础
      Java语言基础概览:涵盖关键字(全小写,如`image.png`所示),保留字(如`goto`、`const`),标识符命名规则(避免数字开头和保留字),注释(单行`//`,多行`/*...*/`,及Javadoc注释)以及变量(按数据类型:byte, short, int, long, float, double, char, boolean,注意声明规则和默认类型)。
      |
      9天前
      |
      网络协议 Java 网络架构
      Java基础教程(18)-Java中的网络编程
      【4月更文挑战第18天】Java网络编程简化了底层协议处理,利用Java标准库接口进行TCP/IP通信。TCP协议提供可靠传输,常用于HTTP、SMTP等协议;UDP协议则更高效但不保证可靠性。在TCP编程中,ServerSocket用于监听客户端连接,Socket实现双进程间通信。UDP编程中,DatagramSocket处理无连接的数据报文。HTTP编程可以通过HttpURLConnection发送请求并接收响应。
      |
      9天前
      |
      安全 算法 Java
      写给Java开发的Go语言协程实践
      写给Java开发的Go语言协程实践
      15 0