新書推薦:
《
世界巨变:严复的角色(王中江著作系列)
》
售價:NT$
500.0
《
宋初三先生集(中国思想史资料丛刊)
》
售價:NT$
990.0
《
天生坏种:罪犯与犯罪心理分析
》
售價:NT$
445.0
《
新能源材料
》
售價:NT$
290.0
《
传统文化有意思:古代发明了不起
》
售價:NT$
199.0
《
亚述:世界历史上第一个帝国的兴衰
》
售價:NT$
490.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
|
編輯推薦: |
通俗易懂,快速入门。内容结构上各知识点循序渐进,阐述简练准确,以问题为出发点,激发读者学习兴趣,探索求知精神。
扫码学习,随心所欲。书中大部分内容配备了授课视频的二维码,读者通过扫码随时随地学习,突破时空限制。
能量满满,情怀汤汤。本书着眼立德树人,大力传播社会主义核心价值观、传统文化和正能量,潜移默化培养责任、担当、上进意识。
资源丰富,方便教学。课程资源包括教学大纲、教学日历、精美授课PPT、配有字幕的理论视频和编程视频(共2100余分钟)、按章节分类的题库。
|
內容簡介: |
Java是互联网时代重要的编程语言之一。 本书从初学者的角度出发,通过典型的案例、简单清晰的图示、通俗易懂的语言,深入浅出地介绍了Java应用开发中使用的重点技术。 全书共20章,第1~5章讲解Java特点和开发环境搭建、Java语言基础、程序流程控制、数组和方法,这些内容是Java的基础知识;第6~8章讲解Java面向对象编程知识,包括类与对象,构造方法,封装性,this、static和super等关键字,继承、抽象类、接口、多态性、类之间的关系、单例模式和简单工厂模式等,这些内容是Java的核心内容;第9~15章讲解包及访问控制权限、异常处理、泛型、常用类、I/O系统、集合、JDBC编程等,这些内容是Java的重点难点;第16~20章讲解注解、图形用户界面、反射、多线程和网络编程,这些内容是Java应用开发基础。 本书列举了300多个程序案例、绘制了300多个图示、布置了100多道习题,方便读者快速理解相关知识点并掌握应用技巧。本书还提供了丰富的配套教学资源,包括教学大纲、教学视频2100余分钟、题库2200多道、精美PPT课件1800余页、所有源程序代码和习题参考答案。本书所有资源部署在学银在线慕课平台,所有程序在JDK 17上运行通过,扫描随书提供的二维码可观看相应内容的讲解视频。 本书可作为高等院校相关专业的“Java程序设计”课程教材,也可作为Java语言的自学者入门用书。
|
目錄:
|
第1章Java概述1
1.1初识Java1
1.1.1Java的发展1
1.1.2Java的特点2
1.2Java开发环境3
1.2.1Java运行机制3
1.2.2搭建开发环境4
1.2.3第一个Java程序6
1.3Eclipse集成开发环境8
1.3.1Eclipse简介8
1.3.2安装Eclipse9
1.3.3建立Java项目10
1.4Java命名规范13
1.5小结13
1.6习题13
第2章Java语言基础15
2.1Java程序结构15
2.2注释及编程风格17
2.2.1注释17
2.2.2Java编程风格17
2.3Java符号集18
2.3.1Java符号系统18
2.3.2标识符19
2.3.3关键字20
2.4数据类型21
2.4.1数据类型概念21
2.4.2常量22
2.4.3变量252.4.4整数类型26
2.4.5浮点数类型26
2.4.6字符类型27
2.4.7布尔类型28
2.5数据类型转换29
2.5.1自动转换29
2.5.2强制转换30
2.5.3字符串的转换30
2.6表达式与语句31
2.6.1算术表达式31
2.6.2赋值表达式32
2.6.3关系表达式33
2.6.4逻辑表达式34
2.6.5表达式语句35
2.6.6运算符的优先级35
2.7小结36
2.8习题36
〖3〗Java编程基础(微课版)目录〖3〗第3章程序流程控制39
3.1选择结构39
3.1.1if语句39
3.1.2switch语句42
3.1.3条件运算符45
3.2循环结构46
3.2.1while语句46
3.2.2do…while语句47
3.2.3for语句50
3.2.4嵌套循环51
3.3跳转语句53
3.3.1break语句53
3.3.2continue语句54
3.3.3return语句55
3.4小结56
3.5习题56
第4章数组58
4.1一维数组58
4.1.1声明一维数组58
4.1.2初始化一维数组59
4.1.3使用一维数组60
4.2二维数组62
4.2.1声明与初始化二维数组62
4.2.2使用二维数组63
4.3foreach语句65
4.4不规则数组66
4.5小结67
4.6习题68
第5章方法70
5.1传统方法70
5.1.1方法的概念70
5.1.2定义及调用传统方法70
5.1.3参数传递方式72
5.2形参长度可变方法73
5.2.1形参长度可变方法的概念73
5.2.2定义形参长度可变方法73
5.2.3调用形参长度可变方法74
5.3方法重载75
5.4递归方法77
5.5小结78
5.6习题78
第6章面向对象编程(上)80
6.1软件开发方法80
6.1.1结构化开发方法81
6.1.2面向对象开发方法81
6.2类与对象84
6.2.1定义类84
6.2.2创建使用对象86
6.2.3成员方法与数据成员90
6.3构造方法92
6.3.1构造方法的概念92
6.3.2使用构造方法93
6.3.3默认构造方法95
6.4匿名对象95
6.5封装性96
6.5.1封装的概念96
6.5.2private关键字97
6.5.3setter和getter方法99
6.6this关键字101
6.6.1this作用101
6.6.2引用数据成员102
6.6.3引用成员方法103
6.6.4调用构造方法104
6.6.5this本质105
6.6.6对象比较106
6.7综合案例108
6.7.1分析数据成员108
6.7.2分析构造方法和成员方法109
6.7.3画类图109
6.7.4编码测试110
6.8static关键字111
6.8.1static作用111
6.8.2修饰数据成员112
6.8.3修饰成员方法114
6.8.4修饰代码块117
6.8.5main方法119
6.8.6static综合应用120
6.9对象数组122
6.10内部类125
6.10.1内部类概念125
6.10.2成员内部类125
6.10.3静态内部类127
6.10.4局部内部类128
6.11小结128
6.12习题129
第7章面向对象编程(中)131
7.1继承131
7.1.1继承的概念131
7.1.2创建子类134
7.1.3方法覆写与属性覆盖137
7.2super关键字140
7.3final关键字144
7.3.1修饰类144
7.3.2修饰成员方法144
7.3.3修饰数据成员145
7.4instanceof运算符146
7.5抽象类147
7.5.1抽象类的概念147
7.5.2定义抽象类148
7.5.3抽象类的应用150
7.6接口152
7.6.1接口的概念152
7.6.2定义接口152
7.6.3应用接口156
7.7对象多态性160
7.7.1多态的概念160
7.7.2实现多态161
7.7.3对象转型163
7.7.4方法重载和对象多态的区别164
7.8对象多态案例166
7.9匿名内部类169
7.10小结171
7.11习题171
第8章面向对象编程(下)173
8.1类之间的6种关系173
8.1.1继承关系174
8.1.2实现关系174
8.1.3依赖关系175
8.1.4关联关系176
8.1.5聚合关系178
8.1.6组合关系181
8.2单例模式183
8.2.1单例模式的概念183
8.2.2两种单例模式184
8.2.3单例模式案例185
8.3简单工厂模式186
8.3.1简单工厂模式概念186
8.3.2简单工厂模式类图186
8.3.3简单工厂模式案例187
8.4小结189
8.5习题189
第9章包及访问控制权限192
9.1包192
9.1.1包的概念192
9.1.2定义包192
9.1.3使用包194
9.1.4常见包197
9.2访问控制权限197
9.3小结199
9.4习题199
第10章异常处理200
10.1基本概念200
10.2异常处理机制202
10.2.1异常处理方式202
10.2.2异常类结构203
10.3try…catch…finally语句205
10.4throws关键字209
10.5throw语句及自定义异常211
10.5.1throw语句211
10.5.2自定义异常211
10.6异常综合案例212
10.7小结213
10.8习题214
第11章泛型216
11.1基本概念216
11.2泛型类218
11.2.1定义泛型类218
11.2.2指定多个类型参数219
11.2.3泛型继承220
11.3通配符221
11.4泛型接口223
11.4.1定义泛型接口223
11.4.2实现泛型接口223
11.5泛型方法225
11.6受限泛型227
11.6.1泛型上限227
11.6.2泛型下限228
11.7小结229
11.8习题229
第12章常用类231
12.1包装类231
12.1.1包装类的概念231
12.1.2装箱与拆箱232
12.1.3包装类的应用233
12.2字符串类233
12.2.1String类233
12.2.2StringBuffer类235
12.2.3StringBuilder类237
12.3Object类237
12.3.1Object类简介237
12.3.2常用方法238
12.3.3接收任意对象241
12.4Runtime类243
12.5System类244
12.5.1System类简介244
12.5.2System类应用244
12.5.3垃圾回收对象246
12.6日期类247
12.6.1Date类247
12.6.2Calendar类247
12.6.3DateFormat类248
12.6.4SimpleDateFormat类250
12.7Math类252
12.8Random类252
12.9数值格式化类253
12.9.1NumberFormat类253
12.9.2DecimalFormat类254
12.10处理大数256
12.10.1BigInteger类256
12.10.2BigDecimal类257
12.11克隆接口Cloneable258
12.12Arrays类262
12.13比较接口263
12.13.1Comparable接口264
12.13.2Comparator接口265
12.14正则表达式267
12.14.1正则表达式简介267
12.14.2Pattern类和Matcher类267
12.14.3String类对正则表达式的支持270
12.15小结271
12.16习题272
第13章I/O系统274
13.1概述274
13.1.1I/O模型274
13.1.2I/O类结构276
13.2File类278
13.2.1File类简介278
13.2.2File类的应用278
13.3字节流281
13.3.1字节流类281
13.3.2FileInputStream类和FileOutputStream类282
13.3.3ByteArrayInputStream类和ByteArrayOutputStream类287
13.3.4PrintStream类288
13.4字符流289
13.4.1字符流类289
13.4.2FileReader类和FileWriter类290
13.4.3CharArrayReader类和CharArrayWriter类293
13.4.4PrintWriter类293
13.5缓冲流295
13.5.1字符缓冲流295
13.5.2字节缓冲流298
13.6字节流与字符流转换302
13.6.1转换机制302
13.6.2InputStreamReader类和OutputStreamWriter类302
13.7随机存取类RandomAccessFile305
13.7.1RandomAccessFile类简介305
13.7.2RandomAccessFile类读取数据306
13.7.3RandomAccessFile类输出数据307
13.8Scanner类309
13.8.1Scanner类简介309
13.8.2Scanner类应用309
13.9System类对I/O的支持311
13.9.1System.out312
13.9.2System.in312
13.9.3System.err313
13.9.4重定向I/O313
13.10数据流314
13.10.1DataOutputStream类314
13.10.2DataInputStream类316
13.11对象序列化318
13.11.1序列化简介318
13.11.2ObjectOutputStream类320
13.11.3ObjectInputStream类321
13.11.4Externalizable接口323
13.11.5transient关键字325
13.11.6序列化数组326
13.12新I/O327
13.12.1NIO简介328
13.12.2Buffer328
13.12.3Channel331
13.13小结333
13.14习题333
第14章集合336
14.1概述336
14.1.1集合的概念336
14.1.2集合框架337
14.1.3Collection接口338
14.1.4Iterator接口339
14.2Set接口339
14.2.1HashSet类339
14.2.2TreeSet类343
14.3List接口346
14.3.1ArrayList类347
14.3.2ListIterator接口349
14.3.3LinkedList类351
14.3.4Queue接口352
14.3.5Stack类353
14.4Map接口354
14.4.1Map简介354
14.4.2Map.Entry接口356
14.4.3HashMap类356
14.4.4TreeMap类359
14.4.5输出Map接口362
14.5属性类Properties363
14.5.1Properties类简介363
14.5.2Properties类应用364
14.6集合工具类Collections366
14.7小结368
14.8习题369
第15章JDBC编程372
15.1JDBC简介372
15.1.1JDBC概述372
15.1.2JDBC编程步骤374
15.1.3JDBC主要类和接口374
15.2连接数据库375
15.2.1MySQL简介375
15.2.2连接MySQL服务器376
15.3查询数据库379
15.3.1数据库操作环境379
15.3.2ResultSet接口380
15.3.3查询案例380
15.4操纵数据库383
15.4.1插入记录383
15.4.2修改记录385
15.4.3删除记录386
15.5PreparedStatement接口387
15.5.1PreparedStatement接口的优点387
15.5.2PreparedStatement接口的应用案例388
15.6小结392
15.7习题393
第16章注解395
16.1注解简介395
16.23种标准注解395
16.2.1@Override396
16.2.2@SuppressWarnings396
16.2.3@Deprecated397
16.3自定义注解398
16.44种元注解400
16.4.1@Target400
16.4.2@Retention402
16.4.3@Documented403
16.4.4@Inherited403
16.5小结404
16.6习题404
第17章图形用户界面406
17.1概述406
17.1.1图形用户界面简介406
17.1.2AWT407
17.1.3Swing409
17.2JFrame容器411
17.3基本组件413
17.3.1JLabel413
17.3.2JButton414
17.3.3JTextField416
17.4布局管理器418
17.4.1FlowLayout418
17.4.2BorderLayout419
17.4.3GridLayout421
17.4.4绝对定位422
17.5其他容器424
17.5.1JPanel424
17.5.2JSplitPane427
17.5.3JTabbedPane429
17.6事件处理431
17.6.1基本概念431
17.6.2事件处理机制434
17.6.3窗体事件435
17.6.4动作事件437
17.6.5键盘事件440
17.6.6鼠标事件442
17.6.7适配器445
17.7其他常用组件448
17.7.1JRadioButton448
17.7.2JCheckBox450
17.7.3JComboBox452
17.7.4JList454
17.7.5菜单456
17.7.6JTable460
17.7.7JFileChooser464
17.7.8树467
17.8小结470
17.9习题471
第18章反射473
18.1概述473
18.2Class类474
18.3获取类结构475
18.3.1获取父类477
18.3.2获取接口478
18.3.3获取构造方法479
18.3.4获取成员方法480
18.3.5获取数据成员481
18.4调用方法483
18.4.1调用构造方法483
18.4.2调用成员方法484
18.4.3调用setter和getter方法485
18.5访问数据成员487
18.6小结488
18.7习题488
第19章多线程490
19.1概述490
19.1.1进程与线程490
19.1.2线程生命周期492
19.2多线程实现方式493
19.2.1继承Thread类493
19.2.2实现Runnable接口495
19.3线程常用方法497
19.3.1基本方法497
19.3.2强制执行498
19.3.3线程礼让500
19.4线程同步501
19.4.1同步概念501
19.4.2同步代码块502
19.4.3同步方法503
19.4.4同步锁505
19.5死锁507
19.6生产者与消费者问题509
19.7小结512
19.8习题512
第20章网络编程515
20.1网络编程基础515
20.1.1InetAddress类515
20.1.2URL类517
20.1.3URLConnection类519
20.2TCP编程521
20.2.1Socket通信机制521
20.2.2ServerSocket类与Socket类522
20.2.3TCP编程案例522
20.3UDP编程526
20.3.1UDP通信机制526
20.3.2DatagramPacket类与DatagramSocket类526
20.3.3UDP编程案例527
20.4小结531
20.5习题531
|
內容試閱:
|
从事有趣的、富有挑战性的设计,本身就是一种愉快的享受。
——王选
只要你有一件合理的事去做,你的生活就会显得特别美好。
——阿尔伯特·爱因斯坦
2006年,作者第一次讲授“Java程序设计”课程就被Java高超的设计思想深深吸引。此后作者一直有幸讲授该课程,见证了Java语言的繁荣与发展,至今仍生机勃勃。作者从事“Java程序设计”课程教学17年来,使用过多种不同类型的教材,也接触了一批优秀教材。多年的教学实践让作者体会到一些教材存在不足,例如理论讲解多、针对性案例少,阐述晦涩、理解困难,案例过于简单、启发性不强,重传授科学知识、轻育人内容等。
作为一名合格的高校教师,不仅传道授业解惑,还应注重通过教材传播更多正能量,学生在掌握专业知识的同时,在潜移默化中锻造积极向上、奋勇拼搏、健康乐观的人生态度和高尚品格。
作者平时在教学实践、科学研究和带领学生团队过程中注意收集素材、积累资料、参与各种培训和学校组织的理论学习,不断有新感觉、新体会。
2019年,印发《关于一流本科课程建设的实施意见》,明确了一流本科课程建设标准,课程建设(包括录制视频、建设题库、开发项目、线上线下混合教学、研讨式翻转课堂教学等)骤然有了无限生机。作者的“Java程序设计”课程线上访问量近1000万次,学银在线慕课平台示范教学包被引用800余次,惠及2万余名学生。2020年主持的“Java程序设计Ⅰ”被认定为首批国家级线上线下混合式一流本科课程,2021年主持的“设计模式”被认定为湖南省线上一流本科课程。
2020年,印发《高等学校课程思政建设指导纲要》,落实立德树人根本任务,围绕政治认同、家国情怀、文化素养、宪法法治意识、道德修养等重点优化课程思政内容供给,系统进行中国特色社会主义和中国梦教育、社会主义核心价值观教育、法治教育、劳动教育、心理健康教育、中华优秀传统文化教育,坚定学生理想信念,切实提升立德树人的成效。
作者已从事20多年的高等教育,积累了丰富的教学经验,作为学校教学督导团专家以及国家级一流本科课程评审专家,一直在思考,教材作为传播知识的载体,如何在教材中落实教书育人任务?本书大胆改革课程内容,基于CDIO理念和案例驱动,提高读者编程能力和应用基础Java API解决实际问题的能力,更新课程内容,紧跟Java语言发展,贯彻落实立德树人,传播社会主义核心价值观、优秀传统文化和正能量。
想法很多,付诸行动需要勇气和毅力。
总想闲时付诸行动,却终是找不到闲暇。某天与友人茶余饭后,幡然醒悟,当下即是开始。随即打开10年前的联想R400,没有仪式,没有思考,一切静悄悄,就像和多年熟识的老朋友相见那么自然。
本书特色如下。
(1) 通俗易懂,快速入门。在内容结构上各知识点循序渐进,阐述简练准确。以问题为出发点,激发读者学习兴趣,探索求知精神。大量图示帮助读者理解编程要点;每个程序都有详细注释,帮助读者快速吸收编程难点;典型案例浅显易懂,帮助读者更透彻地分析;书后习题帮助读者理解关键知识点。理论与实践结合,实践验证理论,理论指导实践。读者在愉快的学习过程中理解理论,提升实践能力,提高学习获得感和成就感。
(2) 资源丰富,难度降低。本书配2100余分钟带字幕的教学视频,其中PPT理论授课视频600余分钟,编程演示视频1400余分钟;提供了300余个程序案例。所有资源部署在学银在线慕课平台。
(3) 扫码学习,随心所欲。书中大部分内容配备了授课视频二维码,读者通过手机扫码随时随地学,突破时空限制,满足按需学习。
(4) 能量满满,匠心情怀。本书着眼立德树人,部分案例充满爱国情怀,锻造工匠精神,通篇注重环保意识,培育社会主义核心价值观、正确人生观,潜移默化培养担当、责任、上进意识。
(5) 分类清晰,教学容易。课程资源包括三纲、理论授课视频、编程演示视频、按章节分类题库,授课教师能根据教学进度和需要,任意组织教学内容。通过课程平台,授课教师能轻松获取所有教学资源。
本书是作者从教20多年的感悟,书中内容字斟句酌、反复推敲、不断总结、推陈出新,毕竟知识和水平有限,书中难免存在纰漏,恳请读者提出宝贵意见和建议。
感谢同事们一起研究教材结构、提供众多资源素材和视频制作,使本书内容更加充实丰满,富有情怀。
感谢亲人和朋友们多年来的大力支持,使作者能全力以赴完成本书,为广大读者学习了解Java提供较好的平台和选择。
感谢启航学习团队和吉首大学计算机科学与工程学院的同学们,使作者体会到工作的乐趣。
若本书对读者有所启发和帮助,作者将欢欣鼓舞。祝读者学习快乐!
作者2023年3月
|
|