《JAVA程序设计从入门到精通 上 开发入门篇》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:毛雪涛,丁毓峰著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:7121327066
  • 页数:310 页
图书介绍:本书针对初学和自学读者的特点,以通俗易懂的语言介绍Java语言,讲解Java基础开发。内容包括Java语言的发展、环境配置、基本语法、流程控制语句、字符串处理、数组、面向对象、图形界面设计、输入输出、处理异常。让读者更好的体会Java语言编程开发。本书运用大量示例,让读者在实战中体会编程的快乐。建议读者边学边练,有难以理解的概念或知识一定要弄清楚,不能迷迷糊糊。要培养自己单独开发项目的能力。

第1篇 入门篇 1

第1章 认识Java 1

1.1 Java的发展史 1

1.1.1 Java起源 1

1.1.2 Java发展 2

1.2 Java是什么 2

1.2.1 Java语言 2

1.2.2 Java平台 3

1.2.3 Java网络操作系统 4

1.3 Java的特点 5

1.4 Java 9的新特性 6

1.5 Java程序类型 6

1.6 Java技术体系 7

1.7 Java虚拟机 8

1.7.1 Java虚拟机支持的数据类型 8

1.7.2 Java虚拟机的生命周期 9

1.7.3 Java虚拟机的体系结构 9

1.8 垃圾收集器 11

1.9 技术解惑 11

1.9.1 Java虚拟机如何实现跨平台运行 11

1.9.2 Java语言为什么一直名列编程语言前三甲 12

第2章 搭建Java开发环境 14

2.1 J2 SE的下载和安装 14

2.1.1 J2SE的下载 15

2.1.2 J2 SE的安装 16

2.2 环境变量的配置与测试 17

2.2.1 配置环境变量Path 17

2.2.2 配置环境变量CLASSPATH 19

2.2.3 环境变量的测试 20

2.3 API文档的下载与使用 21

2.4 第一个应用程序 22

2.4.1 HelloWorld程序 22

2.4.2 程序编译和运行命令 23

2.4.3 HelloWorld的编译和运行 26

2.5 简单开发工具介绍 27

2.5.1 使用EditPlus开发Java 27

2.5.2 使用UltraEdit开发Java 30

2.6 集成开发环境Eclipse介绍 34

2.6.1 Eclipse的下载与安装 35

2.6.2 Eclipse的透视图(Perspective) 37

2.6.3 Eclipse的视图(View) 38

2.6.4 Eclipse的编辑器 38

2.6.5 Eclipse的工具栏和菜单栏 39

2.6.6 用Eclipse编写HelloWorld程序 41

2.7 拓展训练 43

2.7.1 训练一:用“*”直接输出三角形 43

2.7.2 训练二:可爱的表情符号 44

2.8 技术解惑 45

2.8.1 为什么必须设置好环境变量 45

2.8.2 选择Eclipse的多个原因 45

第3章 Java语言基础 46

3.1 标识符 46

3.1.1 标识符的概念 46

3.1.2 变量的命名规则 47

3.1.3 变量的命名技巧 47

3.2 关键字 48

3.3 注释 49

3.4 数据类型 50

3.4.1 整型 50

3.4.2 浮点型 51

3.4.3 字符型 52

3.4.4 布尔型 53

3.5 变量与常量 53

3.5.1 变量声明 53

3.5.2 变量赋值和初始化 54

3.5.3 常量 54

3.6 类型转换 55

3.6.1 数据类型之间的自动转换 56

3.6.2 强制类型转换 57

3.7 运算符 58

3.7.1 算术运算符 59

3.7.2 关系运算符 60

3.7.3 逻辑运算符 60

3.7.4 位运算符 62

3.7.5 自动递增和递减 65

3.7.6 三元运算符 66

3.7.7 运算符的优先级 67

3.8 拓展训练 68

3.8.1 训练一:不借助第三者实现两个变量值的互换 68

3.8.2 训练二:获取浮点数的最大/最小值 69

3.8.3 训练三:实现字母的大小写转换 70

3.8.4 训练四:实现输入字符的加密和解密 73

3.9 技术解惑 74

3.9.1 三元运算符与if-else语句的不同之处 74

3.9.2 强制类型转换的规则是什么 74

第4章 流程控制 75

4.1 顺序结构 75

4.2 条件语句 77

