新書推薦:
《
反操纵心理学:夺回人生主导权 拒绝被操纵
》
售價:NT$
249.0
《
同工异曲:跨文化阅读的启示(修订版)(师承钱锺书先生,比较文学入门,体量小但内容丰,案例文笔皆精彩)
》
售價:NT$
199.0
《
牛津立法研究手册
》
售價:NT$
1630.0
《
制度为什么重要:政治科学中的新制度主义(人文社科悦读坊)
》
售價:NT$
290.0
《
梦醒子:一位华北乡居者的人生(1857—1942))(第2版)
》
售價:NT$
340.0
《
啊哈!原来如此(中译本修订版)
》
售價:NT$
290.0
《
部分识别入门——计量经济学的创新性方法
》
售價:NT$
345.0
《
东野圭吾:变身(来一场真正的烧脑 如果移植了别人的脑子,那是否还是我自己)
》
售價:NT$
295.0
|
編輯推薦: |
本书是粤嵌公司策划并组织编写的产学合作协同育人系列教材之一,实践性较强,涵盖了高校相关专业方向的主要课程。本书作者具有企业开发实战经验和行业培训的经验,也为高校学生讲授相关的课程,理论结合实践。
|
內容簡介: |
本书主要以零基础的读者角度出发,通过简单易懂的语言、图文并茂、知识点由浅入深的讲解,案例充足和课后习题巩固。使得读者在循环渐进过程中掌握Java语言编程的知识,从提升自身的实际开发能力。全书共分为4篇11章,分别为基础篇、高级篇、数据结构与算法篇、实战篇。内容主要包括Java环境搭建,Java变量命令规范,Java中的各类数据类型,流程控制语句,继承,多态,类与方法,高级特征,面向常用类,异常处理,Lambda表达式,泛型,栈,堆,链表,树,查找算法,排序算法,递归算法和五子棋对战项目等。本书所有章节都附有对应的课后习题,所有习题都带有完整的源码答案,快速的帮助读者提高编码能力,提升对问题的解决和思考能力。
|
關於作者: |
张毅恒。广州粤嵌通信科技股份有限公司人工智能学科负责人。系统架构师、高级工程师。5年多研发经验,8年多技术讲师经验。曾在纳斯达克上市公司任职,负责手机与平板电脑Android系统的移植工作;曾参与车联网系统的研发,负责整个系统的架构与搭建工作。从Linux系统移植、后台服务器程序开发,到Android应用开发、H5微信小程序,到机器学习与数据分析,都有丰富的实践和教学工作经验。
|
目錄:
|
第 1章 搭建Java开发环境2
1.1 Java概述2
1.1.1 Java语言的产生2
1.1.2 Java语言的发展3
1.2 Java语言的特点5
1.2.1 面向对象5
1.2.2 可移植性5
1.2.3 稳健性和安全性5
1.2.4 多线程和动态性5
1.3 Java程序工作原理6
1.3.1 编译型语言与解释型语言6
1.3.2 Java程序执行机制6
1.4 搭建JDK环境6
1.5 配置环境变量10
1.6 “第 一个”Java程序14
1.7 集成开发环境Eclipse16
1.8 习题20
第 2章 Java基本程序设计结构21
2.1 注释22
2.1.1 单行注释22
2.1.2 多行注释22
2.1.3 文档注释22
2.2 标识符24
2.3 关键字24
2.3.1 类和接口的关键字25
2.3.2 数据类型的关键字25
2.3.3 流程控制的关键字26
2.3.4 类成员访问权限的关键字26
2.3.5 类实例的关键字26
2.3.6 异常处理相关的关键字27
2.3.7 其他关键字27
2.4 数据类型27
2.4.1 Java的基本数据类型28
2.4.2 Java数据类型的转换29
2.5 变量30
2.6 常量32
2.7 运算符33
2.7.1 算术运算符33
2.7.2 赋值运算符34
2.7.3 关系运算符34
2.7.4 逻辑运算符34
2.7.5 位运算符34
2.7.6 位移运算符35
2.7.7 其他运算符35
2.7.8 运算符的优先级35
2.8 流程控制结构36
2.8.1 分支结构36
2.8.3 循环结构39
2.9 数组45
2.9.1 数组的声明45
2.9.2 数组的初始化45
2.9.3 数组的访问46
2.9.4 数组的遍历46
2.9.5 二维数组48
2.10 习题49
第3章 Java面向对象入门结构52
3.1 面向对象思想52
3.2 类与对象54
3.3 属性55
3.4 方法56
3.5 方法重载58
3.6 构造器59
3.6.1 构造器重载60
3.6.2 默认构造器60
3.7 初始化块61
3.7.1 普通初始化块61
3.7.2 静态初始化块63
3.8 内部类63
3.8.1 成员内部类64
3.8.2 局部内部类65
3.8.3 静态内部类65
3.8.4 匿名内部类66
3.9 this的使用67
3.9.1 引用当前类的属性68
3.9.2 返回类自身的引用68
3.9.3 调用构造器69
3.9.4 用作方法的参数70
3.10 链式调用71
3.11 习题71
第4章 Java面向对象三大特征75
4.1 封装75
4.1.1 private、protected、public、默认76
4.1.2 package和import77
4.2 继承79
4.2.1 继承的定义80
4.2.2 方法的重写82
4.2.3 super关键字的使用83
4.2.4 方法调用的优先级87
4.3 多态89
4.3.1 多态的定义89
4.3.2 多态的特征91
4.3.3 instanceof的使用93
4.3.4 静态绑定和动态绑定96
4.4 习题97
第5章 Java面向对象高级特征100
5.1 toString()方法100
5.2 equals()方法102
5.3 static关键字105
5.4 final关键字105
5.4.1 final类105
5.4.2 final方法106
5.4.3 final属性107
5.4.4 final参数108
5.4.5 final变量108
5.4.6 同时使用static和final109
5.5 抽象110
5.6 接口112
5.6.1 接口的定义112
5.6.2 接口的实现113
5.6.3 一个类实现多个接口114
5.6.4 一个接口继承多个接口115
5.7 方法回调116
5.8 单例117
5.8.1 懒汉式单例117
5.8.2 饿汉式单例118
5.9 习题119
第6章 Python面向对象123
6.1 数组与Arrays类124
6.2 Object类124
6.3 基本数据类型的包装类125
6.3.1 基本数据类型与包装类的转换125
6.3.2 基本数据类型与字符串类型的转换126
6.4 Math类126
6.4.1 无理数的写法126
6.4.2 三角函数的方法126
6.4.3 取整运算的方法127
6.4.4 乘方、开方、对数的方法127
6.4.5 其他方法127
6.5 日期和时间相关的类127
6.5.1 Date类128
6.5.2 Calendar类129
6.5.3 SimpleDateFormat类131
6.6 字符串操作相关的类132
6.6.1 String类133
6.6.2 字节数组、字符数组与字符串的转换134
6.6.3 StringBuffer和StringBuilder类135
6.7 随机类136
6.8 正则表达式137
6.8.1 Pattern与Matcher类137
6.8.2 元字符138
6.8.3 提取匹配的关键字140
6.8.4 正则字符串操作141
6.9 习题141
第7章 异常处理146
7.1 异常概述146
7.2 异常处理相关语法147
7.2.1 try和catch代码块147
7.2.2 多个catch代码块147
7.2.3 错误和异常149
7.2.4 Exception类149
7.2.5 finally代码块150
7.2.6 throws抛出异常151
7.3 异常分类153
7.4 捕获异常153
7.5 抛出异常154
7.6 习题156
第8章 Lambda表达式160
8.1 值参数化与行为参数化160
8.1.1 值参数化160
8.1.2 行为参数化163
8.1.3 引入Lambda165
8.1.4 值参数化与行为参数化的比较166
8.2 Lambda表达式167
8.3 函数式接口168
8.3.1 基本概念168
8.3.2 JDK 8的函数式接口169
8.3.3 参数的类型推断172
8.3.4 多个参数的运算172
8.4 Lambda表达式的其他特性174
8.4.1 使用局部变量174
8.4.2 方法引用176
8.4.3 构造器引用176
8.4.4 Lambda表达式与匿名内部类的区别176
8.5 习题177
第9章 数据结构180
9.1 数组180
9.2 栈181
9.3 队列185
9.4 链表193
9.5 树200
9.6 堆207
9.7 散列表213
9.8 图216
9.9 习题219
第 10章 算法221
10.1 查找算法221
10.1.1 顺序查找法221
10.1.2 二分查找法222
10.2 排序算法224
10.2.1 冒泡排序法225
10.2.2 选择排序法229
10.2.3 插入排序法232
10.2.4 希尔排序法236
10.2.5 快速排序法239
10.2.6 归并排序法242
10.2.7 堆排序法245
10.2.8 排序算法衡量指标249
10.3 递归算法249
10.4 习题252
第 11章 项目开发与实现——五子棋程序256
11.1 游戏说明256
11.1.1 游戏规则256
11.1.2 编程注意事项256
11.1.3 计算机下棋的策略257
11.2 建立模型257
11.3 输出棋盘258
11.4 放置棋子260
11.5 计算机下棋策略264
11.6 读取用户下棋的坐标265
11.7 判断赢棋条件267
11.8 程序主流程269
|
|