Java程序设计:原理与范例

副标题:无

作   者:胡平主编

分类号:

ISBN:9787121203176

微信扫一扫,移动浏览光盘

简介

本书是为“Java语言程序设计”课程编写的教材。全书以原理性、实用性和可实践性为编写总原则,无论是行文风格,还是知识点的扩展,均以使读者具备今后快速、自主学习Java平台下企业级软件开发所涉及技术的能力为目标。 全书依托目前最为成熟的JDK 6.0,系统介绍了Java SE 6.0所包含的全部核心知识,并引入了设计模式的内容。本书共分为17章,其中第1~5章介绍JDK安装配置和Java基本语法;第6~7章介绍类与对象,抽象类、接口与嵌套类;第8~9章介绍GUI编程和Swing高级组件;第10~11章介绍异常与处理、I/O流与文件;第12章介绍多线程与并发;第13章介绍容器框架与泛型;第14~15章介绍字符串与正则表达式、国际化与本地化;第16~17章介绍类型信息与反射、元数据与注解。各章基本上都配有习题和实验。此外,本书还以附录的形式列出了主流IDE的使用、API文档和源码查阅、编程规范与最佳实践、Java相关技术的学习路线等带有强烈“工业”色彩的内容。

目录

目 录
第1章 概述 1
1.1 Java语言的诞生及发展 1
1.1.1 Java的诞生 1
1.1.2 Java的发展历程 1
1.2 Java语言的特点 2
1.3 Java平台及版本 4
1.3.1 平台组成 4
1.3.2 版本划分 5
1.3.3 Java程序的种类 5
1.4 JDK安装及环境配置 6
1.4.1 下载与安装 6
1.4.2 JDK的目录结构 7
1.4.3 配置环境变量 7
1.5 第一个Java程序 10
1.5.1 编辑源文件 10
1.5.2 编译源文件 11
1.5.3 运行类文件 12
1.6 程序错误与调试 12
1.6.1 语法错误 13
1.6.2 运行时错误 14
1.6.3 逻辑错误 14
1.6.4 程序调试 14
习题1 15
实验1 熟悉Java编程环境 15
第2章 基本类型 18
2.1 标识符 19
2.1.1 关键字 19
2.1.2 用户标识符 19
2.1.3 命名惯例和约定 20
2.2 变量与常量 21
2.2.1 变量 21
2.2.2 常量 21
2.3 整型 22
2.3.1 整型常量 22
2.3.2 整型变量 23
2.4 浮点型 23
2.4.1 浮点型常量 23
2.4.2 浮点型变量 25
2.5 字符型 25
2.5.1 Unicode概述 25
2.5.2 字符型常量 26
2.5.3 字符型变量 28
2.6 布尔型 28
2.7 类型转换 28
2.7.1 自动转换 29
2.7.2 强制转换 29
2.8 基本类型的包装类 30
2.8.1 包装类 30
2.8.2 包装类的主要方法 31
2.8.3 自动装箱和拆箱 32
习题2 33
第3章 运算符与表达式 34
3.1 概述 34
3.2 赋值运算符 35
3.3 算术运算符 35
3.3.1 四则运算 35
3.3.2 自增与自减 37
3.4 关系和条件运算符 38
3.4.1 关系运算符 38
3.4.2 条件运算符 39
3.5 逻辑运算符 39
3.6 位运算符 40
3.6.1 按位运算符 40
3.6.2 移位运算符 42
3.7 表达式 43
习题3 44
实验2 运算符与表达式 45
第4章 程序流程控制 46
4.1 语句及语句块 46
4.2 分支结构 47
4.2.1 if语句 47
4.2.2 if-else语句 48
4.2.3 if及if-else的嵌套 49
4.2.4 switch语句 51
4.3 循环结构 54
4.3.1 while语句 54
4.3.2 do-while语句 55
4.3.3 for语句 56
4.3.4 break与continue语句 59
4.3.5 循环的嵌套 60
4.3.6 带标号的break与continue语句 62
4.4 综合范例1:简单人机交互 63
习题4 64
实验3 程序流程控制 66
第5章 数组 68
5.1 一维数组 68
5.1.1 声明一维数组 68
5.1.2 创建一维数组 68
5.1.3 访问一维数组 69
5.1.4 迭代型for循环 71
5.1.5 命令行参数 72
5.2 综合范例2:约瑟夫环问题 73
5.3 二维数组 74
5.3.1 声明和创建二维数组 74
5.3.2 二维数组的存储结构 75
5.3.3 访问二维数组 75
5.4 综合范例3:螺旋方阵 77
习题5 78
实验4 数组 79
第6章 类与对象 80
6.1 面向对象概述 80
6.1.1 产生背景 80
6.1.2 相关概念 81
6.1.3 基本特性 82
6.2 类 84
6.2.1 类的定义格式 84
6.2.2 变量的作用域 85
6.3 方法 86
6.3.1 方法定义 86
6.3.2 return语句 87
6.3.3 方法调用 88
6.3.4 方法重载 89
6.3.5 构造方法 90
6.3.6 this关键字 92
6.3.7 变长参数方法 94
6.4 包 95
6.4.1 包的概念 95
6.4.2 package语句 95
6.4.3 import语句 96
6.5 常用修饰符 98
6.5.1 访问权限修饰符 98
6.5.2 final和static 99
6.6 综合范例4:单例模式 101
6.7 对象 102
6.7.1 对象的初始化 102
6.7.2 对象的引用 103
6.7.3 栈和堆 103
6.7.4 参数传递 104
6.7.5 垃圾回收 105
6.8 类的继承 107
6.8.1 继承的语法与图形化表示 107
6.8.2 super关键字 109
6.8.3 构造方法的调用顺序 110
6.8.4 方法重写与运行时多态 111
6.8.5 对象造型与instanceof运算符 113
6.8.6 根类Object 114
6.8.7 对象的等价性 115
6.9 综合范例5:简单工厂模式 117
6.10 枚举 119
习题6 122
实验5 类与对象 125
第7章 抽象类、接口与嵌套类 127
7.1 抽象类 127
7.1.1 抽象方法 127
7.1.2 抽象类 127
7.2 接口 129
7.2.1 声明接口 129
7.2.2 继承接口 129
7.2.3 实现接口 130
7.3 抽象类与接口的比较 133
7.3.1 从语法层面 134
7.3.2 从设计层面 134
7.4 综合范例6:适配器模式 137
7.5 嵌套类 138
7.5.1 静态嵌套类 139
7.5.2 内部类 140
7.5.3 局部内部类 141
7.5.4 匿名内部类 142
习题7 144
实验6 抽象类、接口与嵌套类 146
第8章 GUI编程 148
8.1 概述 148
8.1.1 AWT 148
8.1.2 Swing 148
8.1.3 SWT 149
8.2 Swing库的架构 150
8.2.1 组件类的继承关系 150
8.2.2 java.awt.Component类 151
8.2.3 java.awt.Container类 152
8.2.4 java.awt.Window类 153
8.2.5 java.awt.Frame类 154
8.2.6 JComponent类 154
8.3 容器组件 155
8.3.1 窗口:JFrame 155
8.3.2 面板:JPanel 156
8.3.3 可滚动面板:JScrollPane 158
8.3.4 分割面板:JSplitPane 159
8.3.5 分页面板:JTabbedPane 161
8.4 标签和图片 163
8.4.1 标签:JLabel 163
8.4.2 图标/图片:Icon/ImageIcon 165
8.5 按钮 167
8.5.1 常规按钮:JButton 167
8.5.2 开关按钮:JToggleButton 169
8.5.3 单选按钮:JRadioButton 171
8.5.4 复选按钮:JCheckBox 172
8.6 文本组件 173
8.6.1 文本框:JTextField 173
8.6.2 密码框:JPasswordField 175
8.6.3 文本区:JTextArea 176
8.7 可调节组件 178
8.7.1 进度条:JProgressBar 178
8.7.2 滚动条:JScrollBar 179
8.7.3 滑块条:JSlider 181
8.8 菜单和工具栏 183
8.8.1 菜单相关组件:JMenuBar/JMenu/JMenuItem 183
8.8.2 弹出菜单:JPopupMenu 186
8.8.3 工具栏:JToolBar 187
8.9 边框、颜色和字体 189
8.9.1 边框:Border 189
8.9.2 颜色:java.awt.Color 191
8.9.3 字体:java.awt.Font 193
8.10 布局管理 194
8.10.1 布局管理器:LayoutManager接口 195
8.10.2 流式布局:FlowLayout类 195
8.10.3 边界布局:BorderLayout类 197
8.10.4 网格布局:GridLayout类 198
8.10.5 网格包布局:GridBagLayout类 199
8.10.6 空布局:绝对定位 202
8.11 综合范例7:仿QQ聊天窗口 202
8.12 事件处理 206
8.12.1 Java的事件处理模型 206
8.12.2 事件监听器类的编写方式 208
8.12.3 常用事件类 212
8.12.4 常用事件监听器接口 212
习题8 214
实验7 Swing基本组件 215
第9章 Swing高级组件 217
9.1 对话框 217
9.1.1 基本对话框:JDialog 217
9.1.2 颜色选择器:JColorChooser 220
9.1.3 文件选择器:JFileChooser 221
9.1.4 选项面板:JOptionPane 223
9.2 编辑器 226
9.2.1 编辑器面板:JEditorPane 226
9.2.2 文本面板:JTextPane 228
9.3 列表和下拉列表 230
9.3.1 列表:JList 230
9.3.2 下拉列表:JComboBox 234
9.4 表格和树 237
9.4.1 表格:JTable 237
9.4.2 树:JTree 243
9.5 其他高级组件 251
9.5.1 工具提示:JToolTip 251
9.5.2 微调按钮:JSpinner 253
9.5.3 内部窗口:JInternalFrame 255
习题9 257
实验8 Swing高级组件 257
第10章 异常与处理 260
10.1 异常的概念和分类 260
10.1.1 异常的概念 260
10.1.2 异常的分类 261
10.2 异常处理及语法 263
10.2.1 异常的产生及处理 263
10.2.2 throw语句及throws子句 264
10.2.3 try-catch 266
10.2.4 finally 268
10.2.5 try-catch-finally的嵌套 270
10.3 异常类的主要方法 271
10.3.1 Throwable类的方法 271
10.3.2 Exception类的构造方法 272
10.4 自定义异常类 272
10.5 综合范例8:用户登录 274
习题10 277
实验9 异常与处理 277
第11章 I/O流与文件 280
11.1 概述 280
11.1.1 I/O与流 280
11.1.2 流的分类 280
11.2 字节流 281
11.2.1 字节输入流:InputStream 281
11.2.2 字节输出流:OutputStream 281
11.3 字符流 282
11.3.1 字符输入流:Reader 282
11.3.2 字符输出流:Writer 282
11.4 文件流 284
11.4.1 File类 284
11.4.2 字节文件流:FileInputStream和FileOutputStream 287
11.4.3 字符文件流:FileReader和FileWriter 287
11.5 综合范例9:文件复制器 288
11.6 缓冲流 290
11.6.1 字节缓冲流:BufferedInputStream和BufferedOutputStream 290
11.6.2 字符缓冲流:BufferedReader和BufferedWriter 293
11.7 转换流 295
11.8 打印流 296
11.9 数据流 299
11.10 对象流 302
11.11 综合范例10:程序快照机 303
11.12 其他常用I/O类 305
11.12.1 读入器:Scanner 306
11.12.2 控制台:Console 308
习题11 311
实验10 I/O流与文件 311
第12章 多线程与并发 313
12.1 概述 313
12.1.1 程序、进程与线程 313
12.1.2 多任务与多线程 313
12.1.3 线程状态及调度 314
12.1.4 Thread类与Runnable接口 315
12.2 线程状态控制 316
12.2.1 start方法 317
12.2.2 sleep方法 317
12.2.3 join方法 318
12.2.4 yield方法 319
12.2.5 interrupt方法 320
12.3 综合范例11:线程状态切换演示 321
12.4 并发控制 323
12.4.1 同步与异步 323
12.4.2 synchronized修饰符 324
12.4.3 wait、notify和notifyAll方法 325
12.5 综合范例12:生产者与消费者问题 326
习题12 328
实验11 多线程与并发 329
第13章 容器框架与泛型 330
13.1 核心接口 330
13.1.1 容器根接口:Collection 330
13.1.2 集合接口:Set 331
13.1.3 列表接口:List 332
13.1.4 队列接口:Queue 332
13.1.5 映射接口:Map 333
13.1.6 遍历容器 333
13.2 常用集合类 337
13.2.1 哈希集合:HashSet和LinkedHashSet 337
13.2.2 树形集合:TreeSet 340
13.3 综合范例13:产品排序 340
13.4 常用列表类 343
13.4.1 顺序列表:ArrayList 343
13.4.2 链式列表:LinkedList 345
13.5 常用映射类 346
13.5.1 哈希映射:HashMap和LinkedHashMap 347
13.5.2 树形映射:TreeMap 349
13.6 遗留容器类 349
13.6.1 向量:Vector 350
13.6.2 哈希表:Hashtable 351
13.7 容器工具类 351
13.7.1 Collections 351
13.7.2 Arrays 352
13.8 泛型 353
13.8.1 为什么需要泛型 353
13.8.2 泛型基础 355
13.8.3 泛型不是协变的 355
13.8.4 类型通配符 356
13.8.5 有界泛型 357
13.8.6 泛型方法 357
习题13 359
实验12 容器框架与泛型 359
第14章 字符串与正则表达式 360
14.1 String类 360
14.1.1 字符串是对象 360
14.1.2 字符串对象的等价性 361
14.1.3 常用方法 362
14.2 字符串格式化 365
14.2.1 Formatter类 365
14.2.2 格式说明与修饰符 367
14.3 综合范例14:简单文本搜索引擎 371
14.4 StringBuffer类 373
14.4.1 可变与不可变 373
14.4.2 StringBuffer类 374
14.5 正则表达式 377
14.5.1 概述 377
14.5.2 Pattern类 378
14.5.3 Matcher类 379
14.5.4 正则表达式语法 382
14.6 综合范例15:用户注册验证 384
习题14 385
实验13 字符串与正则表达式 386
第15章 国际化与本地化 387
15.1 概述 387
15.2 国际化相关类 387
15.2.1 区域:java.util.Locale 387
15.2.2 资源包:java.util.ResourceBundle 389
15.2.3 消息格式化:java.text.MessageFormat 391
15.3 综合范例16:多语言版本的登录窗口 393
习题15 396
第16章 类型信息与反射 397
16.1 类型信息 397
16.1.1 Class类 397
16.1.2 获得Class对象 398
16.2 成员信息 401
16.2.1 Member接口 401
16.2.2 Field类 402
16.2.3 Method类 403
16.2.4 Constructor类 405
习题16 407
实验14 类型信息与反射 408
第17章 元数据与注解 409
17.1 概述 409
17.1.1 注解的定义与使用 409
17.1.2 访问注解信息 410
17.2 标准注解 412
17.2.1 @Override 412
17.2.2 @Deprecated 413
17.2.3 @SuppressWarnings 414
17.3 文档注解及API文档生成 416
17.3.1 文档注解 417
17.3.2 生成API文档 419
17.4 元注解 420
17.4.1 @Target 420
17.4.2 @Retention 422
17.4.3 @Documented 422
17.4.4 @Inherited 423
17.5 综合范例17:简易单元测试工具 424
附录A Eclipse使用简介 428
附录B 查阅API文档和源码 433
附录C Java编码规范与最佳实践 437
附录D Java学习路线 445

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Java程序设计:原理与范例
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon