《Java基础与实例精解》PDF下载

  • 购买积分:24 如何计算积分?
  • 作  者:宾春清,李建瑜主编
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2009
  • ISBN:9787811245592
  • 页数:902 页
图书介绍:本书以全新的视角,深入浅出地介绍了Java语言的核心基础知识。全书分为18章,介绍了Java基础知识、类和对象、继承与多态、基础类与集合类、异常处理、图形用户界面、布局管理、事件处理、多线程、输入输出流、网络编程、数据库编程等。并使用了大量的例子对Java语言中的知识点加以验证,从而一步一步引导读者学习和掌握Java语言程序设计的方法与技巧。

第1章 Java简介 1

1.1编程语言的几个发展阶段 1

1.1.1低级语言 1

1.1.2过程语言 2

1.1.3面向对象编程 3

1.2 Java的诞生 4

1.3 Java的特点 5

1.4安装JDK与JRE 6

1.5 Java程序的开发流程 17

1.5.1 Java程序分类 17

1.5.2 Java源程序结构 17

1.5.3 Java源程序的开发流程 17

1.5.4 Java应用程序开发举例 19

1.5.5 Java小应用程序开发举例 21

1.6 Java的应用领域 24

第2章 标识符、关键字和数据类型 25

2.1标识符 25

2.2关键字 25

2.3 Java的数据类型 26

2.3.1值类型 26

2.3.2引用类型 36

2.4数据类型之间的转换 36

2.4.1同种类型之间的转换 37

2.4.2不同种类型之间的转换 43

第3章 运算符、表达式和语句 44

3.1运算符与表达式 44

3.1.1算术运算符和算术表达式 45

3.1.2位运算符 48

3.1.3关系运算符和关系表达式 50

3.1.4逻辑运算符和逻辑表达式 51

3.1.5条件赋值运算符 53

3.1.6赋值运算符和赋值表达式 54

3.1.7 instanceof运算符 57

3.1.8圆括号与方括号运算符 57

3.1.9运算符的优先级与结合性 58

3.2语句概述 59

3.2.1简单语句 59

3.2.2复合语句 67

3.3条件分支语句 67

3.3.1 if语句 67

3.3.2 switch语句 72

3.4循环语句 74

3.4.1 while语句 75

3.4.2 do-while语句 75

3.4.3 while和do-while语句的区别 77

3.4.4 for语句 78

3.4.5 for-each语句 79

3.5跳转语句 81

3.5.1 break语句 81

3.5.2 continue语句 83

3.5.3 break与continue语句的异同 85

3.5.4 return语句 85

第4章 类和对象 87

4.1类 87

4.1.1类的声明 87

4.1.2类体 88

4.2变量 90

4.2.1变量的数据类型 90

4.2.2成员变量的分类 90

4.2.3变量的作用域 91

4.3方法 92

4.3.1方法的定义 92

4.3.2方法重载 94

4.3.3构造方法 96

4.3.4类方法和实例方法 98

4.3.5变量、方法中值得注意的问题 98

4.4内部类 100

4.4.1静态内部类 100

4.4.2实例内部类 102

4.4.3局部内部类 103

4.4.4匿名内部类 104

4.5对象 104

4.5.1创建对象 104

4.5.2使用对象 109

4.5.3对象的引用和实体 111

4.5.4方法中的参数传值 112

4.6 static关键字 114

4.6.1实例变量与类变量的区别 114

4.6.2实例方法和类方法的区别 116

4.7 this关键字 117

4.7.1在实例方法中使用this 117

4.7.2在构造方法中使用this 118

4.8包及JAR工具 119

4.8.1包 119

4.8.2 JAR工具 122

4.8.3反编译和文档生成器 128

4.9访问权限 130

4.9.1 private(私有的) 130

4.9.2 default(友好的) 132

4.9.3 protected(受保护的) 133

4.9.4 public(公有的) 134

4.9.5公有类与友好类 135

4.10过时信息 136

第5章 继承与多态 138

5.1继承简介 138

5.2类的继承 139

5.2.1继承的语法 139

5.2.2子类的继承性 141

5.3访问权限的进一步说明 144

5.3.1访问权限总结 144

5.3.2 default(友好的) 144

5.3.3 protected(受保护的) 147

5.4成员变量的隐藏与方法重写 152

5.4.1成员变量的隐藏 152

5.4.2方法重写 153

