欢迎来到中国铁道出版社有限公司官网!
$itImage.title$
$itImage.title$
$itImage.title$
$itImage.title$

Java 程序设计(中英双语版)

书      号:9787113261856

丛  书 名:普通高等院校计算机类专业规划教材

作      者:田玉昆,陈伟,谢文兰

译      者:

开      本:16开

装      帧:平装

正文语种:中文、英文

出  版 社:中国铁道出版社有限公司

定      价:45

  • 内容简介


    随着互联网技术的发展及应用的普及,众多高等院校的计算机和非计算机专业均将 Java 程序设计课程作为程序设计的入门课程或者程序设计的进阶课程。
    全书共 11 章,内容主要为 :Introduction(简介);Java Foundation(Java 基础); Classes and Objects(类和对象);Packages(包);Inheritance(继承);Abstract Class, Interface(抽象类、接口);Generics and Collections(泛型与集合);Exception Handling
    (异常处理);I/O(输入 / 输出);Multi-threading(多线程);Networking(网络)。 本书适合作为计算机及计算机相近专业的 Java 程序设计课程的教材,也可作为普通 高等院校面向对象程序设计语言课程的教材和参考书,还可作为软件开发人员及其他有关
    人员自学的参考教材或培训教材。
  • 前言


    Java 语言具有面向对象、跨平台、安全性、多线程等特点,这使得 Java 成为许多应用 系统的理想开发语言。Java 应用程序运行在众多计算机、手机和智能卡上,并为无数的可兼 容的应用服务器提供了功能强大的平台。未来发展中,Java 将成为 IT 从业者必须掌握的一 门语言,而且在金融、电信、制造、银行、移动通信、电力、交通、市政服务、政务管理等 行业的应用日益广泛。为了满足高校对 Java 程序设计语言课程和双语课程教材的需求,满足 普通高等院校学生和编程爱好者希望快速掌握 Java 程序开发的基本知识和开发原理的需求, 我们编写了本书。
    本书采用中英文对照的方式,将较难理解的英文叙述翻译成对应的汉语(部分简单的英 文内容未作翻译),为读者在基本概念的理解上提供方便。对于书中复杂的知识点则辅以简单、 清晰的代码,并将运行结果附于代码之后,方便读者比较学习。
    全书共 11 章:Chapter 1 Introduction (简介),主要介绍 Java 语言的特点、工 作环境与 Java 的基本工作原理,使读者对 Java 语言有一个基本的了解;Chapter 2 Java Foundation(Java 基础),主要介绍数据类型、常量与变量、表达式和流程控制语句等; Chapter 3 Classes and Objects(类和对象),主要介绍 Java 类与对象的基本概念、构造方法、 对象的初始化等内容,包括 Java 面向对象的特征等;Chapter 4 Packages(包),介绍了包 的概念和组织结构,在此基础上,讲述了包的创建、导入及使用;Chapter 5 Inheritance(继 承),继承是 OOP 的一个重要内容,本章在类的基础上介绍了继承的基本概念及构造方法的 调用,对不同类型访问控制符的作用进行了比较,zui后对 OOP 的另一个重要内容多态作了简 要介绍;Chapter 6 Abstract Class,Interface(抽象类、接口),阐述了抽象方法、抽象类 的定义与使用,接口的定义与实现,接口与抽象类的比较以及内部类的定义与使用等内容; Chapter 7 Generics and Collections(泛型与集合),介绍了泛型的概念、泛型类、泛型接 口与泛型方法的定义与使用,以及集合类的概念、框架结构和几种常用的容器的使用方法; Chapter 8 Exception Handling(异常处理),介绍了异常产生的原因、异常的类型,以及 如何抛出和处理异常; Chapter 9 I/O(输入 / 输出),介绍了输入 / 输出流的概念,以及如 何通过输入流读取数据,向输出流写入数据; Chapter 10 Multithreading(多线程),阐述了多线程的概念,线程与进程的区别,线程的生命周期与创建方法、线程同步与线程间的通信 等;Chapter 11 Networking(网络),介绍了 Java 网络编程技术,描述了 Java 的网络编 程功能。全书对不易理解的内容的细致分析,从学生学习的角度阐述核心概念,具有很强的实 用性和适用性。
    本书由田玉昆、陈伟、谢文兰任主编,徐光明、崔彦君、魏文芬任副主编,黄国范、张艳梅、 曾兰参与编写。吴学曼对本书的编写给予了专业性的指导,在此表示感谢。
    本书的出版得到了广东培正学院教材立项支持,在此表示衷心的感谢。 由于编者水平有限、时间仓促,书中疏漏或不足之处在所难免,请广大读者批评指正。
    编者 2019 年 6 月
  • 目录

    Chapter 1 Introduction(简介) ...................................... 1 1.1 Characteristics of Java(Java 的特点) ...............................................................1 1.2 Developing tools(开发工具).............................................................................2
    1.2.1 Interpreted language vs compiled language(解释性语言与编译性语言).......... 2 1.2.2 Java Virtual Machine(虚拟机)............................................................................. 3 1.2.3 Java Runtime Environment(运行环境) ............................................................... 4 1.2.4 Java Development Kit(开发工具)....................................................................... 4
    1.3 A simple Java program(一个简单的 Java 程序)................................................5 1.3.1 How to run a Java program?(如何运行 Java 程序?) ........................................ 5 1.3.2 Rules of naming a Java source file(Java 源文件的命名规则) ........................... 6 1.3.3 Rules of naming classes, variables and methods(类、变量和方法的命名规则)........ 7
    Exercises ......................................................................................................................8
    Chapter 2 Java Foundation(Java 基础) .............................. 9 2.1 Primitive data types(基本数据类型).................................................................9 2.1.1 Integer and floating point types(整型与浮点型)............................................... 10 2.1.2 Boolean type(布尔型).........................................................................................11 2.1.3 Character type(字符型) ......................................................................................11 2.2 Reference types(引用型)...............................................................................12 2.2.1 A class is a data type(类是数据类型) ............................................................... 13 2.2.2 A class type variable is a reference(类类型的变量是引用) ............................. 14 2.2.3 Interface type(接口类型)................................................................................... 16 2.3 Identifiers(标识符) .........................................................................................16 2.4 Default values of fields(成员变量的默认值)...................................................16 2.5 Where data store?(数据存储在何处?) .........................................................18 2.6 Operators(运算符) .........................................................................................19 2.6.1 Arithmetic operators(算术运算符).................................................................... 19 2.6.2 Logical operators(逻辑运算符)......................................................................... 192.6.3 Bitwise operators(位运算符)............................................................................. 20 2.6.4 Left shift (<<) and signed right shift (>>) operators(移位运算符)................... 21 2.6.5 Assignment and conditional operators(赋值运算符和条件运算符) ................ 22 2.6.6 String operator “+” and “+=”(字符串运算符“+”和“+=”) .............. 22 2.6.7 Special operators(特殊运算符) ......................................................................... 23
    2.7 Casting(类型转换) .........................................................................................23 2.7.1 Widening and narrowing(拓宽与缩窄)............................................................. 23 2.7.2 Char, byte and short produce int results(Char, byte 和 short 转换为 int 型) ......... 25
    2.8 Flowing control(流程控制) .............................................................................25 2.8.1 Basic controlling statements(基本控制语句) ................................................... 26 2.8.2 Foreach statement(foreach 语句)....................................................................... 26
    2.9 Arrays(数组) ..................................................................................................28 2.9.1 Define arrays(定义数组)................................................................................... 28 2.9.2 Initialize arrays(初始化数组)............................................................................ 28 2.9.3 Arrays act as arguments of methods(数组做方法的参数) ............................... 29
    2.10 Command line arguments(命令行参数).......................................................30 Exercises ....................................................................................................................31
    Chapter 3 Classes and Objects(类和对象).......................... 33
    3.1 Concepts of OOP(面向对象的概念) ..............................................................33
    3.1.1 Everything is an Object(万物皆对象)............................................................... 33
    3.1.2 Defining classes(定义类) .................................................................................. 34
    3.2 Useful classes(常用类)..................................................................................34
    3.3 Method overloading(方法重载)......................................................................39
    3.4 Constructors(构造方法) .................................................................................40
    3.5 Default constructor(默认构造方法) ................................................................43
    3.6 Static fields and methods(静态成员变量与静态方法) ....................................45
    3.7 This keyword(this 关键字)..............................................................................51
    3.7.1 A non-static method has a hidden “this”(隐藏参数 this 的非静态方法) ......... 51
    3.7.2 A static method has no argument “this”(没有 this 的静态方法).................. 54
    3.7.3 Calling constructors form constructors(在构造方法里调用其他构造方法) ....... 56
    3.8 Variable argument lists(可变参数列表)..........................................................56
    3.9 Garbage collection(垃圾回收) .......................................................................58
    3.10 Enum type(枚举类型) ..................................................................................60
    Exercises ....................................................................................................................61Chapter 4 Packages(包)........................................... 64 4.1 Concept of packages(包的概念)....................................................................64 4.2 Java library and its package structure(类库与 Java 类的包组织结构) ............65 4.3 Create packages(创建包)..............................................................................66 4.4 Import packages(导入包) ..............................................................................68 4.5 Package java.lang(java.lang 包).....................................................................70 4.6 Useful classes in package java.lang(java.lang 包中常用的类) .......................71
    4.6.1 Object class and its toString method(Object 类和它的 toString 方法) ............ 71
    4.6.2 System class(系统类) ........................................................................................ 72 Exercises ....................................................................................................................72
    Chapter 5 Inheritance(继承) ...................................... 74 5.1 What is inheritance?(什么是继承?)..............................................................74 5.1.1 Root class Object(根类对象)............................................................................. 75 5.1.2 Defining subclasses(定义子类) ........................................................................ 76 5.2 Super keyword(super 关键字) ........................................................................78 5.2.1 Super corresponding to default constructor(默认构造方法的 super)............... 78 5.2.2 Super corresponding to constructors with arguments(有参构造方法的 super) ....... 80 5.3 Order of constructor calls(构造方法的调用次序) ...........................................82 5.4 Final keyword(final 关键字)............................................................................84 5.4.1 Final fields(final 成员) ..................................................................................... 84 5.4.2 Final arguments(常参数)................................................................................... 86 5.4.3 Final methods(常方法)...................................................................................... 86 5.5 Access specifiers(访问说明符) ......................................................................86 5.6 Polymorphism(多态)......................................................................................91 5.6.1 Method overriding(方法重写)........................................................................... 92 5.6.2 Upcasting and dynamic polymorphism(升级转换与动态多态)....................... 93
    5.6.3 Referring to a member of the super class by super keyword(用 super 指向 基类成员).............................................................................................................. 96 5.6.4 Hiding fields and static methods of the base class(隐藏静态方法和 fields 的基类) ....... 98 Exercises ..................................................................................................................100
    Chapter 6 Abstract Class and Interface(抽象类和接口) ............ 104 6.1 Abstract class(抽象类).................................................................................105 6.1.1 Abstract method(抽象方法) ............................................................................ 1056.1.2 Abstract class(抽象类) .................................................................................... 105 6.2 Interface(接口).............................................................................................106 6.2.1 Introduction(简介)........................................................................................... 106 6.2.2 Defining interfaces(接口的定义).................................................................... 107 6.2.3 Implementation of interfaces(接口的实现)..................................................... 108 6.2.4 Comparation of interfaces and abstract classes(接口与抽象类的比较)......... 109 6.3 Inner class(内部类)......................................................................................110 6.3.1 Members in inner class(内部类成员)...............................................................110 6.3.2 Local inner class(局部内部类).........................................................................112 6.3.3 Anonymous inner class(匿名内部类) ..............................................................113 Exercises .................................................................................................................. 115
    Chapter 7 Generics and Collections(泛型与集合)..................117 7.1 Generics(泛型) ............................................................................................ 117 7.1.1 Concept of generics(泛型的概念)....................................................................117 7.1.2 Generic classes(泛型类)...................................................................................118
    7.1.3 Type parameters use “extends” and “super” keywords(类型参数中
    使用 extends 和 super 关键字) .......................................................................... 121 7.1.4 Wildcard in type parameters(类型参数里的通配符) ..................................... 122 7.2 Generic interfaces(泛型接口) ......................................................................122 7.3 Generic methods(泛型方法) ........................................................................122 7.4 Collection classes(集合类) ..........................................................................123 7.4.1 Concept of collection (container)classes[集合(容器)类的概念]............... 124 7.4.2 The hierarchy of the collection framework(集合框架的层次结构)............... 124 7.5 List(列表) .....................................................................................................126 7.6 Queue(队列) ................................................................................................ 131 7.7 Set(集合) .....................................................................................................131 7.8 Map(映射)....................................................................................................133 Exercises ..................................................................................................................135
    Chapter 8 Exception Handing(异常处理)..........................137 8.1 Concepts of exception(异常的概念) ............................................................137 8.1.1 What is an exception?(什么是异常?) ............................................................. 137 8.1.2 How to deal with exceptions?(如何处理异常?) ............................................. 138 8.2 Exception classes(异常类) ..........................................................................1408.2.1 Error class(Error 类) ........................................................................................ 141
    8.2.2 Exception class(Exception 类)......................................................................... 141 8.3 Catch and deal with an exception(捕获与处理异常)....................................144 8.4 Throw an exception(抛出一个异常).............................................................148 8.5 Define your own exceptions(用户自定义异常类).........................................152 Exercises ..................................................................................................................153
    Chapter 9 I/O(输入/输出)........................................155 9.1 Concept of I/O stream(输入 / 输出流的概念) ...............................................155 9.2 Byte stream(字节流)....................................................................................156
    9.2.1 InputStream/OutputStream(InputStream/OutputStream 类) ........................... 157 9.2.2 FileInputStream/FileOutputStream(FileInputStream/FileOutputStream 类)........ 159 9.2.3 FilterInputStream/FilterOutputStream(FilterInputStream/
    FilterOutputStream 类)....................................................................................... 163 9.2.4 DataInputStream/DataOutputStream(DataInputStream/
    DataOutputStream 类)........................................................................................ 164 9.2.5 BufferedInputStream/BufferedOutputStream(BufferedInputStream/
    BufferedOutputStream 类) ................................................................................. 165 9.2.6 PrintStream(PrintStream 类)............................................................................ 166 9.3 Character streams(字符流) .........................................................................169 9.3.1 Text file vs Binary file(文本文件与二进制文件).......................................... 170 9.3.2 Reader/Writer(Reader/Writer 类) .................................................................... 171
    9.3.3 InputStreamReader/OutputStreamWriter(InputStreamReader/ OutputStreamWriter 类) ..................................................................................... 172 9.3.4 FileReader/FileWriter(FileReader/FileWriter 类) ........................................... 175 9.3.5 BufferReader/BufferWriter(BufferReader/BufferWriter 类)........................... 178 9.3.6 PrintWriter(PrintWriter 类).............................................................................. 181 9.4 File class(文件类) ........................................................................................181 Exercises ..................................................................................................................184
    Chapter 10 Multi-threading(多线程) .............................. 186 10.1 Concept of multi-threading(多线程的概念) ................................................186 10.1.1 What’s a thread?(什么是线程?) ................................................................. 186 10.1.2 Thread vs process(线程与进程).................................................................... 186 10.2 Life cycle of a thread(线程的生命周期) .....................................................18810.3 Creating threads(创建线程).......................................................................190 10.3.1 Direct approach of creating a thread(直接法创建线程) ............................... 190 10.3.2 Indirect approach of creating a thread(间接法创建线程)............................. 192
    10.4 Main thread(主线程) ..................................................................................194 10.5 Methods of Thread class(线程类的方法)...................................................196 10.6 Thread synchronization(线程同步) ............................................................199 10.7 Communication between threads(线程间的通信)......................................202 Exercises ..................................................................................................................203
    Chapter 11 Networking(网络) .................................... 205 11.1 Concept of networking(网络的概念) ..........................................................205 11.2 URL class(URL 类) ....................................................................................206 11.3 Sockets communication(套接字通信) ........................................................209
    11.3.1 How Socket communication works?(套接字通信是如何进行的?)........... 209
    11.3.2 Ports(端口)..................................................................................................... 210 11.4 ServerSocket and Socket classes(ServerSocket 和 Socket 类)....................210 11.4.1 Tasks of each side(双方的任务).....................................................................211 11.4.2 Data transmission(数据传输) ........................................................................ 212 11.5 Serving multiple clients(服务多个客户)......................................................217 Exercises ..................................................................................................................219
    References .......................................................... 222
  • 作者介绍

    田玉昆,女,2009年研究生毕业后,到广东培正学院做专职教师。主讲多门专业课程,是程序设计基础(C++)、JAVA程序设计(双语)课的课程负责人。担任多届蓝桥杯大赛的指导老师,指导的学生多次获得国家二等奖、省级一等奖。在相关期刊共发表6篇专业与教学类相关的论文。
    陈伟,男,1968年12月生,湖北省荆州市公安县人。1992年毕业于中南民族学院物理学专业,获理学学士学位;2007年毕业于中南民族大学中国少数民族经济专业,获法学硕士学位。1992-2000年在湖北省公安县职业技能中专学校任教;2000年至今,就职于广东培正学院电子商务系,现为该学院电子商务系系主任。2002年12月至2003年12月加拿大阿尔伯特大学计算机学院访问学者;2013年9月至2014年7月中山大学信息与科学技术学院访问学者。主持广东省教学成果奖培育项目两项,主持广州市社科项目一项,参与广东省教育厅教育科学“十一五”规划项目一项,广东省高等学校思想政治教育科研课题一项,指导国家级大学生创新创业训练计划项目一项。公开发表论文十六篇,参编教材五部。曾荣获广东培正学院课堂教学质量三等奖、优秀毕业设计指导老师、广东培正学院第四次优秀科研成果论文鼓励奖、优秀工会工作者等荣誉称号。2009年研究生毕业后,到广东培正学院做专职教师。主讲网络工程专业;互联网工程;计算机科学与技术专业的多门专业课程。负责全院学生的届蓝桥杯大赛事项;除参与本书的撰写,正在参与另一本“计算机网络”书的编撰工作。在科技期刊发表过多篇论文。
  • 编辑推荐

    本书力图以通俗易懂及小而直接的示例代码解释一个个晦涩难懂的抽象概念,希望用简单的代码及直观的输出结果帮助读者理解程序设计的原理及流程。考虑到多数学校在学习本课程前已经学习了C/C++程序设计语言,本书并不是一味地再次复述与C/C++相同的内容,在前3章的基础部分侧重介绍了与C/C++不同的部分内容,例如Java和C/C++采用不同的字符集,等等。
  • 书评书荐

  • 附件下载

图书推荐