Java零基础实战

978-7-115-50895-9
作者: 宁楠
译者:
编辑: 胡俊英
分类: Java

图书目录:

详情

全书共分3部分,10章,54小节。第1部分讲解Java的基本概念,运行机制,开发方式,基础语法;第2部分讲解Java的核心思想:面向对象,教会读者使用面向对象的思想进行软件开发;第3部分讲解Java的高级特性,包括多线程,集合框架,实用类,IO流,反射机制,网络编程。

图书摘要

版权信息

书名:Java零基础实战

ISBN:978-7-115-50895-9

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。


著    宁 楠

责任编辑 胡俊英

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315


Java是一门经典的面向对象的编程语言,具有很强的通用性、平台可移植性和安全性,并且一直在编程语言排行榜上稳居前列。本书旨在通过浅显易懂的语言,讲清Java的特性,帮助读者掌握面向对象编程的核心思想;同时,通过丰富实用的代码示例,帮助读者快速上手,轻松掌握Java语言。

本书分11章,带领读者从零开始认识Java,了解Java,会用并且用好Java。书中不仅对Java的运行机制、体系结构和基本的安装配置进行了讲解,还对面向对象编程的思想进行了深刻的剖析和总结,同时作者以丰富的代码示例演示了基本的Java编程。除此之外,本书还对Java的集合框架、多线程、实用类、IO流、反射机制和Web编程等进行了讲解,让读者在掌握基本编程技巧的基础上,进一步探索Java的强大功能。

本书由资深Java开发老手编写,汇集了丰富的实践经验和实用的编程思想,非常适合想入门Java的新手学习,也适合用作计算机相关专业的辅助教程,其他非科班出身的想学习Java编程的读者也可以参考学习。


我大学读的是软件工程专业,在校期间学校开设了很多高级编程语言课程,如C、C++、C#、Java等。经过一段时间的学习实践和对比,我决定专攻Java,原因有三点:一、Java易上手且功能强大,经过20多年的发展,Java生态体系已经非常成熟;二、应用面广,无论是Web端、移动端,还是企业级项目,都可以使用Java进行开发;三、Java开发工程师的市场需求量很大,并且待遇也不错。基于以上三点原因,我非常坚定地选择了Java作为自己主要的编程语言。当然这并不是说其他语言不好,每种语言都有自己的优势和劣势,没有绝对的好与坏,要结合自己的实际情况选择一门编程语言学习。在我看来,对于零基础的初学者,选择相对容易上手且成熟的编程语言来入门,效率会更高,做到“先有再精”,后期可根据工作情况和个人选择来学习其他的高级编程语言,有了基础以后,学起来就会很快。编程思想都是相通的,拿我本人来说,除了继续深入学习Java,我也在学习其他编程技术,毕竟选择从事编程行业的工作就注定了要不断地学习。

我从第一次接触Java到现在也有将近10年的时间了,从初级开发工程师做起,一路进阶到高级开发、项目经理、技术总监。在职业生涯中的每个阶段,我对Java编程都会有新的认识,甚至很多时候对于过去的理解有颠覆性的改变。这是因为学习技术需要有一个沉淀和积累的过程,由量变完成质变。毕竟,写过一万行代码和写过10万行代码的人对技术的认知是不一样的,不同阶段对编程的理解也是不一样的,我们在工作和学习中需要不断总结思考,通过实际项目研发去夯实基础,建立自己的知识体系。