5.4.3方法重写与方法重载的异同 156

5.5 super关键字 157

5.5.1使用关键字super调用父类的构造方法 157

5.5.2使用关键字super操作被隐藏的成员变量和方法 160

5.6 final关键字 161

5.6.1 final变量 161

5.6.2 final方法 164

5.6.3 final类 166

5.7对象的上转型对象 167

5.8多态性 170

5.9 abstract类和abstract方法 171

5.10接口 176

5.10.1接口的定义 176

5.10.2接口的使用 177

5.10.3接口与抽象类的区别 179

5.10.4接口继承 181

5.10.5接口回调 182

5.10.6接口做参数 183

5.11匿名类 185

5.11.1与类有关的匿名类 185

5.11.2与接口有关的匿名类 186

第6章 数组 189

6.1一维数组 189

6.2多维数组 192

6.3数组做参数 195

6.4 Java application命令行参数 200

6.5 Arrays类 202

6.5.1数组的填充和打印 202

6.5.2数组的比较 203

6.5.3数组的排序 204

6.5.4数组的查找 206

6.6数组的复制 207

第7章 基础类与集合类 210

7.1 Obj ect类 210

7.1.1 equals方法 210

7.1.2 toString方法 211

7.1.3 clone方法 213

7.1.4 getClass方法 214

7.2反射类 215

7.2.1获取类的有关信息 216

7.2.2使用Class实例化一个对象 218

7.3封装类 220

7.3.1 Boolean类 220

7.3.2 Byte类 222

7.3.3 Double类 223

7.3.4 Float类 224

7.3.5 Integer类 226

7.3.6 BigInteger类 227

7.3.7 Long类 230

7.3.8 Short类 231

7.3.9 Character类 233

7.4 Math类 234

7.5 String类 238

7.5.1创建String对象 238

7.5.2字符串的常用方法 240

7.6 StringBuffer和StringBuilder类 261

7.7 System类 264

7.8 Date类 265

7.9 Calendar类 267

7.10集合类 270

7.10.1 ArrayList(动态数组) 271

7.10.2 LinkedList(链表) 274

7.10.3 Vector(向量) 277

7.10.4 Stack(栈) 279

7.10.5 HashSet(散列集) 280

7.10.6 Hashtable(散列表) 282

7.10.7 HashMap(散列映射) 284

7.10.8 TreeSet(树集) 286

7.10.9 TreeMap(树映射) 289

第8章 异常处理 291

8.1异常的概念 291

8.2异常的分类 294

8.3异常处理 297

8.3.1 try-catch-finally语句 297

8.3.2 throw与throws关键字 301

8.3.3自定义异常 304

第9章 图形用户界面 306

9.1 AWT 306

9.2 AWT容器类 309

9.2.1 Frame(窗体) 309

9.2.2 Dialog(对话框) 314

9.2.3 Panel(面板) 315

9.2.4 ScrollPane(滚动面板) 316

9.3 AWT基本组件 318

9.3.1 Button(按钮)组件 318

9.3.2 Canvas(画布)组件 321

9.3.3选择型组件 322

9.3.4 Label(标签) 329

9.3.5 Scrollbar(滚动条) 331

9.3.6 TextArea(文本区) 334

9.3.7 TextField(文本框) 336

9.4 AWT Menus 338

9.4.1 MenuBar(菜单条) 338

9.4.2 Menu(菜单) 339

9.4.3 MenuItem(菜单项) 339

9.4.4 CheckBoxMenuItem(复选框菜单项) 340

9.4.5嵌入子菜单 340

9.4.6 PopupMenu(弹出式菜单) 343

9.5组件的外观 345

9.5.1组件的颜色 345

9.5.2组件的字体 346

9.5.3组件的光标 350

第10章 布局管理 353

10.1 BorderLayout(边界、边框布局) 353

10.2 F1owLayout(流/顺序布局) 355

10.3 CardLayout(卡片布局) 358

10.4 GridLayout(网格布局) 362

10.5 BoxLayout(盒式布局) 364

10.5.1 BoxLayout类 364

10.5.2 Box类 365

10.6 null布局(空布局) 367

第11章 事件处理 369

11.1事件处理模型 369

11.1.1几个重要概念 370

11.1.2简单事件处理举例 370

11.2事件的种类 375

11.3事件类型举例 378

11.3.1 ActionEvent 378

11.3.2 AdjustmentEvent 383