4.2.1 if语句 77

4.2.2 if-else语句 79

4.2.3 if-else-if语句 80

4.2.4 if语句的嵌套 82

4.2.5 布尔表达式 85

4.2.6 开关语句 87

4.3 循环语句 90

4.3.1 while循环语句 90

4.3.2 do-while循环语句 92

4.3.3 for循环语句 93

4.3.4 循环的嵌套 96

4.4 转向语句 99

4.4.1 break中断语句 99

4.4.2 continue条件继续语句 101

4.4.3 标签语句 103

4.5 返回语句 106

4.6 拓展训练 109

4.6.1 训练一:水仙花数 109

4.6.2 训练二:判断某一年是否为闰年 110

4.6.3 训练三:根据收入情况计算个人所得税 112

4.6.4 训练四:打印九九乘法表 113

4.7 技术解惑 115

4.7.1 break和continue的区别 115

4.7.2 do-while和while的区别 115

第2篇 高级技术篇 116

第5章 字符串 116

5.1 字符串简介 116

5.1.1 字符串常量 117

5.1.2 String创建字符串对象 117

5.1.3 StringBuffer创建字符串对象 119

5.2 连接字符串 120

5.2.1 与字符串的连接 121

5.2.2 与其他数据类型的连接 121

5.3 String类操作 122

5.3.1 基本操作方法 122

5.3.2 比较 124

5.3.3 转换 127

5.3.4 查找 129

5.3.5 截取和拆分 130

5.3.6 替换或修改 132

5.4 StringBuffer类操作 134

5.4.1 基本操作 134

5.4.2 字符串操作方法 136

5.4.3 添加append() 138

5.4.4 插入insert() 140

5.5 拓展训练 142

5.5.1 训练一:字符串大小写转换 142

5.5.2 训练二:将数字货币金额转换为大写格式 143

5.5.3 训练三:当前日期的格式化 146

5.5.4 训练四:验证IP地址的有效性 148

5.5.5 训练五:获取字符串中单词的个数 149

5.6 技术解惑 150

5.6.1 String类和StringBuffer类有什么区别 150

5.6.2 为什么说String类是不可变类 151

第6章 数组 152

6.1 一维数组 152

6.1.1 数组的概念 153

6.1.2 一维数组的声明 153

6.1.3 一维数组的初始化 153

6.1.4 一维数组的使用 154

6.1.5 一维数组的空间模型 156

6.1.6 基本数据类型数组 158

6.1.7 对象数组 159

6.1.8 数组参数 160

6.2 二维数组和多维数组 161

6.2.1 二维数组的声明 161

6.2.2 二维数组的初始化 161

6.2.3 二维数组的空间模型 162

6.2.4 二维数组的应用 162

6.3 数组操作 164

6.3.1 Java的工具类:Arrays 164

6.3.2 排序 164

6.3.3 查找 166

6.3.4 复制 167

6.3.5 填充数据 170

6.3.6 比较 171

6.4 拓展训练 173

6.4.1 训练一:获取一维数组中的最大最小值 173

6.4.2 训练二:九宫格问题 175

6.4.3 训练三:杨辉三角 177

6.5 技术解惑 179

6.5.1 Array和Arrays的区别到底是什么 179

6.5.2 for和foreach在遍历数组时的区别 179

第7章 对象与类 180

7.1 面向对象程序设计 180

7.1.1 面向对象程序设计概述 180

7.1.2 面向对象程序设计的特点 181

7.1.3 对象与类的关系 182

7.2 类的定义 184

7.2.1 MasterCard类的实现 184

7.2.2 MasterCard类的使用 186

7.2.3 访问控制符 188

7.2.4 初识构造方法 190

7.2.5 方法的参数 191

7.2.6 封装与隐藏 192

7.2.7 finalize()方法 193

7.3 静态域与静态方法 194

7.3.1 静态域 194

7.3.2 静态方法 197

7.3.3 Math类 198

7.4 构造方法 199

7.4.1 默认域初始化 200

7.4.2 默认构造方法 200

7.4.3 拷贝构造方法 201

7.4.4 构造方法的重载 201

7.4.5 构造方法的调用 202

7.4.6 创建初始化块 202

7.5 包 203

7.5.1 包的概念 204

7.5.2 包的导入 204

7.5.3 包名与目录的关系 205

