Java快速入门

Java快速入门1Java简介太阳计算机系统(中国)有限公司1982年成立2009年被Oracle收购甲骨文股份有限公司1977年成立2013年成为全球第二大软件公司詹姆斯·高斯林(JamesGosling)Java编程语言的共同创始人之一一般公认他为“Java之父”1.1Java发展史20世纪90年代,出现了单片机。1991年,Sun公司成立了Green项目小组,专攻家电产品上的嵌入式应用,开发出了一种称为Oak的面向对象语言。1992年,Oak语言开发成功后,因为缺

大家好,又见面了,我是你们的朋友全栈君。

1 Java简介

Java快速入门

太阳计算机系统(中国)有限公司 1982年成立 2009年被Oracle收购

Java快速入门

甲骨文股份有限公司 1977年成立 2013年成为全球第二大软件公司

Java快速入门

詹姆斯·高斯林 (James Gosling)Java编程语言的共同创始人之一 一般公认他为“Java之父”

1.1 Java发展史

20世纪90年代,出现了单片机。 1991年,Sun公司成立了Green项目小组,专攻家电产品上的嵌入式应用,开发出了一种称为Oak的面向对象语言。 1992年,Oak语言开发成功后,因为缺乏硬件的支持而无法进入市场,最终被搁置了下来。

1995年,互联网的蓬勃发展给了Oak机会。Sun公司推出了可以嵌入网页的Applet小程序,并将Oak更名为Java。 1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。 1997年2月,Sun公司发布了JDK 1.1,在随后的3周时间里,达到了22万次的下载量。

1998年12月,Sun公司发布了第二代Java平台的企业版J2EE。 1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2 Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器; J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;

2000年5月,Sun公司发布了JDK1.3、JDK1.4和J2SE1.3。 2001年9月,Sun公司发布了J2EE1.3。 2002年2月,Sun公司发布了J2SE1.4。 2004年9月,Sun公司发布了J2SE1.5,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0,代号为“Tiger”。 2005年6月,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。 2006年,Sun公司宣布,将Java技术作为免费软件对外发布 。

2009年,Oracle公司宣布收购Sun 。 2010年,Java之父詹姆斯·高斯林从Oracle公司辞职。 2011年,Oracle公司发布了Java7。 2014年,Oracle公司发布了Java8。 2017年,Oracle公司发布了Java9。 2018年,Oracle公司发布了Java10和Java11。 2019年,Oracle公司发布了Java12和Java13。 2020年,Oracle公司发布了Java14。

1.2 Java特点

  • Simple 简单性

Java语言是一种相当简洁的面向对象程序设计语言。Java语言省略了C++语言中所有的难以理解、容易混淆的特性。Java更加严谨、简洁。

  • Object oriented 面向对象

面向对象是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。

  • Distributed 分布式

Java语言具有强大的、易于使用的连网能力,非常适合开发分布式计算的程序。Java应用程序可以象访问本地文件系统那样通过URL访问远程对象。使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。

  • Multithreaded 多线程

线程,是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在Java语言中进行多线程处理很简单。

  • Dynamic 动态性

Java是一种动态的语言,在Java语言中,可以简单、直观地查询运行时信息,也可以将新代码加入到一个正在运行的程序中去。

  • Architecture neutral 架构中立

Java源程序被编译成一种高层次的与机器无关的字节码格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。

  • Robust 健壮性

Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。

  • Secure 安全性

用于网络、分布环境下的 Java必须要防止病毒的入侵。 Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用”特洛伊 “木马等欺骗手段访问对象的私有成员。

1.3 Java是什么?

Java既是编程语言又是平台。

  • Java编程语言

在Java编程语言中,首先将所有源代码编写为以.java扩展名结尾的纯文本文件。然后,这些源文件.class由javac编译器编译为文件。一个.class文件不包含的代码是原产于你的处理器; 相反,它包含字节码 -Java虚拟机(Java VM)的机器语言。然后,java启动器工具将使用Java虚拟机的实例运行您的应用程序。

