Java 11官方参考手册(第11版)

Java 11官方参考手册(第11版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , [美] (Herbert Schildt)
2020-03
版次: 1
ISBN: 9787302547853
定价: 198.00
装帧: 其他
开本: 16开
纸张: 胶版纸
19人买过
  • 《Java 11官方参考手册(第11版)》针对Java SE 11做了全面更新,介绍如何开发、编译、调试和运行Java程序。本书由畅销书作者Herbert Schildt撰写,涵盖Java语言的方方面面,包括Java的语法、关键字、基本编程原则。此外,本书还介绍Java API库的关键元素(如I/O、集合框架、流库和并发实用工具等),分析Swing、Java Bean和servlet,并通过大量真实案例演示Java语言在编程中的实际应用,深入讲解极其重要的模块系统,并在*后介绍Java的交互式编程工具——JShell。*重要的是,本书讲解清晰,简明扼要;Herbert的这种写作风格使其著作备受全球数百万读者的青睐。

      主要内容

      ● 数据类型、变量、数组和运算符

      ● 控制语句

      ● 类、对象和方法

      ● 方法重载和重写

      ● 继承

      ● 局部变量类型推断

      ● 包和接口

      ● 异常处理

      ● 多线程编程

      ● 枚举、自动装箱和注解

      ● I/O类

      ● 泛型

      ● lambda表达式

      ● 模块

      ● 字符串处理

      ● 集合框架

      ● 联网

      ● 事件处理

      ● 并发API

      ● 流API

      ● 正则表达式

      ● AWT和Swing

      ● Java Bean

      ● servlet        Herbert Schildt是一位畅销书作家,在近30年的时间里,他撰写了大量关于编程的图书。Herbert是Java语言领域的权威专家。他撰写的编程书籍在世界范围内销售了数百万册,并且已经被翻译成所有主要的非英语语言。他撰写了大量Java方面的书籍,包括《Java 9编程参考官方大全(第10版)》、Herb Schildt’s Java Programming Cookbook、Introducing JavaFX 8 Programming和Swing:A Beginner’s Guide,还撰写了许多关于C、C 和C#的图书。尽管对计算机的所有方面都感兴趣,但是他主要关注计算机语言。Herbert获得了美国伊利诺伊大学的学士和硕士学位。他的个人网站是www.HerbSchildt.com。 目    录



    第Ⅰ部分  Java语言



    第 1 章  Java的历史和演变   3



    1.1  Java的家世   3



    1.1.1  现代编程语言的诞生:C语言   3



    1.1.2  C :下一个阶段   4



    1.1.3  Java出现的时机已经成熟   5



    1.2  Java的诞生   5



    1.3  Java改变Internet的方式   6



    1.3.1  Java applet   6



    1.3.2  安全性   7



    1.3.3  可移植性   7



    1.4  Java的魔力:字节码   7



    1.5  超越applet   8



    1.6  更快的发布周期   8



    1.7  servlet:服务器端的Java   9



    1.8  Java的关键特性   9



    1.8.1  简单性   9



    1.8.2  面向对象   10



    1.8.3  健壮性   10



    1.8.4  多线程   10



    1.8.5  体系结构中立   10



    1.8.6  解释执行和高性能   10



    1.8.7  分布式   11



    1.8.8  动态性   11



    1.9  Java的演变历程   11



    1.10  文化革新   14



    第2 章  Java综述   15



    2.1  面向对象编程   15



    2.1.1  两种范式   15



    2.1.2  抽象   15



    2.1.3  OOP三原则   16



    2.2  第一个简单程序   19



    2.2.1  输入程序   19



    2.2.2  编译程序   20



    2.2.3  深入分析第一个示例程序   20



    2.3  第二个简短程序   22



    2.4  两种控制语句   23



    2.4.1  if语句   23



    2.4.2  for循环   24



    2.5  使用代码块   25



    2.6  词汇问题   27



    2.6.1  空白符   27



    2.6.2  标识符   27



    2.6.3  字面值   27



    2.6.4  注释   27



    2.6.5  分隔符   27



    2.6.6  Java关键字   28



    2.7  Java类库   29



    第3 章  数据类型、变量和数组   30



    3.1  Java是强类型化的语言   30



    3.2  基本类型   30



    3.3  整型   31



    3.3.1  byte   31



    3.3.2  short   31



    3.3.3  int   31



    3.3.4  long   32



    3.4  浮点型   32



    3.4.1  float   32



    3.4.2  double   33



    3.5  字符型   33



    3.6  布尔型   34



    3.7  深入分析字面值   35



    3.7.1  整型字面值   35



    3.7.2  浮点型字面值   36



    3.7.3  布尔型字面值   36



    3.7.4  字符型字面值   36



    3.7.5  字符串字面值   37



    3.8  变量   37



    3.8.1  变量的声明   37



    3.8.2  动态初始化   38



    3.8.3  变量的作用域和生存期   38



    3.9  类型转换和强制类型转换   40



    3.9.1  Java的自动类型转换   40



    3.9.2  强制转换不兼容的类型   41



    3.10  表达式中的自动类型提升   42



    3.11  数组   43



    3.11.1  一维数组   43



    3.11.2  多维数组   45



    3.11.3  另一种数组声明语法   48



    3.12  局部变量的类型推断   49



    3.13  关于字符串的一些说明   51



    第4章  运算符   52



    4.1  算术运算符   52



    4.1.1  基本算术运算符   52



    4.1.2  求模运算符   53



    4.1.3  算术与赋值复合运算符   54



    4.1.4  自增与自减运算符   55



    4.2  位运算符   56



    4.2.1  位逻辑运算符   57



    4.2.2  左移   59



    4.2.3  右移   60



    4.2.4  无符号右移   61



    4.2.5  位运算符与赋值的组合   62



    4.3  关系运算符   63



    4.4  布尔逻辑运算符   64



    4.5  赋值运算符   65



    4.6  “?”运算符   66



    4.7  运算符的优先级   66



    4.8  使用圆括号   67



    第 5 章  控制语句   68



    5.1  Java的选择语句   68



    5.1.1  if语句   68



    5.1.2  switch语句   70



    5.2  迭代语句   74



    5.2.1  while语句   75



    5.2.2  do-while语句   76



    5.2.3  for语句   78



    5.2.4  for循环的for-each版本   81



    5.2.5  for循环中的局部变量类型推断   85



    5.2.6  嵌套的循环   86



    5.3  跳转语句   86



    5.3.1  使用break语句   87



    5.3.2  使用continue语句   90



    5.3.3  return语句   91



    第 6 章  类   92



    6.1  类的基础知识   92



    6.1.1  类的一般形式   92



    6.1.2  一个简单的类   93



    6.2  声明对象   95



    6.3  为对象引用变量赋值   96



    6.4  方法   97



    6.4.1  为Box类添加方法   97



    6.4.2  返回值   99



    6.4.3  添加带参数的方法   100



    6.5  构造函数   102



    6.6  this关键字   104



    6.7  垃圾回收   105



    6.8  堆栈类   105



    第 7 章  方法和类的深入分析   108



    7.1  重载方法   108



    7.2  将对象用作参数   112



    7.3  实参传递的深入分析   114



    7.4  返回对象   116



    7.5  递归   116



    7.6  访问控制   118



    7.7  理解static   121



    7.8  final介绍   123



    7.9  重新审视数组   123



    7.10  嵌套类和内部类   125



    7.11  String类   127



    7.12  使用命令行参数   129



    7.13  varargs:可变长度实参   129



    7.13.1  重载varargs方法   132



    7.13.2  varargs方法与模糊性   133



    第 8 章  继承   136



    8.1  继承的基础知识   136



    8.1.1  成员访问与继承   137



    8.1.2  一个更实际的例子   138



    8.1.3  超类变量可以引用子类对象   140



    8.2  使用super关键字   141



    8.2.1  使用super调用超类的构造函数   141



    8.2.2  super的另一种用法   144



    8.3  创建多级继承层次   145



    8.4  构造函数的执行时机   148



    8.5  方法重写   149



    8.6  动态方法调度   151



    8.6.1  重写方法的目的   152



    8.6.2  应用方法重写   152



    8.7  使用抽象类   154



    8.8  在继承中使用final关键字   156



    8.8.1  使用final关键字阻止重写   156



    8.8.2  使用final关键字阻止继承   156



    8.9  局部变量类型推断和继承   157



    8.10  Object类   158



    第9章  包和接口   160



    9.1  包   160



    9.1.1  定义包   160



    9.1.2  包查找与CLASSPATH   161



    9.1.3  一个简短的包示例   161



    9.2  包和成员访问   162



    9.3  导入包   166



    9.4  接口   167



    9.4.1  定义接口   168



    9.4.2  实现接口   168



    9.4.3  嵌套接口   170



    9.4.4  应用接口   171



    9.4.5  接口中的变量   174



    9.4.6  接口可以扩展   176



    9.5  默认接口方法   176



    9.5.1  默认方法基础知识   177



    9.5.2  一个更实用的例子   178



    9.5.3  多级继承的问题   179



    9.6  在接口中使用静态方法   179



    9.7  私有接口方法   180



    9.8  关于包和接口的最后说明   181



    第 10 章  异常处理   182



    10.1  异常处理的基础知识   182



    10.2  异常类型   183



    10.3  未捕获的异常   183



    10.4  使用try和catch   184



    10.5  多条catch子句   186



    10.6  嵌套的try语句   187



    10.7  throw   189



    10.8  throws   190



    10.9  finally   191



    10.10  Java的内置异常   192



    10.11  创建自己的异常子类   193



    10.12  链式异常   195



    10.13  其他三个异常特性   196



    10.14  使用异常   197



    第11章  多线程编程   198



    11.1  Java线程模型   198



    11.1.1  线程优先级   199



    11.1.2  同步   200



    11.1.3  消息传递   200



    11.1.4  Thread类和Runnable接口   200



    11.2  主线程   201



    11.3  创建线程   202



    11.3.1  实现Runnable接口   202



    11.3.2  扩展Thread类   204



    11.3.3  选择一种创建方式   205



    11.4  创建多个线程   205



    11.5  使用isAlive()和join()方法   206



    11.6  线程优先级   209



    11.7  同步   209



    11.7.1  使用同步方法   209



    11.7.2  synchronized语句   211



    11.8  线程间通信   213



    11.9  挂起、恢复与停止线程   218



    11.10  获取线程的状态   221



    11.11  使用工厂方法创建和启动线程   222



    11.12  使用多线程   222



    第 12 章  枚举、自动装箱与注解   223



    12.1  枚举   223



    12.2  类型封装器   231



    12.3  自动装箱   233



    12.4  注解   237



    12.5  类型注解   248



    12.6  重复注解   252



    12.7  一些限制   253



    第 13 章  I/O、带资源的try语句以及其他主题   254



    13.1  I/O的基础知识   254



    13.2  读取控制台输入   257



    13.3  向控制台写输出   259



    13.4  PrintWriter类   260



    13.5  读/写文件   260



    13.6  自动关闭文件   266



    13.7  transient和volatile修饰符   268



    13.8  使用instanceof运算符   269



    13.9  strictfp   271



    13.10  本地方法   271



    13.11  使用assert   271



    13.12  静态导入   274



    13.13  通过this()调用重载的构造函数   276



    13.14  紧凑API配置文件   277



    第14章  泛型   278



    14.1  什么是泛型   278



    14.2  一个简单的泛型示例   279



    14.3  带两个类型参数的泛型类   284



    14.4  泛型类的一般形式   285



    14.5  有界类型   285



    14.6  使用通配符参数   288



    14.7  创建泛型方法   294



    14.8  泛型接口   296



    14.9  原始类型与遗留代码   298



    14.10  泛型类层次   300



    14.11  泛型的类型推断   307



    14.12  局部变量类型推断和泛型   308



    14.13  擦除   308



    14.14  模糊性错误   310



    14.15  使用泛型的一些限制   311



    第15 章  lambda表达式   313



    15.1  lambda表达式简介   313



    15.2  块lambda表达式   318



    15.3  泛型函数式接口   319



    15.4  作为参数传递lambda表达式   321



    15.5  lambda表达式与异常   323



    15.6  lambda表达式和变量捕获   324



    15.7  方法引用   325



    15.8  构造函数引用   332



    15.9  预定义的函数式接口   336



    第 16 章  模块   337



    16.1  模块基础知识   337



    16.2  java.base和平台模块   342



    16.3  旧代码和未命名的模块   343



    16.4  导出到特定的模块   343



    16.5  使用requires transitive   344



    16.6  使用服务   348



    16.7  模块图   354



    16.8  三个特殊的模块特性   355



    16.9  jlink工具和模块JAR文件介绍   356



    16.10  层与自动模块简述   357



    16.11  小结   357



    第Ⅱ部分  Java库



    第17章  字符串处理   361



    17.1  String类的构造函数   361



    17.2  字符串的长度   363



    17.3  特殊的字符串操作   363



    17.4  提取字符   366



    17.5  比较字符串   367



    17.6  查找字符串   370



    17.7  修改字符串   372



    17.8  使用valueOf()转换数据   374



    17.9  改变字符串中字符的大小写   375



    17.10  连接字符串   375



    17.11  其他String方法   376



    17.12  StringBuffer类   377



    17.13  StringBuilder类   382



    第18章  探究java.lang   383



    18.1  基本类型封装器   384



    18.1.1  Number   384



    18.2  Void类   399



    18.3  Process类   399



    18.4  Runtime类   400



    18.5  Runtime.Version   403



    18.6  ProcessBuilder类   404



    18.7  System类   406



    18.8  System.Logger和System.LoggerFinder   409



    18.9  Object类   409



    18.10  使用clone()方法和Cloneable接口   410



    18.11  Class类   411



    18.12  ClassLoader类   414



    18.13  Math类   414



    18.14  StrictMath类   418



    18.15  Compiler类   418



    18.16  Thread类、ThreadGroup类和Runnable接口   418



    18.17  ThreadLocal和InheritableThreadLocal类   424



    18.18  Package类   424



    18.19  Module类   426



    18.20  ModuleLayer类   426



    18.21  RuntimePermission类   426



    18.22  Throwable类   426



    18.23  SecurityManager类   426



    18.24  StackTraceElement类   427



    18.25  StackWalker类和StackWalker.StackFrame接口   427



    18.26  Enum类   427



    18.27  ClassValue类   428



    18.28  CharSequence接口   428



    18.29  Comparable接口   429



    18.30  Appendable接口   429



    18.31  Iterable接口   429



    18.32  Readable接口   430



    18.33  AutoCloseable接口   430



    18.34  Thread.UncaughtExceptionHandler接口   430



    18.35  java.lang子包   430



    第19章  java.util第1部分:集合框架   432



    19.1  集合概述   433



    19.2  集合接口   434



    19.3  集合类   441



    19.4  通过迭代器访问集合   451



    19.5  Spliterator   454



    19.6  在集合中存储用户定义的类   456



    19.7  RandomAccess接口   457



    19.8  使用映射   458



    19.9  比较器   467



    19.10  集合算法   474



    19.11  Arrays类   479



    19.12  遗留的类和接口   483



    19.13  集合小结   497



    第20章  java.util第2部分:更多实用工具类   498



    20.1  StringTokenizer类   498



    20.2  BitSet类   499



    20.3  Optional、OptionalDouble、OptionalInt和OptionalLong   502



    20.4  Date类   504



    20.5  Calendar类   505



    20.6  GregorianCalendar类   508



    20.7  TimeZone类   509



    20.8  SimpleTimeZone类   510



    20.9  Locale类   511



    20.10  Random类   512



    20.11  Timer和TimerTask类   514



    20.12  Currency类   516



    20.13  Formatter类   516



    20.14  Scanner类   529



    20.15  ResourceBundle、ListResourceBundle和PropertyResourceBundle类   538



    20.16  其他实用工具类和接口   541



    20.17  java.util子包   542



    第21章  输入/输出:探究java.io   546



    21.1  I/O类和接口   546



    21.2  File类   547



    21.3  AutoCloseable、Closeable和



    Flushable接口   552



    21.4  I/O异常   552



    21.5  关闭流的两种方式   553



    21.6  流类   554



    21.7  字节流   554



    21.8  字符流   571



    21.9  Console类   580



    21.10  串行化   581



    21.11  流的优点   586



    第22章  探究NIO   587



    22.1  NIO类   587



    22.2  NIO的基础知识   587



    22.3  NIO.2对NIO的增强   590



    FileStore类   595



    22.4  使用NIO系统   595



    第23章  联网   613



    23.1  联网的基础知识   613



    23.2  java.net联网类和接口   614



    23.3  InetAddress类   615



    23.4  Inet4Address类和Inet6Address类   616



    23.5  TCP/IP客户端套接字   616



    23.6  URL类   619



    23.7  URLConnection类   620



    23.8  HttpURLConnection类   622



    23.9  URI类   624



    23.10  cookie   624



    23.11  TCP/IP服务器套接字   624



    23.12  数据报   624



    23.13  java.net.http包   627



    第24章  事件处理   632



    24.1  两种事件处理机制   632



    24.2  委托事件模型   632



    24.3  事件类   634



    24.4  KeyEvent类   639



    24.5  事件源   643



    24.6  事件监听器接口   643



    24.7  使用委托事件模型   646



    24.8  适配器类   652



    24.9  内部类   654



    第25章  AWT介绍:使用窗口、图形和文本   658



    25.1  AWT类   658



    25.2  窗口基本元素   660



    25.3  使用框架窗口   661



    25.4  使用图形   665



    25.5  使用颜色   669



    25.6  设置绘图模式   671



    25.7  使用字体   673



    25.8  使用FontMetrics管理文本输出   678



    第26章  使用AWT控件、布局管理器和菜单   681



    26.1  AWT控件的基础知识   681



    26.1.1  添加和移除控件   682



    26.1.2  响应控件   682



    26.1.3  HeadlessException异常   682



    26.2  使用标签   682



    26.3  使用命令按钮   684



    26.4  使用复选框   687



    26.5  使用复选框组   689



    26.6  使用下拉列表   691



    26.7  使用列表框   693



    26.8  管理滚动条   696



    26.9  使用TextField   699



    26.10  使用TextArea   701



    26.11  理解布局管理器   703



    26.12  菜单栏和菜单   715



    26.13  对话框   719



    26.14  关于重写paint()方法   723



    第27章  图像   724



    27.1  文件格式   724



    27.2  图像基础知识:创建、加载与显示   724



    27.3  双缓冲   726



    27.4  ImageProducer接口   729



    27.5  ImageConsumer接口   731



    27.6  ImageFilter类   733



    27.7  其他图像类   745



    第28章  并发实用工具   746



    28.1  并发API包   747



    28.2  使用同步对象   748



    28.3  使用执行器   764



    28.4  TimeUnit枚举   769



    28.5  并发集合   770



    28.6  锁   771



    28.7  原子操作   773



    28.8  通过Fork/Join框架进行并行编程   774



    28.9  并发实用工具与Java传统方式的比较   787



    第29章  流API   788



    29.1  流的基础知识   788



    29.2  缩减操作   793



    29.3  使用并行流   795



    29.4  映射   797



    29.5  收集   800



    29.6  迭代器和流   803



    29.7  流API中更多值得探究的地方   807



    第30章  正则表达式和其他包   808



    30.1  正则表达式处理   808



    30.2  反射   815



    30.3  远程方法调用   818



    30.4  使用java.text格式化日期和时间   821



    30.5  java.time的时间和日期API   824



    第Ⅲ部分  使用Swing进行GUI编程



    第 31 章  Swing简介   833



    31.1  Swing的起源   833



    31.2  Swing的构建以AWT为基础   834



    31.3  两个关键的Swing特性   834



    31.4  MVC连接   834



    31.5  组件与容器   835



    31.6  Swing包   836



    31.7  一个简单的Swing应用程序   837



    31.8  事件处理   840



    31.9  在Swing中绘图   843



    第32章  探索Swing   847



    32.1  JLabel与ImageIcon   847



    32.2  JTextField   849



    32.3  Swing按钮   850



    32.4  JTabbedPane   858



    32.5  JScrollPane   860



    32.6  JList   862



    32.7  JComboBox   864



    32.8  树   866



    32.9  JTable   869



    第33章  Swing菜单简介   872



    33.1  菜单的基础知识   872



    33.2  JMenuBar、JMenu和JMenuItem



    33.3  创建主菜单   875



    33.4  向菜单项添加助记符和加速键   879



    33.5  向菜单项添加图片和工具提示   881



    33.6  使用JRadioButtonMenuItem和



    JCheckBoxMenuItem   881



    33.7  创建弹出菜单   883



    33.8  创建工具栏   886



    33.9  使用动作   888



    33.10  完整演示MenuDemo程序   892



    33.11  继续探究Swing   898



    第Ⅳ部分  应用Java



    第 34 章  Java Bean   901



    34.1  Java Bean是什么   901



    34.2  Java Bean的优势   901



    34.3  内省   902



    34.5  持久性   904



    34.6  定制器   904



    34.7  Java Bean API   905



    34.8  一个Bean示例   906



    第35章  servlet   910



    35.1  背景   910



    35.2  servlet的生命周期   910



    35.3  servlet开发选项   911



    35.4  使用Tomcat   911



    35.5  一个简单的servlet   912



    35.6  Servlet API   914



    35.7  javax.servlet包   914



    35.8  读取servlet参数   917



    35.9  javax.servlet.http包   918



    35.9.1  HttpServletRequest接口   919



    35.9.2  HttpServletResponse接口   920



    35.9.3  HttpSession接口   920



    35.9.4  Cookie类   921



    35.9.5  HttpServlet类   922



    35.10  处理HTTP请求和响应   923



    35.11  使用cookie   925



    35.12  会话跟踪   927



    第Ⅴ部分  附录



    附录A  使用Java的文档注释   931



    附录B  JShell简介   938



    附录C  在一个步骤中编译和运行简单的单文件程序   946



     
  • 内容简介:
    《Java 11官方参考手册(第11版)》针对Java SE 11做了全面更新,介绍如何开发、编译、调试和运行Java程序。本书由畅销书作者Herbert Schildt撰写,涵盖Java语言的方方面面,包括Java的语法、关键字、基本编程原则。此外,本书还介绍Java API库的关键元素(如I/O、集合框架、流库和并发实用工具等),分析Swing、Java Bean和servlet,并通过大量真实案例演示Java语言在编程中的实际应用,深入讲解极其重要的模块系统,并在*后介绍Java的交互式编程工具——JShell。*重要的是,本书讲解清晰,简明扼要;Herbert的这种写作风格使其著作备受全球数百万读者的青睐。

      主要内容

      ● 数据类型、变量、数组和运算符

      ● 控制语句

      ● 类、对象和方法

      ● 方法重载和重写

      ● 继承

      ● 局部变量类型推断

      ● 包和接口

      ● 异常处理

      ● 多线程编程

      ● 枚举、自动装箱和注解

      ● I/O类

      ● 泛型

      ● lambda表达式

      ● 模块

      ● 字符串处理

      ● 集合框架

      ● 联网

      ● 事件处理

      ● 并发API

      ● 流API

      ● 正则表达式

      ● AWT和Swing

      ● Java Bean

      ● servlet
  • 作者简介:
           Herbert Schildt是一位畅销书作家,在近30年的时间里,他撰写了大量关于编程的图书。Herbert是Java语言领域的权威专家。他撰写的编程书籍在世界范围内销售了数百万册,并且已经被翻译成所有主要的非英语语言。他撰写了大量Java方面的书籍,包括《Java 9编程参考官方大全(第10版)》、Herb Schildt’s Java Programming Cookbook、Introducing JavaFX 8 Programming和Swing:A Beginner’s Guide,还撰写了许多关于C、C 和C#的图书。尽管对计算机的所有方面都感兴趣,但是他主要关注计算机语言。Herbert获得了美国伊利诺伊大学的学士和硕士学位。他的个人网站是www.HerbSchildt.com。
  • 目录:
    目    录



    第Ⅰ部分  Java语言



    第 1 章  Java的历史和演变   3



    1.1  Java的家世   3



    1.1.1  现代编程语言的诞生:C语言   3



    1.1.2  C :下一个阶段   4



    1.1.3  Java出现的时机已经成熟   5



    1.2  Java的诞生   5



    1.3  Java改变Internet的方式   6



    1.3.1  Java applet   6



    1.3.2  安全性   7



    1.3.3  可移植性   7



    1.4  Java的魔力:字节码   7



    1.5  超越applet   8



    1.6  更快的发布周期   8



    1.7  servlet:服务器端的Java   9



    1.8  Java的关键特性   9



    1.8.1  简单性   9



    1.8.2  面向对象   10



    1.8.3  健壮性   10



    1.8.4  多线程   10



    1.8.5  体系结构中立   10



    1.8.6  解释执行和高性能   10



    1.8.7  分布式   11



    1.8.8  动态性   11



    1.9  Java的演变历程   11



    1.10  文化革新   14



    第2 章  Java综述   15



    2.1  面向对象编程   15



    2.1.1  两种范式   15



    2.1.2  抽象   15



    2.1.3  OOP三原则   16



    2.2  第一个简单程序   19



    2.2.1  输入程序   19



    2.2.2  编译程序   20



    2.2.3  深入分析第一个示例程序   20



    2.3  第二个简短程序   22



    2.4  两种控制语句   23



    2.4.1  if语句   23



    2.4.2  for循环   24



    2.5  使用代码块   25



    2.6  词汇问题   27



    2.6.1  空白符   27



    2.6.2  标识符   27



    2.6.3  字面值   27



    2.6.4  注释   27



    2.6.5  分隔符   27



    2.6.6  Java关键字   28



    2.7  Java类库   29



    第3 章  数据类型、变量和数组   30



    3.1  Java是强类型化的语言   30



    3.2  基本类型   30



    3.3  整型   31



    3.3.1  byte   31



    3.3.2  short   31



    3.3.3  int   31



    3.3.4  long   32



    3.4  浮点型   32



    3.4.1  float   32



    3.4.2  double   33



    3.5  字符型   33



    3.6  布尔型   34



    3.7  深入分析字面值   35



    3.7.1  整型字面值   35



    3.7.2  浮点型字面值   36



    3.7.3  布尔型字面值   36



    3.7.4  字符型字面值   36



    3.7.5  字符串字面值   37



    3.8  变量   37



    3.8.1  变量的声明   37



    3.8.2  动态初始化   38



    3.8.3  变量的作用域和生存期   38



    3.9  类型转换和强制类型转换   40



    3.9.1  Java的自动类型转换   40



    3.9.2  强制转换不兼容的类型   41



    3.10  表达式中的自动类型提升   42



    3.11  数组   43



    3.11.1  一维数组   43



    3.11.2  多维数组   45



    3.11.3  另一种数组声明语法   48



    3.12  局部变量的类型推断   49



    3.13  关于字符串的一些说明   51



    第4章  运算符   52



    4.1  算术运算符   52



    4.1.1  基本算术运算符   52



    4.1.2  求模运算符   53



    4.1.3  算术与赋值复合运算符   54



    4.1.4  自增与自减运算符   55



    4.2  位运算符   56



    4.2.1  位逻辑运算符   57



    4.2.2  左移   59



    4.2.3  右移   60



    4.2.4  无符号右移   61



    4.2.5  位运算符与赋值的组合   62



    4.3  关系运算符   63



    4.4  布尔逻辑运算符   64



    4.5  赋值运算符   65



    4.6  “?”运算符   66



    4.7  运算符的优先级   66



    4.8  使用圆括号   67



    第 5 章  控制语句   68



    5.1  Java的选择语句   68



    5.1.1  if语句   68



    5.1.2  switch语句   70



    5.2  迭代语句   74



    5.2.1  while语句   75



    5.2.2  do-while语句   76



    5.2.3  for语句   78



    5.2.4  for循环的for-each版本   81



    5.2.5  for循环中的局部变量类型推断   85



    5.2.6  嵌套的循环   86



    5.3  跳转语句   86



    5.3.1  使用break语句   87



    5.3.2  使用continue语句   90



    5.3.3  return语句   91



    第 6 章  类   92



    6.1  类的基础知识   92



    6.1.1  类的一般形式   92



    6.1.2  一个简单的类   93



    6.2  声明对象   95



    6.3  为对象引用变量赋值   96



    6.4  方法   97



    6.4.1  为Box类添加方法   97



    6.4.2  返回值   99



    6.4.3  添加带参数的方法   100



    6.5  构造函数   102



    6.6  this关键字   104



    6.7  垃圾回收   105



    6.8  堆栈类   105



    第 7 章  方法和类的深入分析   108



    7.1  重载方法   108



    7.2  将对象用作参数   112



    7.3  实参传递的深入分析   114



    7.4  返回对象   116



    7.5  递归   116



    7.6  访问控制   118



    7.7  理解static   121



    7.8  final介绍   123



    7.9  重新审视数组   123



    7.10  嵌套类和内部类   125



    7.11  String类   127



    7.12  使用命令行参数   129



    7.13  varargs:可变长度实参   129



    7.13.1  重载varargs方法   132



    7.13.2  varargs方法与模糊性   133



    第 8 章  继承   136



    8.1  继承的基础知识   136



    8.1.1  成员访问与继承   137



    8.1.2  一个更实际的例子   138



    8.1.3  超类变量可以引用子类对象   140



    8.2  使用super关键字   141



    8.2.1  使用super调用超类的构造函数   141



    8.2.2  super的另一种用法   144



    8.3  创建多级继承层次   145



    8.4  构造函数的执行时机   148



    8.5  方法重写   149



    8.6  动态方法调度   151



    8.6.1  重写方法的目的   152



    8.6.2  应用方法重写   152



    8.7  使用抽象类   154



    8.8  在继承中使用final关键字   156



    8.8.1  使用final关键字阻止重写   156



    8.8.2  使用final关键字阻止继承   156



    8.9  局部变量类型推断和继承   157



    8.10  Object类   158



    第9章  包和接口   160



    9.1  包   160



    9.1.1  定义包   160



    9.1.2  包查找与CLASSPATH   161



    9.1.3  一个简短的包示例   161



    9.2  包和成员访问   162



    9.3  导入包   166



    9.4  接口   167



    9.4.1  定义接口   168



    9.4.2  实现接口   168



    9.4.3  嵌套接口   170



    9.4.4  应用接口   171



    9.4.5  接口中的变量   174



    9.4.6  接口可以扩展   176



    9.5  默认接口方法   176



    9.5.1  默认方法基础知识   177



    9.5.2  一个更实用的例子   178



    9.5.3  多级继承的问题   179



    9.6  在接口中使用静态方法   179



    9.7  私有接口方法   180



    9.8  关于包和接口的最后说明   181



    第 10 章  异常处理   182



    10.1  异常处理的基础知识   182



    10.2  异常类型   183



    10.3  未捕获的异常   183



    10.4  使用try和catch   184



    10.5  多条catch子句   186



    10.6  嵌套的try语句   187



    10.7  throw   189



    10.8  throws   190



    10.9  finally   191



    10.10  Java的内置异常   192



    10.11  创建自己的异常子类   193



    10.12  链式异常   195



    10.13  其他三个异常特性   196



    10.14  使用异常   197



    第11章  多线程编程   198



    11.1  Java线程模型   198



    11.1.1  线程优先级   199



    11.1.2  同步   200



    11.1.3  消息传递   200



    11.1.4  Thread类和Runnable接口   200



    11.2  主线程   201



    11.3  创建线程   202



    11.3.1  实现Runnable接口   202



    11.3.2  扩展Thread类   204



    11.3.3  选择一种创建方式   205



    11.4  创建多个线程   205



    11.5  使用isAlive()和join()方法   206



    11.6  线程优先级   209



    11.7  同步   209



    11.7.1  使用同步方法   209



    11.7.2  synchronized语句   211



    11.8  线程间通信   213



    11.9  挂起、恢复与停止线程   218



    11.10  获取线程的状态   221



    11.11  使用工厂方法创建和启动线程   222



    11.12  使用多线程   222



    第 12 章  枚举、自动装箱与注解   223



    12.1  枚举   223



    12.2  类型封装器   231



    12.3  自动装箱   233



    12.4  注解   237



    12.5  类型注解   248



    12.6  重复注解   252



    12.7  一些限制   253



    第 13 章  I/O、带资源的try语句以及其他主题   254



    13.1  I/O的基础知识   254



    13.2  读取控制台输入   257



    13.3  向控制台写输出   259



    13.4  PrintWriter类   260



    13.5  读/写文件   260



    13.6  自动关闭文件   266



    13.7  transient和volatile修饰符   268



    13.8  使用instanceof运算符   269



    13.9  strictfp   271



    13.10  本地方法   271



    13.11  使用assert   271



    13.12  静态导入   274



    13.13  通过this()调用重载的构造函数   276



    13.14  紧凑API配置文件   277



    第14章  泛型   278



    14.1  什么是泛型   278



    14.2  一个简单的泛型示例   279



    14.3  带两个类型参数的泛型类   284



    14.4  泛型类的一般形式   285



    14.5  有界类型   285



    14.6  使用通配符参数   288



    14.7  创建泛型方法   294



    14.8  泛型接口   296



    14.9  原始类型与遗留代码   298



    14.10  泛型类层次   300



    14.11  泛型的类型推断   307



    14.12  局部变量类型推断和泛型   308



    14.13  擦除   308



    14.14  模糊性错误   310



    14.15  使用泛型的一些限制   311



    第15 章  lambda表达式   313



    15.1  lambda表达式简介   313



    15.2  块lambda表达式   318



    15.3  泛型函数式接口   319



    15.4  作为参数传递lambda表达式   321



    15.5  lambda表达式与异常   323



    15.6  lambda表达式和变量捕获   324



    15.7  方法引用   325



    15.8  构造函数引用   332



    15.9  预定义的函数式接口   336



    第 16 章  模块   337



    16.1  模块基础知识   337



    16.2  java.base和平台模块   342



    16.3  旧代码和未命名的模块   343



    16.4  导出到特定的模块   343



    16.5  使用requires transitive   344



    16.6  使用服务   348



    16.7  模块图   354



    16.8  三个特殊的模块特性   355



    16.9  jlink工具和模块JAR文件介绍   356



    16.10  层与自动模块简述   357



    16.11  小结   357



    第Ⅱ部分  Java库



    第17章  字符串处理   361



    17.1  String类的构造函数   361



    17.2  字符串的长度   363



    17.3  特殊的字符串操作   363



    17.4  提取字符   366



    17.5  比较字符串   367



    17.6  查找字符串   370



    17.7  修改字符串   372



    17.8  使用valueOf()转换数据   374



    17.9  改变字符串中字符的大小写   375



    17.10  连接字符串   375



    17.11  其他String方法   376



    17.12  StringBuffer类   377



    17.13  StringBuilder类   382



    第18章  探究java.lang   383



    18.1  基本类型封装器   384



    18.1.1  Number   384



    18.2  Void类   399



    18.3  Process类   399



    18.4  Runtime类   400



    18.5  Runtime.Version   403



    18.6  ProcessBuilder类   404



    18.7  System类   406



    18.8  System.Logger和System.LoggerFinder   409



    18.9  Object类   409



    18.10  使用clone()方法和Cloneable接口   410



    18.11  Class类   411



    18.12  ClassLoader类   414



    18.13  Math类   414



    18.14  StrictMath类   418



    18.15  Compiler类   418



    18.16  Thread类、ThreadGroup类和Runnable接口   418



    18.17  ThreadLocal和InheritableThreadLocal类   424



    18.18  Package类   424



    18.19  Module类   426



    18.20  ModuleLayer类   426



    18.21  RuntimePermission类   426



    18.22  Throwable类   426



    18.23  SecurityManager类   426



    18.24  StackTraceElement类   427



    18.25  StackWalker类和StackWalker.StackFrame接口   427



    18.26  Enum类   427



    18.27  ClassValue类   428



    18.28  CharSequence接口   428



    18.29  Comparable接口   429



    18.30  Appendable接口   429



    18.31  Iterable接口   429



    18.32  Readable接口   430



    18.33  AutoCloseable接口   430



    18.34  Thread.UncaughtExceptionHandler接口   430



    18.35  java.lang子包   430



    第19章  java.util第1部分:集合框架   432



    19.1  集合概述   433



    19.2  集合接口   434



    19.3  集合类   441



    19.4  通过迭代器访问集合   451



    19.5  Spliterator   454



    19.6  在集合中存储用户定义的类   456



    19.7  RandomAccess接口   457



    19.8  使用映射   458



    19.9  比较器   467



    19.10  集合算法   474



    19.11  Arrays类   479



    19.12  遗留的类和接口   483



    19.13  集合小结   497



    第20章  java.util第2部分:更多实用工具类   498



    20.1  StringTokenizer类   498



    20.2  BitSet类   499



    20.3  Optional、OptionalDouble、OptionalInt和OptionalLong   502



    20.4  Date类   504



    20.5  Calendar类   505



    20.6  GregorianCalendar类   508



    20.7  TimeZone类   509



    20.8  SimpleTimeZone类   510



    20.9  Locale类   511



    20.10  Random类   512



    20.11  Timer和TimerTask类   514



    20.12  Currency类   516



    20.13  Formatter类   516



    20.14  Scanner类   529



    20.15  ResourceBundle、ListResourceBundle和PropertyResourceBundle类   538



    20.16  其他实用工具类和接口   541



    20.17  java.util子包   542



    第21章  输入/输出:探究java.io   546



    21.1  I/O类和接口   546



    21.2  File类   547



    21.3  AutoCloseable、Closeable和



    Flushable接口   552



    21.4  I/O异常   552



    21.5  关闭流的两种方式   553



    21.6  流类   554



    21.7  字节流   554



    21.8  字符流   571



    21.9  Console类   580



    21.10  串行化   581



    21.11  流的优点   586



    第22章  探究NIO   587



    22.1  NIO类   587



    22.2  NIO的基础知识   587



    22.3  NIO.2对NIO的增强   590



    FileStore类   595



    22.4  使用NIO系统   595



    第23章  联网   613



    23.1  联网的基础知识   613



    23.2  java.net联网类和接口   614



    23.3  InetAddress类   615



    23.4  Inet4Address类和Inet6Address类   616



    23.5  TCP/IP客户端套接字   616



    23.6  URL类   619



    23.7  URLConnection类   620



    23.8  HttpURLConnection类   622



    23.9  URI类   624



    23.10  cookie   624



    23.11  TCP/IP服务器套接字   624



    23.12  数据报   624



    23.13  java.net.http包   627



    第24章  事件处理   632



    24.1  两种事件处理机制   632



    24.2  委托事件模型   632



    24.3  事件类   634



    24.4  KeyEvent类   639



    24.5  事件源   643



    24.6  事件监听器接口   643



    24.7  使用委托事件模型   646



    24.8  适配器类   652



    24.9  内部类   654



    第25章  AWT介绍:使用窗口、图形和文本   658



    25.1  AWT类   658



    25.2  窗口基本元素   660



    25.3  使用框架窗口   661



    25.4  使用图形   665



    25.5  使用颜色   669



    25.6  设置绘图模式   671



    25.7  使用字体   673



    25.8  使用FontMetrics管理文本输出   678



    第26章  使用AWT控件、布局管理器和菜单   681



    26.1  AWT控件的基础知识   681



    26.1.1  添加和移除控件   682



    26.1.2  响应控件   682



    26.1.3  HeadlessException异常   682



    26.2  使用标签   682



    26.3  使用命令按钮   684



    26.4  使用复选框   687



    26.5  使用复选框组   689



    26.6  使用下拉列表   691



    26.7  使用列表框   693



    26.8  管理滚动条   696



    26.9  使用TextField   699



    26.10  使用TextArea   701



    26.11  理解布局管理器   703



    26.12  菜单栏和菜单   715



    26.13  对话框   719



    26.14  关于重写paint()方法   723



    第27章  图像   724



    27.1  文件格式   724



    27.2  图像基础知识:创建、加载与显示   724



    27.3  双缓冲   726



    27.4  ImageProducer接口   729



    27.5  ImageConsumer接口   731



    27.6  ImageFilter类   733



    27.7  其他图像类   745



    第28章  并发实用工具   746



    28.1  并发API包   747



    28.2  使用同步对象   748



    28.3  使用执行器   764



    28.4  TimeUnit枚举   769



    28.5  并发集合   770



    28.6  锁   771



    28.7  原子操作   773



    28.8  通过Fork/Join框架进行并行编程   774



    28.9  并发实用工具与Java传统方式的比较   787



    第29章  流API   788



    29.1  流的基础知识   788



    29.2  缩减操作   793



    29.3  使用并行流   795



    29.4  映射   797



    29.5  收集   800



    29.6  迭代器和流   803



    29.7  流API中更多值得探究的地方   807



    第30章  正则表达式和其他包   808



    30.1  正则表达式处理   808



    30.2  反射   815



    30.3  远程方法调用   818



    30.4  使用java.text格式化日期和时间   821



    30.5  java.time的时间和日期API   824



    第Ⅲ部分  使用Swing进行GUI编程



    第 31 章  Swing简介   833



    31.1  Swing的起源   833



    31.2  Swing的构建以AWT为基础   834



    31.3  两个关键的Swing特性   834



    31.4  MVC连接   834



    31.5  组件与容器   835



    31.6  Swing包   836



    31.7  一个简单的Swing应用程序   837



    31.8  事件处理   840



    31.9  在Swing中绘图   843



    第32章  探索Swing   847



    32.1  JLabel与ImageIcon   847



    32.2  JTextField   849



    32.3  Swing按钮   850



    32.4  JTabbedPane   858



    32.5  JScrollPane   860



    32.6  JList   862



    32.7  JComboBox   864



    32.8  树   866



    32.9  JTable   869



    第33章  Swing菜单简介   872



    33.1  菜单的基础知识   872



    33.2  JMenuBar、JMenu和JMenuItem



    33.3  创建主菜单   875



    33.4  向菜单项添加助记符和加速键   879



    33.5  向菜单项添加图片和工具提示   881



    33.6  使用JRadioButtonMenuItem和



    JCheckBoxMenuItem   881



    33.7  创建弹出菜单   883



    33.8  创建工具栏   886



    33.9  使用动作   888



    33.10  完整演示MenuDemo程序   892



    33.11  继续探究Swing   898



    第Ⅳ部分  应用Java



    第 34 章  Java Bean   901



    34.1  Java Bean是什么   901



    34.2  Java Bean的优势   901



    34.3  内省   902



    34.5  持久性   904



    34.6  定制器   904



    34.7  Java Bean API   905



    34.8  一个Bean示例   906



    第35章  servlet   910



    35.1  背景   910



    35.2  servlet的生命周期   910



    35.3  servlet开发选项   911



    35.4  使用Tomcat   911



    35.5  一个简单的servlet   912



    35.6  Servlet API   914



    35.7  javax.servlet包   914



    35.8  读取servlet参数   917



    35.9  javax.servlet.http包   918



    35.9.1  HttpServletRequest接口   919



    35.9.2  HttpServletResponse接口   920



    35.9.3  HttpSession接口   920



    35.9.4  Cookie类   921



    35.9.5  HttpServlet类   922



    35.10  处理HTTP请求和响应   923



    35.11  使用cookie   925



    35.12  会话跟踪   927



    第Ⅴ部分  附录



    附录A  使用Java的文档注释   931



    附录B  JShell简介   938



    附录C  在一个步骤中编译和运行简单的单文件程序   946



     
查看详情
12
相关图书 / 更多
Java 11官方参考手册(第11版)
Java程序设计任务驱动教程
黑马程序员
Java 11官方参考手册(第11版)
Java研发自测入门与进阶
林宁、魏兆玉
Java 11官方参考手册(第11版)
Java语言程序设计(2023年版)全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
Java 11官方参考手册(第11版)
Java+OpenCV案例佳作选
姚利民
Java 11官方参考手册(第11版)
Java核心编程技术(第4版微课版新世纪应用型高等教育软件专业系列规划教材)
张屹、蔡木生 编
Java 11官方参考手册(第11版)
Java程序设计及实践应用研究
张萌,梁正,李真
Java 11官方参考手册(第11版)
Java Web及其框架技术
陈振兴
Java 11官方参考手册(第11版)
JavaScript多线程编程实践
(美)托马斯 亨特二世(Thomas Hunter II),(加拿大)布莱恩 英格利什(Bryan English)
Java 11官方参考手册(第11版)
Java开发坑点解析:从根因分析到最佳实践
朱晔
Java 11官方参考手册(第11版)
Java面向对象程序设计(题库·微课视频版)
梁胜彬 主编 渠慎明 白晨希 马华蔚 甘志华 程素营 副主编
Java 11官方参考手册(第11版)
Java程序设计(微课版新世纪应用型高等教育计算机类课程规划教材)
李月辉、李慧 编
Java 11官方参考手册(第11版)
Java到Kotlin:代码重构指南
(英)邓肯·麦格雷戈(Duncan McGregor)