新書推薦:
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:NT$
440.0
《
无冕之王:齐桓公与齐国崛起
》
售價:NT$
290.0
|
編輯推薦: |
爆笑漫画 风趣文字,学Java犹如学母语,书中通过各种生动的场景来启发读者自然掌握Java语言
同步视频课程伴读,赠由B站爆款Java视频课程制作人杜聚宾老师亲自操刀录制的图书视频
赠案例代码及部分资源
程序员小灰|码农翻身刘欣|复旦戴开宇教授|Oracle专家王正平|架构师虞浪等专家力荐
知识讲解与生活场景结合,理解难度大大降低
每章均配有专门的“编程实战”,既学又练,夯实基础
场景式代入,犹如和名师面对面
|
內容簡介: |
本书结合大量典型生动的范例,深入浅出地讲解了Java编程的各种基本技术。本书的范例都基于最新的JDK 17版本。本书内容包括:创建和运行Java程序的基本方法、Java语言的基本语法、数据类型和变量、操作符、流程控制、继承、多态、访问控制级别、接口、内部类、异常处理、数组、集合、输入与输出、多线程、反射和注解。
本书别具一格,以Java领域的两位大咖老师:杜聚宾和孙卫琴传授大力Java编程技术为线索,带领读者身临其境地进入Java技术之旅。本书加入了许多生动形象的漫画,以及贴近现实生活的有趣范例,大大增加了书的趣味性,帮助读者轻松地掌握Java语言的编程思想和种种运用技巧。
本书主要面向所有的Java初学者,以及希望巩固Java面向对象编程思想和实用技巧的程序员。本书还可作为高校的Java课程教材,以及企业Java培训教材。
|
關於作者: |
孙卫琴,知名IT作家和Java开发专家,毕业于上海交通大学,曾创办程序员技术网站,已经创作了近二十部软件开发领域的专著,多部作品曾在同类书籍中位居榜单前列。目前在Java培训界的行业巨头——动力节点就职,担任Java研究院首席主编。
杜聚宾,15年以上的软件研发及项目管理经验,曾先后就职于中讯、甲骨文、百度等国内大型软件公司,先后担任过Java高级工程师、CTO等职务,热衷于技术分享。制作的Java视频课程,通俗易懂,由浅入深,深受网友喜欢,在字母站上,“Java零基础视频”单套视频的播放量超千万次。目前在Java培训界的行业巨头——动力节点就职,担任Java教学总监。
|
目錄:
|
第1章 初识Java 编程
1.1 编写Java 源程序
1.1.1 创建一个Java 对象
1.1.2 程序入口main() 方法
1.1.3 面向对象的基本思想
1.2 Java 编译器和Java 虚拟机
1.3 编译和运行Java 程序
1.3.1 认识一下JDK
1.3.2 本范例的目录结构
1.3.3 编译Java 源程序
1.3.4 运行Java 程序
1.3.5 创建用于编译和运行Java 程序的批处理文件
1.4 使用Intellij IDEA 软件开发工具
1.5 编程实战:创建学生类和学生对象
1.5.1 编程提示:多个字符串用操作符“ ”进行拼接
1.5.2 编程拓展:读取命令行输入的参数
1.5.3 编程拓展:读取用户在控制台输入的数据
1.6 小结
第2章 基本语法
2.1 Java 源文件的结构
2.2 关键字
2.3 标识符
2.4 包声明语句
2.4.1 包的命名规范
2.4.2 JDK类库
2.5 包引入语句
2.6 方法的声明
2.7 注释语句
2.8 编程规范
2.9 JavaDoc 文档
2.10 直接用JDK 来编译和运行本章范例
2.11 用IDEA 开发本章范例
2.12 编程实战:建立学生和班主任老师的关联
2.12.1 编程提示:使用package和import 语句
2.12.2 编程拓展:给Java 程序打包
2.13 小结
第3章 数据类型
3.1 基本类型
3.1.1 boolean类型
3.1.2 byte、short、int和long类型
3.1.3 char类型与字符编码
3.1.4 float和double类型
3.2 引用类型
3.3 基本类型与引用类型的区别
3.4 数据类型和变量
3.5 直接数
3.5.1 直接数的类型
3.5.2 直接数的赋值
3.6 包装类
3.7 编程实战:建立图书的电子档案
3.7.1 编程提示:为变量设定合理的数据类型
3.7.2 编程拓展:创建表示日期的Date 对象
3.8 小结
第4章 变量的作用域和类型
4.1 变量的作用域
4.2 对象的默认引用:this
4.3 静态变量和实例变量
4.4 静态方法和实例方法
4.4.1 静态方法
4.4.2 实例方法
4.5 成员变量和局部变量同名
4.6 参数传递
4.7 编程实战:统计员工的信息
4.7.1 编程提示:定义静态变量
4.7.2 编程拓展:定义静态方法
4.8 小结
第5章 变量的生命周期
5.1 局部变量和方法参数的生命周期
5.2 类和静态变量的生命周期
5.3 对象和实例变量的生命周期
5.3.1 用new 关键字创建对象
5.3.2 隐含的默认构造方法
5.3.3 对象的垃圾回收
5.4 变量的初始化及默认值
5.4.1 成员变量的默认初始化
5.4.2 静态变量的显式初始化
5.4.3 实例变量的显式初始化
5.4.4 局部变量的初始化
5.5 编程实战:电饭锅的内存之旅
5.5.1 编程提示:善用各种类型的变量
5.5.2 编程拓展:程序剧本在内存舞台上的演绎
5.6 小结
第6章 操作符
6.1 操作符的分类
6.2 算术操作符
6.2.1 一元算术操作符
6.2.2 二元算术操作符
6.2.3 算术运算中的数据类型转换
6.2.4 复合算术赋值操作符
6.3 比较操作符
6.4 逻辑操作符
6.4.1 与操作符
6.4.2 或操作符
6.4.3 短路操作符和非短路操作符
6.4.4 非操作符
6.5 三元条件操作符“?:”
6.6 赋值操作符
6.7 编程实战:求随机数
6.7.1 编程提示:自定义的生成随机数的算法
6.7.2 编程拓展:Math类的random() 方法
6.8 小结
第7章 流程控制
7.1 分支语句
7.1.1 if-else 语句
7.1.2 switch 语句
7.2 循环语句
7.2.1 while 语句
7.2.2 do-while 语句
7.2.3 for 语句
7.2.4 多重循环
7.3 流程跳转语句
7.4 编程实战:求一个正整数的阶乘
7.4.1 编程提示:使用循环语句
7.4.2 编程拓展:使用递归
7.5 小结
第8章 继承
8.1 继承的基本语法
8.2 Object 祖先类
8.3 成员方法的重载
8.4 构造方法的重载
8.5 成员方法的覆盖
8.6 子类访问父类的同名成员变量和方法
8.7 final 修饰符
8.7.1 final类
8.7.2 final 方法
8.7.3 final 变量
8.8 abstract 修饰符
8.8.1 abstract 修饰符的修饰内容
8.8.2 abstract 修饰符的语法规则
8.9 调用父类的构造方法
8.10 编程实战:覆盖和重载Object类的方法
8.10.1 编程提示:覆盖equals() 方法
8.10.2 编程拓展:重载toString() 方法
8.11 小结
第9章 多态
9.1 实例方法的动态绑定
9.2 静态方法和成员变量的静态绑定
9.3 引用类型操作符
9.4 操作符“==”
9.5 引用变量的赋值和类型转换
9.6 instanceof 操作符
9.7 编程实战:饲养员给动物喂食
9.7.1 编程提示:动物的多态
9.7.2 编程拓展:创建食物工厂
9.7.3 编程拓展:运用反射机制创建Food 对象
9.7.4 编程拓展:运用泛型避免ClassCastException
9.8 小结
第10章 访问控制级别
10.1 封装类的部分属性和方法
10.2 封装的概念与作用
10.3 封装类的构造方法
10.4 四种访问控制级别
10.5 编程实战:模拟电风扇
10.5.1 编程提示:封装实现细节
10.5.2 编程拓展:运用线程模拟扇叶旋转
10.6 小结
第11章 接口
11.1 接口的定义和基本用法
11.2 接口的成员变量
11.3 接口的方法
11.4 接口的继承
11.5 一个类实现多个接口
11.6 比较抽象类与接口
11.7 编程实战:创建适配器
11.7.1 编程提示:通过继承实现适配器
11.7.2 编程拓展:通过组合实现适配器
11.8 小结
第12章 内部类
12.1 内部类的种类
12.2 成员内部类
12.2.1 实例内部类
12.2.2 静态内部类
12.3 局部内部类
12.4 匿名类的定义和特点
12.5 匿名类的作用
12.6 用Lambda 表达式代替匿名类
12.7 编程实战:巧用内部类
12.7.1 编程提示:内部类回调外部类
12.7.2 编程拓展:内部类作为外部类的静态工厂
12.8 小结
第13章 异常处理
13.1 Java 异常处理机制概述
13.2 Java 异常处理的语法
13.2.1 抛出异常和捕获异常
13.2.2 finally 语句:任何情况下必须执行的代码
13.3 Java 异常类
13.3.1 运行时异常
13.3.2 受检查异常
13.3.3 区分受检查异常和运行时异常
13.4 自定义异常类
13.5 编程实战:处理电梯运行中的异常
13.5.1 编程提示:根据实际需求处理异常
13.5.2 编程拓展:异常链
13.6 小结
第14章 数组
14.1 数组简介
14.1.1 数组变量的声明
14.1.2 创建数组对象
14.1.3 访问数组的元素和数组的长度
14.1.4 数组的初始化
14.1.5 遍历数组
14.2 数组排序
14.3 多维数组
14.4 用符号“…”声明数目可变参数
14.5 编程实战:创建会自动排序的数据结构
14.5.1 编程提示:创建包装了数组的Java类
14.5.2 编程拓展:创建容量会自动增长的数据结构
14.6 小结
第15章 集合
15.1 Java 集合的类框架
15.2 集合的基本用法
15.2.1 包装类的自动装箱和拆箱
15.2.2 集合的静态of() 方法
15.3 Set
15.3.1 Set 的一般用法
15.3.2 HashSet类
15.3.3 TreeSet类
15.4 List
15.5 Queue
15.6 Map
15.7 用Lambda 表达式指定遍历集合的具体行为
15.8 编程实战:报数游戏
15.8.1 向列表添加和删除元素
15.8.2 运用递归遍历列表
15.9 小结
第16章 输入与输出
16.1 输入流和输出流概述
16.2 输入流InputStream类
16.3 过滤输入流:FilterInputStream
16.3.1 BufferedInputStream类
16.3.2 DataInputStream类
16.4 输出流OutputStream类
16.5 过滤输出流:FilterOutputStream
16.5.1 BufferedOutputStream
16.5.2 PrintStream类
16.6 Reader/Writer 概述
16.7 Reader类
16.7.1 InputStreamReader类
16.7.2 BufferedReader类
16.8 Writer类
16.8.1 OutputStreamWriter类
16.8.2 PrintWriter类
16.9 读写文本文件的范例
16.10 File类
16.11 用java.nio.file 包中的类操纵文件系统
16.12 编程实战:遍历目录树
16.12.1 编程提示:使用Files类的walkFileTree() 方法
16.12.2 编程拓展:查看ZIP压缩文件
16.13 小结
第17章 多线程的并发运行
17.1 进程和线程的概念
17.2 Java 线程的运行机制
17.3 线程的创建和启动
17.3.1 扩展java.lang.Thread类
17.3.2 实现java.lang.Runnable 接口
17.4 线程的状态转换
17.4.1 新建状态(New)
17.4.2 就绪状态(Runnable)
17.4.3 运行状态(Running)
17.4.4 阻塞状态(Blocked)
17.4.5 等待状态(Waiting)
17.4.6 死亡状态(Terminated)
17.4.7 线程状态转换举例
17.5 线程调度
17.6 线程睡眠
17.7 获得当前线程对象的引用
17.8 后台线程
17.9 编程实战:定时执行任务
17.9.1 编程提示:线程并发访问同一个对象
17.9.2 编程拓展:使用定时器类
17.10 小结
第18章 多线程的同步和通信
18.1 线程的同步
18.1.1 同步代码块的语法
18.1.2 线程同步的特征
18.2 线程的通信
18.2.1 线程通信的流程
18.2.2 对象的锁池和等待池
18.3 编程实战:秒针、分针和时针的通信
18.3.1 编程提示:明确线程等待的条件
18.3.2 编程拓展:使用外部锁
18.4 小结
第19章 反射机制
19.1 Java 反射API 简介
19.2 动态创建对象
19.3 动态访问对象的属性
19.4 动态访问对象的方法
19.5 动态创建和访问数组
19.6 编程实战:复制对象
19.6.1 编程提示:动态调用JavaBean 的get和set 方法
19.6.2 编程拓展:创建动态代理
19.7 小结
第20章 注解
20.1 自定义注解
20.2 对自定义注解的限定
20.3 在类的源代码中使用注解
20.4 在程序中运用反射机制读取类的注解
20.5 基本内置注解
20.6 编程实战:把Java类映射成数据库表
20.6.1 编程提示:定义和使用@Table等注解
20.6.2 编程拓展:识别和处理@Table等注解
20.7 小结
|
內容試閱:
|
学霸大力从小酷爱计算机,立志长大要做一名“程序猿”,威风凛凛地对着一群电脑发号施令,俨然像统帅千军万马的将军。无奈事与愿违,高考的时候,三分之差,没有考上心仪的计算机专业,被发配到学习呜哩呱啦语言的小语种专业。学霸心情一落千丈,在大学里瞬间颓废为学渣。光阴如剑,等到毕业找工作时,到处碰壁,大力这才如梦初醒。
当初要做“程序猿”的梦想又开始复燃,大力决心重振学霸雄风,学习计算机编程,向软件开发领域转行。朋友向大力推荐学习当下很流行的Java 编程语言。
大力心想,自己有过四年学习小语种语言的经验,不就是再学一门语言吗,小菜一碟!
大力求学心切,买了一大堆Java 方面的书籍,每日泡在书海里恶补,各种各样的语法、术语、框架、API 在大力脑子里杂乱无章地狂轰乱炸。一个月下来,大力学习Java 始终不得要领。
这些书个个都像饱学之士,在大力面前滔滔不绝地炫技,却不能根据大力的知识背景来因材施教。大力发现这些书无法循序渐进带领自己登入Java 殿堂,倒是对治愈最近由于狂躁引起的失眠有着神奇的疗效。
怎么办呢?大力忽然想到了老爹经常唠叨的名言:读万卷书,不如行万里路,行万里路,不如名师指路。大力决定拜师学艺。师父在哪儿呢?大力在茫茫网海里搜搜搜,发现IT 培训领域里也是百花齐放,百鸟争鸣,好不热闹!大力深知时光宝贵,不可能向所有的大咖大牛拜师,必须找到最适合自己的师父。
大力有一日在B 站闲逛,无意中闯入了老杜的Java课堂,立刻被抑扬顿挫、醍醐灌顶的讲课风格折服了。哈哈,众里寻他千百度,蓦然回首,师父就在Java课堂教学徒。
大力亲自拜见了老杜本尊。自此,大力在老杜的谆谆教导下,开始有计划、有章法地学习Java。一日,当大力正在津津有味地观看老杜录制的视频课程时,老杜很神秘地对大力说:“我还要向你推荐一位其名声如雷贯耳,其文笔如行云流水的Java 大师。”大力瞪大眼睛,静听下文。老杜正色道:“我最近邀请深受广大程序员们推崇的Java 作家卫琴姐切磋Java 编程技术,打算为你们这些Java 初学者编写一本Java 学习秘籍,视频和书本结合起来学习,可达到事半功倍的效果。”
正中下怀,大道至简。三岁小孩就学会了母语。本秘籍也通过各种生动的场景来启发读者自然掌握Java语言。
Java体系日益庞大,令初学者望而生畏,咱们写一本Java秘籍,意下如何?
大力问:“那我如何向卫琴姐学习呢?”老杜笑答:“卫琴姐写书已经达到炉火纯青的地步。她把写书、教书和学习的过程融为一体。这本书图文并茂,不仅授人以鱼,还授人以渔。你聪明过人,又勤奋好学。你将成为本书的主人公,当本书写完,你也会成为Java 编程高手!”
大力两眼放光,兴奋地问:“书名叫什么?”
“书名叫:漫画Java编程。”老杜踌躇满志地宣布了Java 秘籍的书名。
卫琴姐看到大力聪明好学,当即传授了学Java 编程的要诀:
对象与类常相依,继承扩展成体系。
道法自然通古今,虚拟现实融一体。
书中范例的源文件请到相关网站上下载。
|
|