对于初入职场的新人来说,什么是最重要的?不是理论知识是否扎实,更不是你懂多少新技术,而是解决问题的能力,公司花钱雇你来上班,那你最基本的职责就是要在规定的时间内完成规定的任务。项目研发的不可预期性很高,你不知道什么时候会遇到哪些技术难点,解决这些难点需要花费多少时间和精力,这就要求你具备快速解决问题的能力。能在短时间内把问题搞定,能保证项目按时交付,你才是一名合格的程序员。在工作中,我们常常会遇到痴迷于技术的程序员,这本身没有问题,每个程序员都应该痴迷于技术,但是需要明确的是技术应为项目服务,也就是说能按时交付合格的项目是最重要的。应用的技术是否高端并不是最重要的,如果不能按时完成项目,连最基本的要求都无法达到,何谈技术优化升级?所以我们在实际工作中不要过于追求技术,一切要以实践为主。我曾经遇到过这样的同事,技术很厉害,喜欢在项目中炫技,把自认为好的技术强行加入项目中。他不考虑是否合适,是否会影响项目进度,想方设法也要把自认为好的技术加进去,最终的结果往往是辛苦加班很多天也没有实现需要的功能,而别人使用相对传统的技术很快就能完成任务。这就是本末倒置,得不偿失。技术固然很重要,但是应该以项目为重,为项目选择最合适的技术,而不是你认为最新最好的技术。公司对项目的要求首先是能按时交付,在这个基础之上,再去考虑技术的迭代和优化。

看到这里,有的人可能会说,那编程工作就很简单了,只需要掌握一些基本的技术,能完成工作就可以了,不需要学习什么新技术呀。我上面说的是对一个开发者最基本的要求,或者说是最低标准,如果你希望自己的事业节节高升,就需要不断学习新技术,不断更新优化自己的知识体系,并且记住一点,那就是只学有用的。什么是有用的呢?一方面是你当前工作所需要具备的技能,可以更好地帮你完成工作。另一方面是前瞻性的技术,比如未来两三年你可能需要掌握的,或者是大趋势所指向的技术。

当你从初级开发者成长为中高级开发者时,就不能仅限于实现基本的业务功能了,这样的工作没有多少含金量,干一年和干3年不会有太大的区别。打个比方,当搬砖对你来说已经是驾轻就熟,你就需要去思考怎么设计房子了,也就是从CRUD基本操作到软件设计架构的进阶。怎样提高自己的软件架构能力呢?首先你要具备扎实的基础知识,其次要有足够的项目经验,还要视野开阔,在技术领域的涉猎面要广。提高编程能力最直接也有效的方法就是看源码,学习源码是有一定门槛的,刚开始看的时候可能会遇到很多问题,或者根本就看不懂。这个时候也不能放弃,要逼着自己看源码,第一遍第二遍完全不懂没关系,坚持看到第三遍、第四遍的时候会发现自己好像懂了那么一点,继续坚持下去,你就会理解源码的思路了。

学习的阶段性很重要,找准自己当前所处的位置,学自己最应该学习的东西,慢慢提升自己的水平,不要跟风,不要别人学什么你就学什么。不同的阶段需要有针对性地部署学习计划来不断地提高和完善自己。假如你是刚入行的初级开发者,你首先应该考虑如何提高自己解决问题的能力,学习业务知识,更加高效地完成工作,而不是去学习软件架构设计。连地基都没有,何来万丈高楼?学习编程是一个从无到有、从有到精、从精到广的过程,想要做好Java软件开发的工作,需要不断地总结、思考、学习。

欢迎大家加入QQ群“Java零基础实战”(群号:688588534)来参与互动学习,我会在群里答疑解惑,还会适时分享实用且超值的学习资料。

宁楠

2019年1月于西安


感谢一起工作过的同事们,感谢你们在工作中给予我的帮助。感谢人民邮电出版社胡俊英编辑,她非常专业的指导和建议使得本书的内容更加完善。感谢我的家人,因为有你们的理解和支持,我才能顺利完成本书的写作。


宁楠,资深Java开发工程师,历任高级开发工程师、项目经理、技术总监。同时也是公众号原创博主、知识星球嘉宾、慕课网讲师、GitChat认证作者,对Java编程有着丰富的经验和独到的见解,热衷于分享技术干货。欢迎大家搜索微信公众号“Java大联盟”关注我的技术文章,也期待与大家有更多的技术交流。


我个人在学习Java的过程中有这样一种感受,很多书本上的知识偏重于理论,没有太多的实践案例,不利于快速上手。网上的一些博客教程偏重于实践,没有太多晦涩难懂的理论知识,能快速上手进行开发,往往学习效率更高。但是博客也有不好的地方,一方面是不够系统,往往只是一些单一的技术点,并没有形成完整的知识体系。另一方面是不够严谨,错误也比较多,找到一篇优质且技能点完整的博客不是一件容易的事情。那么一本以实践为主,理论为辅,能快速上手的Java系统性入门图书,对于零基础的初学者来讲就显得尤为重要,甚至可以帮助他们达到事半功倍的效果。我写作本书的目的就是为所有对Java感兴趣的零基础读者提供一本可以帮助他们快速入门,以实际开发为导向的书。

