新書推薦:
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:HK$
93.2
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:HK$
337.5
《
大国脊梁:漫画版
》
售價:HK$
80.2
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:HK$
189.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
81.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
|
編輯推薦: |
1. 突出程序设计的学习。本书重点是应用Java语言进行程序设计。本书精选大量的实例程序,通过具体程序来学习Java语言。书中结合实例介绍常见的Java语法和基础知识,屏蔽掉不常用的语法,重点放在应用这些知识点来设计程序上。2. 强调实践能力培养。Java语言实践能力包括两个方面,一是编写程序能力,二是调试程序能力。本书按照学习习惯进行组织,首先从问题出发给出示例程序和结果;然后在学习示例程序基础上指导学习者完成一个类似的训练程序;完成训练程序后学习者可以自己完成实做程序,检验学习效果,如果遇到问题可以再回过头来仔细研读示例程序和训练程序。本书突出程序调试能力的培养,给出每个程序的编译过程和运行结果,讲解常见的错误和处理方法,希望学习者能够逐步学会修改程序中错误,得到正确结果,学会调试程序。3. 重点学习面向对象程序设计。本书给出的实例突出面向对象的封装、继承和多态特征,强调Java语言特色,让学习者学到有面向对象味道的程序,如框架实例。4. 注重学习过程的深入浅出。本书实例简单易学,从*基本的实例开始,不断改进和完善,*后形成更为完整和复杂的程序,易于学习和模仿。在介绍实例程序的同时
|
內容簡介: |
本书从程序设计的角度来介绍Java语言,阐述如何应用Java语言设计出有Java特色的应用程序。全书共分三篇,*篇为Java基础,介绍Java的开发环境、程序开发过程、基本的语法、语句,重点介绍应用Java语言进行简单Java程序的开发过程,强调程序的设计过程和调试过程;第二篇为Java面向对象程序设计,介绍应用Java语言的类、对象、接口来设计面向对象的Java程序,通过一个个实例展示什么是面向对象程序设计,如何设计有Java特色的面向对象程序,并给出了有Java语言特色的简单框架程序;第三篇为Java应用开发,给出了多个Java应用实例,这些实例采用层层推进、模块组合的方式,从简单的功能开始,逐步增加内容,*后完成一个有一定规模且实用的基于网络的学生成绩查询管理系统。 本书内容浅显易懂,按照问题来组织内容,每章解决一个问题,围绕这个问题来设计程序,讲解所用到的相关知识,让读者通过实例学习Java程序设计,逐步培养Java程序设计思路。本书既可以作为高等学校学生学习Java程序设计的教材,也可以作为自学Java语言读者的参考书。
|
目錄:
|
目录
第一篇Java基础
第1章第一个Java程序3
1.1示例程序3
1.1.1HelloWorld程序3
1.1.2HelloWorld程序
分析4
1.2相关知识4
1.2.1下载安装工具包5
1.2.2配置5
1.2.3编辑程序7
1.2.4编译运行程序7
1.3训练程序8
1.3.1程序分析8
1.3.2参考程序8
1.3.3程序调试9
1.4拓展知识10
1.4.1开发工具10
1.4.2Java API文档10
1.4.3编码规范11
1.5实做程序12
第2章显示学生成绩14
2.1示例程序14
2.1.1显示学生信息14
2.1.2引入变量15
2.1.3增加注释15
2.2相关知识17
2.2.1标识符和关键字17
2.2.2数据类型和变量17
2.2.3运算符和表达式19
2.3训练程序21
2.3.1程序分析21
2.3.2参考程序21
2.4拓展知识23
2.4.1Java虚拟机23
2.4.2变量存储23
2.4.3变量类型转换24
2.5实做程序24
第3章学生成绩分级27
3.1示例程序27
3.1.1显示考试结果27
3.1.2输入学生成绩28
3.2相关知识30
3.2.1基本语句30
3.2.2条件分支语句31
3.2.3多分支语句32
3.3训练程序32
3.3.1程序分析33
3.3.2参考程序33
3.4拓展知识34
3.4.1分支语句讨论34
3.4.2数据合法性检查35
3.5实做程序37
第4章计算平均成绩40
4.1示例程序40
4.1.1计算平均成绩40
4.1.2引入常量41
4.1.3未知人数42
4.2相关知识45
4.2.1for循环语句45
4.2.2while循环语句45
4.3训练程序46
4.3.1程序分析46
4.3.2参考程序46
4.4拓展知识47
4.4.1循环语句讨论47
4.4.2循环边界检查48
4.5实做程序49
第5章显示班级成绩单53
5.1示例程序53
5.1.1班级平均成绩53
5.1.2显示最高成绩54
5.2相关知识56
5.2.1一维数组56
5.2.2多维数组56
5.3训练程序57
5.3.1程序分析57
5.3.2参考程序57
5.4拓展知识58
5.4.1数组讨论58
5.4.2数组的存储59
5.5实做程序60
第6章显示学生基本信息62
6.1示例程序62
6.1.1程序实现62
6.1.2处理部分提取63
6.1.3读入部分提取64
6.2相关知识65
6.2.1Java方法65
6.2.2参数传递66
6.3训练程序67
6.3.1程序分析68
6.3.2参考程序68
6.4拓展知识69
6.4.1方法重构69
6.4.2方法存储69
6.5实做程序69
〖1〗Java基础与应用目录[3]〖3〗第二篇面向对象程序设计
第7章简单Student类73
7.1示例程序73
7.1.1显示学生信息73
7.1.2增加测试类75
7.2相关知识76
7.2.1Java类定义76
7.2.2类的方法77
7.3训练程序78
7.3.1程序分析78
7.3.2参考程序78
7.4拓展知识79
7.4.1为什么引入类79
7.4.2变量作用域80
7.5实做程序81
第8章Student类对象82
8.1示例程序82
8.1.1访问控制权限82
8.1.2添加构造方法83
8.2相关知识85
8.2.1构造方法85
8.2.2访问权限控制86
8.2.3类的组成部分87
8.3训练程序88
8.3.1程序分析88
8.3.2参考程序88
8.4拓展知识89
8.4.1对象存储89
8.4.2对象相等91
8.5实做程序92
第9章完善Student类94
9.1示例程序94
9.1.1添加置取方法94
9.1.2增加构造方法96
9.1.3完整的Student类97
9.2相关知识99
9.2.1置取方法99
9.2.2对象this101
9.3训练程序102
9.3.1程序分析103
9.3.2参考程序103
9.4拓展知识105
9.4.1类的封装105
9.4.2置取方法讨论106
9.4.3参数传递深入
讨论106
9.5实做程序108
第10章Student类组合111
10.1示例程序111
10.1.1MobilePhone类
111
10.1.2增加机主属性113
10.2相关知识115
10.2.1对象属性115
10.2.2类的组合关系116
10.3训练程序117
10.3.1程序分析117
10.3.2参考程序117
10.4拓展知识119
10.4.1组合讨论119
10.4.2组合与封装120
10.5实做程序124
第11章Student类方法重载125
11.1示例程序125
11.1.1构造方法重载125
11.1.2普通方法重载126
11.2相关知识128
11.3训练程序129
11.3.1程序分析129
11.3.2参考程序129
11.4拓展知识131
11.5实做程序132
第12章Student类实例
计数13412.1示例程序134
12.1.1显示实例顺序134
12.1.2获得学生对象
个数135
12.2相关知识137
12.2.1静态属性与实例
属性137
12.2.2再论对象创建
过程138
12.3训练程序139
12.3.1程序分析139
12.3.2参考程序139
12.4拓展知识140
12.4.1属性与局部
变量140
12.4.2静态属性与方法
存储141
12.4.3单个实例142
12.5实做程序143
第13章泛化类Person145
13.1示例程序145
13.1.1泛化类Person145
13.1.2子类Student146
13.1.3Student对象
初始化147
13.2相关知识148
13.2.1类的继承148
13.2.2super对象149
13.3训练程序150
13.3.1程序分析150
13.3.2参考程序150
13.4拓展知识151
13.4.1调用构造方法151
13.4.2继承与组合153
13.5实做程序155
第14章对象多态157
14.1示例程序157
14.1.1重写display
方法157
14.1.2向上转型159
14.2相关知识160
14.2.1方法重写160
14.2.2对象上转型161
14.3训练程序162
14.3.1程序分析163
14.3.2参考程序163
14.4拓展知识165
14.4.1动态绑定165
14.4.2多态讨论166
14.5实做程序168
第15章抽象类169
15.1示例程序169
15.1.1方法抽象169
15.1.2抽象方法display
169
15.2相关知识171
15.2.1抽象类定义171
15.2.2抽象类说明172
15.3训练程序172
15.3.1程序分析173
15.3.2参考程序173
15.4拓展知识175
15.5实做程序176
第16章接口设计177
16.1示例程序177
16.1.1定义接口MoveAble
177
16.1.2应用MoveAble
实现多态179
16.2相关知识180
16.2.1接口定义180
16.2.2接口与抽象类
比较182
16.3训练程序184
16.3.1程序分析185
16.3.2参考程序185
16.4拓展知识187
16.4.1接口讨论187
16.4.2接口应用188
16.5实做程序189
第17章异常处理191
17.1示例程序191
17.1.1程序异常实例191
17.1.2受检异常193
17.2相关知识194
17.2.1异常处理结构194
17.2.2常见异常类195
17.3训练程序196
17.3.1程序分析196
17.3.2参考程序196
17.4拓展知识198
17.4.1异常处理讨论198
17.4.2防御性编程199
17.5实做程序202
第18章包结构设计204
18.1示例程序204
18.1.1按包组织程序204
18.1.2导入手机类206
18.2相关知识208
18.2.1包定义208
18.2.2其他包中类的
引用209
18.3训练程序210
18.3.1程序分析210
18.3.2参考程序210
18.4拓展知识212
18.4.1Java基础类
库包212
18.4.2包的设计213
18.5实做程序214
第19章简单框架设计215
19.1示例程序215
19.1.1简单框架215
19.1.2增加功能218
19.2相关知识219
19.2.1多态与框架219
19.2.2依赖关系220
19.3训练程序220
19.3.1程序分析221
19.3.2参考程序221
19.4拓展知识224
19.4.1框架设计224
19.4.2框架设计讨论225
19.5实做程序226
第20章带配置文件的框架228
20.1示例程序228
20.1.1装入Person类228
20.1.2显示名字230
20.2相关知识232
20.2.1反射机制232
20.2.2反射机制应用233
20.3训练程序233
20.3.1程序分析233
20.3.2参考程序234
20.4拓展知识237
20.4.1反射机制讨论237
20.4.2配置文件238
20.5实做程序238
第三篇Java应用开发
第21章学生成绩排序输出243
21.1开发任务243
21.2程序实现及分析244
21.2.1数组排序244
21.2.2List排序248
21.2.3List自动排序252
21.2.4通用输出256
21.3集合相关类库262
21.3.1Collection与
Collections263
21.3.2List与ArrayList
264
21.3.3Map与HashMap
265
21.3.4Set与TreeSet266
21.4实做程序268
第22章学生信息保存270
22.1开发任务270
22.2程序实现及分析270
22.2.1文件保存功能271
22.2.2数据库保存
功能275
22.2.3重构程序结构280
22.3文件操作相关类库281
22.3.1IO流281
22.3.2IO操作步骤283
22.4数据库操作286
22.4.1数据库操作
概述286
22.4.2数据库操作
步骤288
22.5实做程序290
第23章图形界面成绩管理292
23.1开发任务292
23.2程序实现及分析294
23.2.1图形用户界面294
23.2.2成绩管理功能298
23.3图形界面基础类库311
23.3.1Java图形界面311
23.3.2组件类313
23.3.3事件类与接口316
23.4实做程序317
第24章网上学生成绩查询318
24.1开发任务318
24.2程序实现及分析319
24.2.1简单网络通信
功能319
24.2.2网络查询323
24.3网络编程相关类库329
24.3.1Socket编程概念
329
24.3.2Socket相关类330
24.4实做程序331
第25章多用户查询学生成绩333
25.1开发任务333
25.2程序实现及分析334
25.2.1简单多线程
程序一334
25.2.2简单多线程
程序二336
25.2.3多线程网络
查询339
25.3多线程相关类库350
25.4实做程序352
附录A安装配置数据库环境353
附录B推荐书目360
|
內容試閱:
|
前言 本书从程序设计的角度介绍如何应用Java语言编写程序,全书共计25章,每一章都按照问题的解决过程进行组织,重点讲述程序设计的过程。本书不是系统地介绍Java语言的语法和知识点,而是重点讲解设计程序中最常用的语法和知识点。本书的重点是使读者学会如何应用Java语言来设计程序,而非Java语言本身。在学习Java语言的过程中,经常会遇到下面三个问题: 第一个问题是怎样能够自己独立编写Java程序并得到运行结果?第二个问题是如何编写出有别于其他语言的具有Java自身特点的程序?第三个问题是如何编写出有一定规模的Java程序?第一个问题是学习各种语言都会遇到的问题,学习者能够学会语言的语法和知识,但是不知道怎样编写程序,也不知道如何修改程序中的错误以得到正确的运行结果。本书的第一部分重点介绍设计程序的过程,包括程序的编写、编译和运行过程以及常见错误的分析和修改,让学习者不断地编写程序、编译程序、运行程序,最后能够独立完成程序的编写与调试。因此本书第一篇在内容安排上重点介绍如何设计程序,给出程序的运行过程,列出常见问题,让学习者可以逐步学会独立完成程序,通过看到自己程序的正确结果逐步培养学习Java语言的兴趣和自信心。第二个问题更加重要,多数学校都是先开设C语言课程,再开设Java课程,因此在学习Java的时候很容易产生一个错觉,觉得Java语法和C语言很像,二者应该差不多。但实际上两者差别很大,C语言是从处理流程来组织程序,而Java语言是从对象角度组织程序。C语言的核心和精华是函数和指针,Java语言的核心是封装、继承和多态。学习Java语言的基础是类,主要是如何组织一个类,处理流程只是类内方法的任务。因此本书第二篇从对象的角度来组织实例,从基础知识程序平滑地过渡到类的设计,并带领学习者逐步学习面向对象编程的思想,最后能够设计出有面向对象味道和特色的程序,例如框架程序。第三个问题也很重要,实际的软件项目的规模都非常大,几十万行程序很常见,简单演示程序与大程序之间在组织、设计和实现上都有很大区别。因此需要在学习Java语言时,能够尝试编一些大一点的程序,逐步了解和掌握如何开发有一定规模的程序。本书第三部分设计了多个实例,这些实例相互关联,逐步深入,经过不断扩充和完善,最后形成一个比较大的程序。另外本书还强调程序设计的规范,要求学习者不仅能够写出可以运行的程序,还应让程序代码符合规范。〖1〗Java基础与应用前言[3]〖3〗本书内容上组织成三篇。第一篇是Java基础,包括第1~6章,从设计一个最简单的Java程序开始,学习Java程序的编辑、编译和运行过程;学习Java语言的基本语法,包括类型、变量、表达式;学习Java语言的基本语句,分支结构和循环结构;学习Java语言的数组;学习如何设计Java方法,进行方法提取。第二篇是面向对象程序设计,包括第6~20章,讲解Java语言中类的定义和组成;对象实例化过程;类的封装和Java类的构成;类的组合关系和类的继承关系;继承的实现方法;类的静态属性和静态方法;对象多态的实现;抽象类和接口的定义与应用,最后给出一个体现面向对象特色的框架程序实例。第三篇是Java应用开发,包括第21~25章,学习如何应用Java语言来开发规模更大的程序,从学生成绩排序开始讲起,介绍基本的排序方法和应用集合类提供的排序方法实现排序;接下来介绍如何保存学生的信息,分别实现了保存到文件和数据库两种方法,并实现了对存储后的数据的读取和修改;为了更直观地查看学生信息和成绩,进一步提供了图形界面的学生成绩管理;最后提供了基于网络应用的客户机服务器结构的学生成绩管理,并改进为多线程的学生成绩查询,这5章的内容既相互独立,又相互关联,层层推进,最后形成一个具有一定实用性的学生成绩管理系统。本书前20章按照同一个模式组织,各章分为示例程序、相关知识、训练程序、拓展知识和实做程序五个部分。示例程序从提出问题开始,给出解决问题的程序和运行结果。接下来在相关知识中介绍本章用到的Java语法和知识点。在此基础上给出一个相似的问题,参考示例程序进行分析,设计出程序。随后给出的拓展知识是提高部分,适合想深入学习Java程序设计的读者,主要是对Java语言的实现机理和相关内容的深入探讨,读者也可以跳过这一节。最后给出实做程序,让读者在学习本章内容的基础上进行实际程序设计练习,检验自己的学习情况。后5章主要是从软件开发的角度进行介绍,并给出了一些程序的拓展点,读者可以在理解程序的基础上进行拓展,完善程序功能。本书的全部程序都已在JDK1.6环境下编译通过,每一章的示例程序、训练程序、相关知识和拓展知识中的程序段都有对应的实例。本书讲解的大量实例是逐步改进的,每一次改进的程序分别放在不同的章节目录下,实做程序都给出了参考实现,所有程序都已经编译通过并运行正确。本书为任课教师提供配套的教学资源,包括电子教案、本书用到的软件、实例程序和参考实做程序。需要的读者可以从出版社网站www.tup.com.cn下载。另外本书作者提供了一个QQ群: 275116341,欢迎使用教材的教师加入,一起探讨教材及相关问题。本书第1~10章由郭慧编写,第11~20章由王养廷编写,第21~25章由李永飞编写,全书由王养廷负责统稿。对本书的不足和错误之处,恳请读者批评和指正。
作者2017年1月
第5章显示班级成绩单学习目标 理解为什么使用数组; 掌握数组的定义; 掌握应用数组进行程序设计。5.1示 例 程 序〖*45〗5.1.1班级平均成绩第4章中介绍了如何计算多个学生的平均成绩。如果想显示一个班学生的平均成绩和每个人的成绩,这时就需要将输入的多个学生成绩进行保存。可以把多个成绩保存到一个数组中,然后进行计算并得到结果。程序代码如程序5.1所示。【程序5.1】程序StudentInfo.java。import java.util. Scanner;public class StudentInfo{public static void mainString \[\] args{int SIZE=5;
double grade\[\]=new double\[SIZE\];double averageGrade=0;
Scanner sc=new ScannerSystem.in;
forint i=0; i=60{pass;System.out.printlngrade\[i\];}}统计不及格人数,并输出成绩System.out.println"不及格的学生成绩:";forint i=0;i
|
|