11.3.3 AncestorEvent 384

11.3.4 CaretEvent 387

11.3.5 ChangeEvent 388

11.3.6 ComponentEvent 391

11.3.7 ContainerEvent 394

11.3.8 DocumentEvent 396

11.3.9 FocusEvent 398

11.3.10 ItemEvent 402

11.3.11 KeyEvent 404

11.3.12 ListSelectionEvent 413

11.3.13 MouseEvent 414

11.3.14 TableModelEvent 421

11.3.15 TreeExpansionEvent(Tree-ExpansionListener) 422

11.3.16 TreeModelEvent 424

11.3.17 TreeSelectionEvent 428

11.3.18 TreeExpansionEvent(Tree-WillExpandListener) 430

11.3.19 UndoableEditEvent 432

11.3.20 WindowEvent 435

11.4事件适配器 437

11.4.1 ComponentAdapter 438

11.4.2 ContainerAdapter 439

11.4.3 FocusAdapter 440

11.4.4 KeyAdapter 442

11.4.5 MouseInputAdapter 443

11.4.6 MouseAdapter 445

11.4.7 MouseMotionAdapter 446

11.4.8 WindowAdapter 448

11.5处理多事件 450

第12章 Swing组件 456

12.1 Swing Windows 458

12.1.1 JFrame 458

12.1.2对话框 462

12.2 Swing Containers 481

12.2.1 JPanel(面板) 481

12.2.2 JTabbedPane(选项卡面板) 483

12.2.3 JSplitPane(拆分窗口) 487

12.2.4 JScrollPane(滚动面板) 489

12.2.5 JToolBar(工具条) 492

12.2.6 JDesktopPane(桌面面板) 494

12.2.7 JInternalFrame(内部窗体) 496

12.2.8 JLayeredPane(分层面板) 497

12.3 Swing Controls 500

12.3.1按钮 500

12.3.2 JComboBox(下拉列表) 517

12.3.3 JLabel(标签) 520

12.3.4 JList(滚动列表) 523

12.3.5文本组件 528

12.3.6 JProgressBar(进度条) 543

12.3.7 JScrollBar(滚动条) 546

12.3.8 JSlider(滑块) 548

12.3.9 JSpinner(微调控制器) 549

12.3.10 JTable(表格) 552

12.3.11 JTree(树) 556

12.4 Swing Menus 560

12.4.1 JMenuBar(菜单条) 560

12.4.2 JMenu(菜单) 560

12.4.3 JMenuItem(菜单项) 560

12.4.4 JCheckBoxMenuItem(复选菜单项) 561

12.4.5 JRadioButtonMenuItem(单选菜单项) 562

12.4.6 JSeparator(分隔线) 562

12.4.7 JPopupMenu(弹出式菜单) 565

第13章 多线程 568

13.1程序、进程和线程 569

13.2线程的状态与生命周期 569

13.3创建线程 570

13.3.1继承Thread类的方式创建线程 571

13.3.2实现Runnable接口的方式创建线程 575

13.3.3关于两种创建线程方法的讨论 578

13.4线程的常用方法 578

13.4.1设置和获取线程的名字 578

13.4.2返回正在执行的线程 579

13.4.3挂起线程 580

13.4.4中断线程 581

13.4.5终止线程 584

13.4.6检查线程 586

13.4.7线程联合 588

13.4.8守护线程 589

13.5线程调度与优先级 591

13.6共享资源 594

13.6.1线程同步(synchronized) 594

13.6.2等待与通知(wait()、notifay()、notifayAll()) 602

13.6.3死锁 611

13.7计时器线程Timer 615

13.8线程组 618

13.9 GUI线程 619

第14章 输入/输出流 628

14.1输入/输出流的分类 628

14.2 File类 629

14.2.1目录与文件的创建 630

14.2.2目录与文件的删除 633

14.2.3列出目录中指定类型的文件 635

14.2.4运行可执行文件 637

14.3基本字节数据流类 641

14.3.1输入流(InputStream) 641

14.3.2输出流(OutputStream) 643

14.3.3字节数组输入流(ByteArray InputStream、 ByteArrayOut-putStream) 645

14.3.4文件流(FileInputStream、FileOutputStream) 647

14.3.5过滤流(FilterInputStream、FilterOutputStream) 651

14.3.6对象流(ObjectInputStream、Obj ectOutputStream) 662