一直以来我都有做笔记和写总结的习惯,并且坚持以实践为主,用实践去验证理论。也正是因此,我的笔记和总结实用性很强,我通过各种网络渠道分享过一些自认为比较好的笔记,反响还不错,尤其是很多初学者很喜欢看我写的教程,觉得通俗易懂,很适合他们。我在工作之余录制过一些视频课程,也做过在线直播授课,久而久之发现初学者的很多问题和困惑都是相同的,就集中在那么几个关键点上,所以我在写教程的时候就会侧重于这些技术点的讲解,并且尽可能用通俗易懂的语言去讲解,抓住了关键点,自然会得到受众群体的青睐。

我将多年来的心得体会和技术笔记进行汇总,历时数月,历经反复推敲修改,最终整理成本书。目标群体定位为零基础的初学者,让他们可以通过本书实现Java编程的快速入门,并且能将书中所讲的知识学以致用,写出功能完善的Java项目。

本书适合以下几类读者阅读:

本书的结构是按照Java知识体系的进阶来编写的,全书分为4个部分共11章。

第1部分是Java基础,也就是第1~3章,介绍了Java的历史、功能、运行机制和体系结构,以及Java环境的安装。重点讲解了Java的基本语法、变量、内存模型、运算符、流程控制、循环和数组等内容。

第2部分是Java面向对象,包括第4~5章,主要介绍了面向对象编程思想,以及在Java中的应用,包括类与对象、封装、继承、抽象、多态、包装类和异常。

第3部分是Java高级应用,包括第6~9章,主要讲解了Java的集合框架、多线程、实用类和IO流,学完这部分内容,就可以使用Java开发出功能完善的程序了。

第4部分是底层扩展,包括第10~11章,主要讲解了Java的反射机制和网络编程,这两块内容对于初学者可能有些难度,但是都非常重要。要搞清楚Java企业级开发组件和框架的底层原理,这两部分知识必不可少。

大家可以根据自己的需求选择阅读的侧重点,不过初学者最好能够按照顺序来阅读,这样可以有一个循序渐进的过程,对整个技术结构有一个清晰的梳理,有助于读者建立自己的知识体系。

本书共有300多段示例代码,为了让阅读更加精简,书中只摘取了代码的核心部分,其余部分做了省略,省略的部分包括包的引入、导入其他包的类、成员变量的getter、setter方法以及try-catch等常规操作,完整的代码片段如下所示。