Java快速入门

因为Java VM在许多不同的操作系统上都可用,所以相同的.class文件能够在Microsoft Windows,Solaris™操作系统(Solaris OS),Linux或Mac OS上运行。一些虚拟机(例如 Java SE HotSpot概览)在运行时执行其他步骤,以提高应用程序的性能。这包括各种任务,例如查找性能瓶颈和重新编译(使用本机代码)经常使用的代码部分。

Java快速入门

  • Java平台

一个平台是在程序运行的硬件或软件环境。我们已经提到了一些最受欢迎的平台,例如Microsoft Windows,Linux,Solaris OS和Mac OS。大多数平台可以描述为操作系统和底层硬件的组合。Java平台与大多数其他平台的不同之处在于,它是一个基于软件的平台,可以在其他基于硬件的平台上运行。

Java平台具有两个组件:

  • 在Java虚拟机
  • 在Java应用程序编程接口(API)

Java虚拟机是Java平台的基础,并已移植到各种基于硬件的平台上。 API是大量现成的软件组件的集合,这些组件提供了许多有用的功能。它分为相关类和接口的库。这些库称为软件包。 作为独立于平台的环境,Java平台可能比本地代码慢一些。但是,编译器和虚拟机技术的进步使性能接近本机代码,而不会威胁可移植性。 术语“ Java虚拟机”和“ JVM”是指用于Java平台的虚拟机。

1.4 Java功能

  • 开发工具:

开发工具提供了编译,运行,监视,调试和记录应用程序所需的一切。作为新开发人员,您将使用的主要工具是javac编译器,java启动器和javadoc文档工具。

  • 应用程序编程接口(API):

API提供Java编程语言的核心功能。它提供了许多有用的类,可以在您自己的应用程序中使用。它涵盖了从基本对象到网络和安全性,再到XML生成和数据库访问等等的所有内容。

  • 部署技术:

JDK软件提供了标准的机制,用于将应用程序部署到最终用户。

  • 用户界面工具包:

JavaFX,Swing和Java 2D工具包使创建复杂的图形用户界面(GUI)成为可能。

  • 集成库:

诸如JDBC API,Java接口定义语言(IDL)API,Java命名和目录接口(JNDI)API,Java RMI和通过Internet ORB协议技术进行Java远程方法调用的集成库。

1.5 Java优势

  • 快速入门:

尽管Java编程语言是一种功能强大的面向对象的语言,但它易于学习,特别是对于已经熟悉C或C ++的程序员而言。

  • 编写更少的代码:

通过比较程序指标(类计数,方法计数等),可以看出,用Java编程语言编写的程序可以比使用C ++编写的同一程序小四倍。

  • 编写更好的代码:

Java编程语言鼓励良好的编码习惯,而自动垃圾回收可以帮助您避免内存泄漏。它的面向对象,其JavaBeans™组件体系结构以及范围广泛,易于扩展的API使您可以重用现有的经过测试的代码,并减少错误。

  • 更快地开发程序:

Java编程语言比C ++更简单,因此,用它编写时,您的开发时间可能会快两倍。您的程序还将需要更少的代码行。

  • 避免平台依赖性:

通过避免使用其他语言编写的库,可以使程序可移植。

  • 一次编写,可在任何地方运行:

因为用Java编程语言编写的应用程序被编译为与机器无关的字节码,所以它们可以在任何Java平台上一致地运行。

  • 更轻松地分发软件:

使用Java Web Start软件,用户只需单击一下鼠标即可启动您的应用程序。启动时会自动进行版本检查,以确保用户始终了解最新版本的软件。如果有更新,则Java Web Start软件将自动更新其安装。

2 “Hello World”程序

要编写第一个程序,您需要:

Java SE开发套件8(JDK 8)

您现在可以 下载Windows版本。(请确保您下载的是JDK,而不是 JRE。)请查阅 安装说明。

文字编辑器

在此示例中,我们将使用Windows平台附带的简单编辑器记事本。

集成开发人员环境(IDE)

流行的选择包括Eclipse、IntelliJ IDEA,Spring Tool Suite或Visual Studio Code等等。

2.2 使用记事本创建第一个应用程序

创建一个源文件

首先,启动编辑器。您可以从开始菜单中选择程序>附件>记事本,启动记事本编辑器。在新文档中,键入以下代码:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

将代码保存在名为的文件中HelloWorldApp.java。要在记事本中执行此操作,请首先选择“ 文件”>“另存为”菜单项。然后,在“ 另存为”对话框中: 使用“ 保存在”组合框,指定用于保存文件的文件夹(目录)。在这个例子中,该目录是myapplication在上C驱动器。 在“ 文件名”文本字段中,输入”HelloWorldApp.java”,包括引号。 从“ 保存类型”组合框中,选择“ 文本文档(* .txt)”。 在“ 编码”组合框中,将编码保留为ANSI。 完成后,对话框应如下 所示。现在,单击“ 保存”,然后退出记事本。

Java快速入门

将源文件编译成.class文件

调出外壳程序或“命令”窗口。您可以从开始菜单中选择运行…,然后输入来执行此操作cmd。外壳窗口应类似于 下图。

Java快速入门

提示符显示您的当前目录。出现提示时,当前目录通常是Windows的主目录(如上图所示)。 要编译源文件,请将当前目录更改为文件所在的目录。例如,如果你的源目录myapplication中的C驱动器,在提示符后键入以下命令输入: cd C:\ myapplication 现在,提示应更改为C:\myapplication>。

现在您可以编译了。在提示符下,键入以下命令,然后按Enter。 javac HelloWorldApp.java 编译器已生成一个字节码文件HelloWorldApp.class。在提示符下,键入dir以查看生成的新文件,如下所示: C:\ myapplication> javac HelloWorldApp.java C:\ myapplication> dir 有了.class文件后,就可以运行程序了。

运行程序

在同一目录中,在提示符下输入以下命令: java -cp. HelloWorldApp 您应该在屏幕上看到以下内容: C:\ myapplication> java -cp. HelloWorldApp Hello World!

2.3 使用Eclipse创建第一个应用程序

创建一个IDE项目

启动Eclipse IDE。

Java快速入门

在Eclipse IDE中,选择“ File” |“ New”|“ Project”|“ Java Project”。新项目…。

Java快速入门

Java快速入门

在“ New Java Project”向导中,输入“ Project Name”,如下图所示:

Java快速入门

单击”Finish”完成。

在IDE中创建并打开该项目。您应该看到以下组件: “ Project Explorer”窗口,其中包含项目组件的树形视图,包括源文件,代码所依赖的库等。 在导航窗口中,你可以用它来快速浏览所选类的各元素之间。

在源文件中添加代码

在src文件夹上单击鼠标右键,选择“ New”|“ Class”。创建新类。

Java快速入门

在“Package”字段中,键入helloworldapp, 在“Name”字段中,键入HelloWorldApp, 选中“public static void main(String[] args) ”多选框。

Java快速入门

补充完成以下代码:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

运行程序 从IDE的菜单栏中,选择“运行 | 运行主项目。 下图显示了您现在应该看到的内容。

Java快速入门

3 “Hello World”讲解

3.1 源代码注释

以下粗体字定义了“ Hello World!” 的注释:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

注释被编译器忽略,但对其他程序员有用。Java编程语言支持三种注释:

/* text */

编译器会忽略从/*到的所有内容*/。

/** documentation */

这表示文档注释。在准备自动生成的文档时,该工具使用文档注释。

// text

编译器将忽略从//行尾到行尾的所有内容。

3.2 HelloWorldApp类定义