7.5.4 静态导入 207

7.5.5 Java包介绍 207

7.6 类设计技巧 208

7.7 实例:完善MasterCard类 209

7.7.1 构造方法 210

7.7.2 setter()方法 211

7.7.3 getter()方法 212

7.7.4 其他方法 213

7.8 main()方法 214

7.9 拓展训练 215

7.9.1 训练一:摄氏温度与华氏温度的转换 215

7.9.2 训练二:汉诺塔问题的解决 216

7.9.3 训练三:使用局部内部类实现闹钟的应用 218

7.10 技术解惑 220

7.10 .1 final、finally、finalize的区别 220

7.10 .2 静态代码块和静态方法的区别 221

第8章 Java中的继承 222

8.1 父类和子类 222

8.2 super()构造方法调用 223

8.3 封装和继承 225

8.4 使用继承 227

8.4.1 Object类 227

8.4.2 定义equals()方法 228

8.5 关于设计好继承的几点建议 229

8.6 实例:一卡通类的继承 230

8.6.1 构造方法 231

8.6.2 setter()方法 232

8.6.3 getter()方法 232

8.6.4 方法覆盖 233

8.6.5 equals()方法 233

8.6.6 其他需要强调的地方 234

8.7 拓展训练——领导和员工的差异 235

8.8 技术解惑 238

8.8.1 super语句必须是子类构造方法的第一句吗 238

8.8.2 equals()方法的用法和“==”的用法一致吗 238

第9章 更深一步:多态与抽象类 239

9.1 多态性的概念 239

9.2 重载 239

9.2.1 重载的概念 240

9.2.2 重载的注意事项 241

9.3 覆盖 242

9.3.1 覆盖的概念 242

9.3.2 覆盖与访问权限 243

9.3.3 静态方法覆盖 245

9.3.4 覆盖与异常抛出 246

9.3.5 抽象方法覆盖 247

9.3.6 覆盖与重载小结 247

9.4 绑定 249

9.4.1 静态绑定 249

9.4.2 动态绑定 250

9.5 抽象类 252

9.5.1 抽象类的概念 253

9.5.2 抽象类的应用 253

9.5.3 抽象类应用的注意事项 255

9.6 接口 256

9.6.1 接口的概念 256

9.6.2 Java中接口的定义 257

9.6.3 使用接口 258

9.6.4 接口的继承 259

9.6.5 抽象类和接口 261

9.6.6 面向接口编程 262

9.7 Java中的Lambda表达式 262

9.7.1 Lambda表达式入门 263

9.7.2 Lambda表达式与函数式接口 264

9.7.3 方法引用与构造器引用 265

9.7.4 Lambda表达式与匿名内部类的联系和区别 269

9.8 拓展训练——重写(覆盖)父类中的方法 270

9.9 技术解惑 272

9.9.1 什么是Java的动态绑定与静态绑定 272

9.9.2 抽象类到底有什么用 272

第10章 Java Web应用——JSP 273

10.1 JSP技术概述 273

10.2 JSP运行环境搭建 273

10.2.1 Tomcat安装 274

10.2.2 测试 276

10.2.3 第一个JSP程序 277

10.3 基本语法 278

10.3.1 HTML注释 278

10.3.2 隐藏注释 278

10.3.3 声明 279

10.3.4 表达式 279

10.3.5 脚本集(Scriptlet) 279

10.4 JSP指令元素 280

10.4.1 include指令 280

10.4.2 page指令 281

10.4.3 taglib指令 283

10.5 JSP动作元素 284

10.5.1 <jsp:forward> 285

10.5.2 <jsp:useBean> 285

10.5.3 <jsp:setProperty> 289

10.5.4 <jsp:getProperty> 290

10.5.5 <jsp:include> 290

10.5.6 <jsp:plugin> 291

10.6 内置对象 292

10.6.1 out对象 292

10.6.2 request对象 294

10.6.3 response对象 296

10.6.4 session对象 298

10.6.5 application对象 299

10.6.6 pageContext对象 301

10.6.7 exception对象 303

10.6.8 config对象 305

10.7 拓展训练 305

10.7.1 训练一:一个注册页面 305

10.7.2 训练二:跨页传递数据 307

10.8 技术解惑 309

10.8.1 静态include指令和动态include指令的比较 309

10.8.2 指令和动作的区别 310