14.3.7管道流(PipedInputStream、PipedOutputStream) 668

14.3.8 Java I/O库的设计原则 671

14.4字符集的编码 671

14.5基本字符流 673

14.5.1字符流(Reader、 Writer) 674

14.5.2字符输入/输出流(InputStre-amReader、OutputStreamWriter) 674

14.5.3缓冲字符流(BufferedReader、BufferedWriter) 677

14.5.4字符数组流(CharArrayRead-er、CharArrayWriter) 680

14.5.5文件字符流(FileReader、File-Writer) 682

14.6随机访问文件(RandomAccessFile) 685

14.7文件锁FileLock 688

14.8 Process类中的流 691

第15章 Java Applet 696

15.1 Applet类的常用方法 696

15.2 Applet的生命周期 698

15.3 JApplet类 702

15.4 HTML与applet标记 705

15.4.1 applet标记的常用属性 705

15.4.2 applet获取参数 707

15.4.3发送信息到其他applet 710

15.4.4 Applet与URL 716

15.5在Applet中创建线程 720

15.6 Java Applet VS Java Application 725

15.7 applet与多媒体 733

15.7.1在JavaApplet中播放音频 733

15.7.2在Java Application中播放音频 739

15.7.3播放视频 742

第16章 Java 2D图形与图像 750

16.1 Graphics类 750

16.1.1绘制直线 750

16.1.2绘制矩形 752

16.1.3绘制椭圆 753

16.1.4绘制圆弧 755

16.1.5绘制多边形 756

16.2 Graphics2D类 757

16.2.1绘制直线 758

16.2.2绘制曲线 761

16.2.3绘制矩形 765

16.2.4绘制圆角矩形 767

16.2.5绘制椭圆 769

16.2.6绘制圆弧 771

16.2.7绘制任意图形 775

16.2.8图形变换 777

16.2.9构建区域几何形状 778

16.3绘制文本 782

16.4绘制图像 787

16.4.1 Image类 787

16.4.2 BufferedImage类 788

16.4.3 ImageIO类 788

16.4.4在Java Application中绘制图像 789

16.4.5在JavaApplet中绘制图像 792

16.4.6保存图像 793

16.5打印 795

第17章 网络编程 798

17.1计算机网络基础 798

17.1.1 TCP 798

17.1.2 UDP 799

17.1.3 C/S(客户端/服务器) 799

17.1.4 IP地址 799

17.1.5端口 799

17.1.6 JDK中的网络类 800

17.2 URL 800

17.2.1 URL类 801

17.2.2 URLConnection类 804

17.3 InetAddress类 807

17.4 Socket套接字 809

17.4.1 Socket套接字 810

17.4.2 ServerSocket类 810

17.4.3在Socket套接字中使用多线程 816

17.4.4在Applet中使用套接字 821

17.4.5数据压缩与传输 827

17.5 UDP数据报 830

17.5.1将数据打包 831

17.5.2发送与接收数据包 831

17.5.3广播数据报 833

第18章 数据库编程 836

18.1 JDBC简介 836

18.2 SQL Server 2000数据库管理系统 837

18.2.1 SQL Server 2000的安装 837

18.2.2建立数据库 842

18.2.3创建表 844

18.2.4创建表之间的关系 848

18.2.5操作表数据 851

18.3常用SQL Server语句介绍 852

18.3.1创建表 852

18.3.2修改表 852

18.3.3删除表 853

18.3.4 Insert语句(插入数据) 853

18.3.5 Select语句(查询表中的数据) 853

18.3.6 Update语句(更新数据) 855

18.3.7 Delecte语句(删除数据) 855

18.4连接数据库的方式 855

18.4.1 JDBC-ODBC桥 855

18.4.2使用纯Java数据库驱动程序 863

18.5通过DatabaseMetaData了解数据库信息 866

18.6结果集ResultSet对象 870

18.6.1 ResultSet的基本处理方法 870

18.6.2获取结果集的信息 871

18.6.3可滚动结果集 873

18.7 PreparedStatement预编译语句 879

18.8存储过程 881

18.8.1在SQL Server 2000中创建存储过程 881

18.8.2调用存储过程 883

18.8.3在程序中创建存储过程 884

18.9事务处理 886

18.10 JDBC连接其他数据库 888

18.10.1访问Access数据库 888

18.10.2访问MySQL数据库 893

18.10.3访问Oracle数据库 899

参考文献 902