package com.southwind.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class IOTest {
   private String path;
   public String getPath() {
      return path;
   }
   public void setPath(String path) {
      this.path = path;
   }
   public static void main(String[] args) {
      OutputStream outputStream = null;
      try {
         outputStream = new FileOutputStream("...");
         outputStream.write(99);
      } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      } finally {
         try {
            outputStream.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

精简之后的代码片段如下所示。

public class IOTest {
   private String path;
   //getter、setter方法

   public static void main(String[] args) {
      OutputStream outputStream = null;
      try {
         outputStream = new FileOutputStream("...");
         outputStream.write(99);
      } catch (IOException e) {
      } finally {
         try {
            outputStream.close();
         } catch (IOException e) {
         }
      }
   }
}

读者在复现书中示例时需要注意补全代码,完整的源码可到异步社区的官网下载。

作者水平有限,加之时间仓促。虽然我花费了大量的精力反复审读,但书中仍难免会有一些错误和纰漏。如果读者发现了任何问题,恳请反馈给我,可以通过邮箱ningnan9801@163.com与我取得联系,也可以提交到异步社区。


本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

本书提供配套代码资源,要获得该配套资源,请在异步社区本书页面中单击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号



Hello,欢迎来到Java的世界!本书适用于零基础且有兴趣学习Java编程的小伙伴,全程会以理论和实践相结合的方式,手把手地教你用Java开发出自己的程序。你是否已经迫不及待了呢?现在就随我一起来探索Java的学习之道吧!

本章我会带领大家一起来认识Java这门高级编程语言,在学习一个新技术时,应该从3个方面入手。首先,它是什么?其次,它能干什么?最后,如何使用?大家需要记住这3个步骤,我们后续的讲解都是按照这个模式进行的。好了,接下来就开始我们的Java初体验。

本节带领大家了解Java的基本知识、运行原理、体系结构、Java的用途,以及如何使用Java进行编程。

众所周知,IT是一个高速发展、技术更迭日新月异的行业。随着编程技术的不断发展、更新,越来越多的编程语言层出不穷,令大家不知如何选择。面对种类繁多的编程语言,零基础的初学者究竟应该选择哪种编程语言来入门呢?掌握哪门编程语言能够更好地应对IT技术日益革新、多态化发展的大趋势呢?综合以上思路,这门语言应该具备以下特质:

什么语言这么强大,可以满足这些要求呢?没错,就是Java。Java是由Sun(Stanford University Network)公司于1995年5月23日正式推出的一套计算机高级编程语言,它拥有20多年的发展历史,这足以表明Java很稳定。

Java适用于多个领域,从早期的终端设备到现在流行的电商、桌面管理软件、机顶盒设备、车载导航、安卓移动端等,涵盖面非常之广,并且可以做到跨平台,无论是Windows系统、Linux系统,还是Mac OS系统,都可以运行Java程序。

多年以来,Java始终在编程语言排行榜中名列前茅(见图1-1),是全球范围内使用人数最多的编程语言之一。同时,市场对Java开发工程师的需求量也很大,在各大招聘网站上,Java相关岗位的招聘信息非常多。

图1-1

Java是面向对象的编程语言,面向对象是一种易理解、上手快的编程思想,同时Java提供了功能非常强大的系统类库,多种多样的工具类任你使用,开发者只需要关注业务逻辑,然后根据具体需求去调用这些工具类即可,底层的具体实现不需要关注。因此,相比于C++这种偏向底层的高级编程语言,Java更容易上手。

Java语言具备如下特点。

1.简洁高效

Java语言非常简洁,相比于C++中头文件、指针等各种抽象的概念,Java更好理解、便于上手,同时还提供了功能强大的系统类库,使开发变得更加简洁高效。

2.跨平台

程序在不同平台的兼容性问题一直困扰着开发者,如果我们开发的程序能够无障碍地同时运行在Windows、Mac OS和Linux系统中,那是多么美妙的一件事。Java就帮我们实现了这个美好的愿望,一套代码可以在多种平台上运行。

3.面向对象

面向对象是一种编程思想,这种编程思想的诞生,对于软件工程有着划时代的意义。开发者告别了面向过程开发的烦琐步骤,从一个新的维度重新解读编程这件事,极大地提升了软件开发效率和能力,Java就是这样一种面向对象的高级编程语言。

4.分布式计算

Java提供了一套网络操作类库,很适合开发分布式计算的程序,开发者可以通过调用类库进行网络程序开发,实现分布式特性。

5.健壮性

Java提供了非常强大的排错机制,在程序编译阶段就可以检测出程序中的错误,无需等到运行时才暴露出存在的问题。同时在运行阶段会再一次进行相应的检查,多种手段保证了程序的稳定性和健壮性。

6.可处理多线程

线程是进程的基本单位,是程序开发中必不可少的一种基础资料,Java提供了良好的多线程处理机制,使程序具备更为优秀的交互性。

好了,听完了这些,你是不是已经迫不及待地想要开始学习Java了呢?别着急,我们说过,学习新技术,首先应该了解它是什么?其次要了解它能干什么,接下来,我们就来一起看看Java有哪些方面的实际应用。

在全球范围内,选择Java作为后台开发语言的公司数不胜数,比较知名的国外互联网公司包括Google、YouTube、Amazon、Twitter等,国内的知名公司有阿里、腾讯、百度、新浪、搜狐等。尤其是在电商领域,大部分公司都在使用Java,包括天猫、京东、苏宁易购、当当、美团等,这么多知名企业都选择Java作为开发语言,你还在犹豫什么呢?

简单来讲,Java开发可分为3步:

运行原理如图1-2所示。

图1-2

我们可以这样理解,Java源文件是开发者编写的,以开发者自己能看懂的方式去编写代码,但是计算机无法直接识别编写好的程序,因为计算机只能识别二进制的数据,相当于两者语言不通,要进行交流就必须有翻译,编译器就是这个翻译,它可以将开发者编写的程序翻译成计算机能识别的二进制数据,即将Java源文件编译为字节码文件,这样一来计算机就可以运行程序了。

Java程序并不是运行在计算机底层的,Java拥有自己的虚拟计算机,这个虚拟的计算机有自己的内存,有自己的磁盘,我们把它叫作Java虚拟机(Java Virtual Machine,JVM)。所有的Java程序都是运行在JVM上的,正是因为有了JVM这样一种机制,Java程序才能做到跨平台,不同的操作系统只要可以安装JVM,就可以运行Java程序。JVM可以将不同操作系统的底层运行机制进行屏蔽,读取与平台无关的字节码文件,由Java解释器将JVM的程序运行在不同的平台上。编译好的字节码文件只需要识别JVM,而不需要关心更底层的操作系统,由JVM去适应并识别不同的操作系统,如图1-3所示。

图1-3

举一个生活中的例子,一个中国商人,需要同时跟来自美国、意大利和德国的3个客户洽谈合作,但是中国商人只会说汉语,所以他高价雇佣了一个同时精通英语、意大利语、德语的高级翻译,帮他把汉语分别翻译给来自美国、意大利和德国的客户,这样就可以无障碍地沟通并完成合作了。

在这个例子中,中国商人相当于Java源程序,高级翻译相当于JVM,而来自美国、意大利、德国的客户相当于不同的操作系统。

Java语言后来衍生出3个体系分支,分别是J2SE、J2ME、J2EE。

J2SE(Java2 Platform Standard Edition)定义了Java的核心类库,包含了各种常用组件,是Java开发的基础。

J2ME(Java2 Platform Micro Edition)是基于J2SE衍生出的专用于移动设备的开发组件,如手机、机顶盒、车载导航等。

J2EE(Java2 Platform Enterprise Edition)是基于J2SE扩展出的企业级开发组件,提供了Java Web相关的开发组件,如Servlet、JSP等,是Java开发的主流技术。

2005年之后,三大体系被重新命名,其中J2SE更名为Java SE,J2ME更名为Java ME,J2EE更名为Java EE。在三大体系中,Java SE是核心,Java ME和Java EE是在Java SE的基础上发展起来的,如图1-4所示。

图1-4

上一节我们学习了Java的基本概念,了解了Java的运行原理。Java程序必须依赖于JVM才能运行,所以开发Java程序的第一步就是在计算机上安装Java环境,本节就带大家一起来安装和配置Java环境。

Java经历了这么多年的发展,最新的版本是Java10(作者在编写本书时的最新版),我们就以Java10为例,给大家演示如何安装和配置Java环境。首先我们需要了解什么是Java环境,有两个重要的概念我们需要掌握——JRE和JDK。

JRE(Java Runtime Environment)是Java的运行环境,包括JVM和Java基础类库,一台计算机要运行Java程序,就必须有JRE。

JDK(Java Development Kit)是Java开发包,它包含JRE和编译Java源文件的编译器,我们要在一台计算机上进行Java程序开发,就必须安装JDK。

由此可知,JRE是Java程序运行环境,JDK是Java程序开发环境,而JDK包含了JRE,我们只需要安装JDK即可。

1.下载JDK

(1)打开Java官方网站,选择“JDK Download”下载JDK10.0.2(作者在编写本书时的最新版),如图1-5所示。

(2)在打开的新网页选中“Accept License Agreement”选项,如图1-6所示。

图1-5

图1-6

(3)根据你的操作系统选择对应的JDK安装文件,这里我们选择Windows系统下的JDK,如图1-7所示。

图1-7

(4)下载好的安装文件如图1-8所示。

图1-8

2.安装JDK

(1)找到JDK安装文件,双击鼠标左键运行该文件。

(2)一直单击“下一步”按钮,全部选择“默认”即可。

3.配置环境变量

(1)配置path环境变量使计算机在运行程序时可以找到Java程序的路径。

(2)配置classth可以设置class文件的路径信息。

配置环境变量的具体步骤如下所示。

(1)找到自己安装Java的路径,复制下来留着下一步备用,如图1-9所示。

(2)计算机→属性→高级系统设置→高级→环境变量→系统变量,点击“新建”,为变量起名“JAVA_HOME”,变量值设置为上一步复制的路径,如图1-10所示。

图1-9

图1-10

(3)在Path路径的开头添加“%JAVA_HOME%\bin;”,如图1-11所示。

图1-11

4.检测是否安装成功

(1)按Windows +R组合键,输入cmd,单击“确定”按钮打开终端,如图1-12所示。

图1-12

(2)在终端输入“javac”以及“java”,如果安装成功就可以看到如图1-13和图1-14所示的信息。

图1-13

图1-14

(3)若出现“javac/java不是内部命令”字样,则表示环境配置失败,需要重新配置。

(4)输入“java -version”,可以查看Java的版本信息,如图1-15所示。

图1-15

想必读到这里,大家都已经成功地配置好了Java环境,准备工作就绪,接下来我们就可以正式开始写代码了。

我们的第一个Java程序是输出“Hello World”。在D盘新建一个文件夹,命名为java,进入java文件夹,新建一个名为HelloWorld.java的文件,这就是Java源文件。接下来,用记事本或者其他编辑器打开文件来编写代码,如代码1-1所示。

代码1-1

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

我们之前介绍过,Java程序开发分三步:第一步编写,第二步编译,第三步运行。代码1-1编写完成之后,我们需要进行第二步:编译。

(1)打开CMD终端(按Windows+R组合键,然后输入“cmd”),用“d:”命令进入计算机的D盘,然后通过cd命令进入Java程序所在的文件夹,如图1-16所示,HelloWorld.java保存在D盘的java文件夹中。

(2)如图1-17所示,使用javac HelloWorld.java命令编译HelloWorld.java文件。

(3)如图1-18所示,在编译成功后,会看到D:/java文件夹中自动生成了一个HelloWorld.class文件,该文件就是我们之前提到的字节码文件,JVM就是通过读取这个文件来运行程序的。

图1-16

图1-17

图1-18

(4)如图1-19所示,使用java HelloWorld命令来运行Java程序,计算机打印输出了“HelloWorld”字符串。

图1-19

成功!这里对代码进行简单的说明,public static void main(String[] args)是程序的入口,我们希望计算机执行的代码都写在这里,大家可以先这样理解,后面我们会详细讲解main方法。

注意事项:

作为本书的开篇内容,本章首先为大家介绍了Java的基本运行原理、体系结构以及Java能开发哪些应用程序,让初学者对Java有一个基本的认识和概念。介绍完Java的基本概念,接下来为大家讲解如何安装配置Java环境,第一步安装JDK,第二步配置环境变量,完成之后就可以在计算机上开发Java程序了。Java程序开发共分为3个步骤:第一步编写Java源代码,第二步将Java源代码编译成JVM能识别的字节码文件,第三步计算机读取字节码文件并运行程序。

我们在学习一个新知识的时候,首先是要了解它是什么,它能做什么,然后才是怎么使用。本章对这3个问题做了详细解答,为后续的深入学习做好了铺垫。


相关图书

Effective Java中文版(原书第3版)
Effective Java中文版(原书第3版)
Java核心技术速学版(第3版)
Java核心技术速学版(第3版)
Java编程动手学
Java编程动手学
Java研发自测入门与进阶
Java研发自测入门与进阶
Java开发坑点解析:从根因分析到最佳实践
Java开发坑点解析:从根因分析到最佳实践
Java EE企业级应用开发实战(Spring Boot+Vue+Element)
Java EE企业级应用开发实战(Spring Boot+Vue+Element)

相关文章

相关课程