Java零基础实战
上QQ阅读APP看书,第一时间看更新

前言

我个人在学习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与我取得联系,也可以提交到异步社区。