以下粗体字开始“ Hello World!”的类定义块。应用:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

如上所示,类定义的最基本形式是:

class name {     
    。。。 
} 

关键字class开始于一个名为的类的类定义name,并且每个类的代码出现在上面用粗体标记的大括号之间。

3.3 main方法

以下粗体文本开始main方法的定义:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

在Java编程语言中,每个应用程序都必须包含main方法: public static void main(String[] args) 修饰符public和static可以按任何顺序编写,但约定俗成如上所述使用。 您可以为参数指定任意名称,但是大多数程序员都选择“ args”。 该main方法类似于mainC和C ++中的功能。它是应用程序的入口点,随后将调用程序所需的所有其他方法。

最后一行: System.out.println(“ H​​ello World!”); 使用System核心库中的类打印“ Hello World!”。

4 常见问题

4.1 编译器问题

错误:’javac’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

原因:如果收到此错误,表示Windows找不到编译器(javac)。

 

错误:仅当显式请求注释处理时才接受类名称 ‘HelloWorldApp’

原因:如果收到此错误,表示在编译程序时忘记了添加.java后缀。

 

4.2 语法错误

错误:HelloWorldApp.java:7:

错误: 需要’;’         System.out.println(“Hello World!”) // 打印字符串                                           ^ 1 个错误 原因:这是由于;在语句末尾省略分号()导致的错误。

4.3 运行时问题

错误:找不到或无法加载主类 HelloWorldApp

原因:如果收到此错误,java则找不到字节码文件HelloWorldApp.class。

 

错误:找不到或无法加载主类 HelloWorldApp.class

原因:这是由于尝试在由编译器java创建的.class文件上运行启动器导致的错误。

 

错误:在类 HelloWorldApp 中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

原因:Java VM要求您与之一起执行的类具有一个main开始执行应用程序的方法。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135249.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java.lang.integer_java 中 关于java.lang.ArrayStoreException: java.lang.Integer异常,是什么原因?…

    java.lang.integer_java 中 关于java.lang.ArrayStoreException: java.lang.Integer异常,是什么原因?…Value的值是Object型,要装到Object[]数组中,而不是String[]。往数组里装不匹配的类型,就抛这个异常。packagepack.java.demo;importjava.util.HashMap;importjava.util.Map;publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]…

  • 数据库的三大范式[通俗易懂]

    数据库的三大范式[通俗易懂]当你应聘后端岗位的时候,数据库的知识必不可少,今天给大家分享一下数据库三大范式的通俗理解第一范式:无重复的列第二范式:属性完全依赖于主键第三范式:属性不依赖于其他非主属性总结:第一范式(1NF)原子性:保证数据不可再分第二范式(2NF)前提:满足第一范式每张表只描述一件事情,就是主键对应着所有信息第三范式(3NF)前提:满足第一和第二范式第三范式需要保证表中的数据和主键直接相关,而不是间接相关注意:阿里巴巴要求关联查询的表不得超过3张,数据库的性能更加重要,适当考虑规范性就好其实目前关系数据库有六种范式:

  • bzoj1717[Usaco2006 Dec]Milk Patterns 产奶的模式*「建议收藏」

    bzoj1717[Usaco2006 Dec]Milk Patterns 产奶的模式*

  • volatile为什么不能保证原子性

    volatile为什么不能保证原子性首先要了解的是,volatile可以保证可见性和顺序性,这些都很好理解,那么它为什么不能保证原子性呢?可见性可见性与Java的内存模型有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题,有可能一个线程在将共享变量修改后,还没有来的及将缓存中的变量返回给主存中,另外一个线程就对…

  • CLion 激活码 2021 8月(JetBrains全家桶)「建议收藏」

    (CLion 激活码 2021 8月)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlbnNlSWQiOi…

  • 阿里2015回顾面试招收学历(获得成功offer)

    阿里2015回顾面试招收学历(获得成功offer)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号