Java程序设计是计算机专业的基础课程,当今是"互联网+”的时代,也是信息时代,如何获取信息、处理信息,是每个人都需碰到的事情。无论网上购物,还是移动支付,都有信息流的流动,而支撑这种信息技术的广阔应用的计算机语言就数Java语言。 根据TIOBE编程语言社区排行榜提供编程语言Java不是排在**位就是排在第二位。在云计算、物联网时代背景下,学习并掌握一门编程语言,对信息化建设大有益处。 本书采用情境方式,由浅入深,一步一个脚印全面讲解Java编程思想,让读者在学习过程中,首先证实Java不难,能够学会,其次,Java应用就在我们身边,我们也能用好。
适读人群 :本书适用于高职院校教材和工程技术人员参考书,也是广大Java爱好者自学良师益友。
当今是“互联网+”的时代,也是信息时代,如何获取信息、处理信息,是每个人都需碰到的事情。无论网上购物,还是移动支付,都有信息流的流动,而支撑这种信息技术的广阔应用的计算机语言就数Java 语言。根据TIOBE 编程语言社区排行榜提供编程语言Java 不是排在*一位就是排在第二位。在云计算、物联网时代背景下,学习并掌握一门编程语言,对信息化建设大有益处。
本书采用情境方式,由浅入深,一步一个脚印全面讲解Java 编程思想,让读者在学习过程中,首先证实Java 不难,能够学会,其次,Java 应用就在我们身边,我们也能用好。
当今是“互联网+”的时代,也是信息时代,如何获取信息、处理信息,是每个人都需碰到的事情。无论网上购物,还是移动支付,都有信息流的流动,而支撑这种信息技术的广阔应用的计算机语言就数Java语言。
根据TIOBE编程语言社区排行榜提供编程语言Java不是排在第一位就是排在第二位。在云计算、物联网时代背景下,学习并掌握一门编程语言,对信息化建设大有益处。
本书采用情境方式,由浅入深,一步一个脚印全面讲解Java编程思想,让读者在学习过程中,首先证实Java不难,能够学会,其次,Java应用就在我们身边,我们也能用好。
由于Java语言涉及的面较广,全书将Java知识点进行整合概括,修剪一些枝叶,共分七个情境,由易到综合,紧紧围绕编程精髓——编程思想展开,是作者多年教学和应用Java结晶。书后附上Java经典50问与答,可以帮助编程者更进一步理解掌握编程思想精髓并了解这个行业的未来。在编写过程中也参考了大量Java方面的书籍和网络资料,在此对他们的付出表示诚挚谢意。
由于Java是开源,且新技术不断推出,再加上时间紧、作者水平有限,难免出现不足的地方敬请读者提出批评,让我们一起为信息化建设作出努力。
本书是淮南联合大学校级特色专业——计算机应用技术质量工程建设项目内容,同时也是《Java程序设计》精品课程建设项目。本书由淮南联合大学叶加青、芜湖职业技术学院张俊、克拉玛依职业技术学院杨静担任主编,安徽职业技术学院李军、江苏海事职业技术学院孙炯宁、吕太之、黑龙江农业职业技术学院聂树成担任副主编,重庆三峡职业学院余淼、重庆电信职业学院段鹏、安徽警官职业学院劳雪松、尹向兵、朱珍元、湖南高速铁路职业技术学院阳卫文担任编委共同编写完成。全书由叶加青统稿审核。
在编写过程中,编者参阅了大量的资料,在此向各位参与编写的作者表示感谢,由于编者水平有限,书中难免存在疏漏之处,欢迎大家批评指正,衷心希望广大使用者尤其是任课教师提出宝贵的修订建议,以便再版时及时加以修正。
为了使本书更好地服务于授课教师的教学,我们为本书配了教学讲义、期中、末考卷及答案、PPT课件和课后习题、答案。如果使用本教材的所有人员,需要配套教学资源,可上华信教育资源网www.hxedu.com.cn下载。如有问题,可与我们联系,联系电话:(010)69730296、13331005816。
编 者
2017年12月
叶加青,1989年7月毕业于安徽师范大学数学系,1994年程序员,2011年合肥工业大学硕士毕业,六年企业大型数据库信息系统管理与维护经历,从事数据库和Java语言程序设计课程教学工作十多年。
主持《计算机应用技术》特色专业建设。
主持《Java程序设计》精品课程建设。
主持省自然科学项目《Microsoft时序算法对学生就业市场预测与分析》。
主持省重点科研项目《基于智能计算水色图像的水质监测方法研究》
模块一 Java编程基础 1
情境一:只有一个main()方法的Java程序 1
任务1 (1)用C语言输出"Hello world!"字样 1
(2)用Java语言输出"Hello world!"字样 1
任务2 已知一个圆的半径r=10.2,求出圆的面积 10
任务3 观察分析下面程序的运行结果 11
任务4 加法运算符,分析并改正下列代码,输出运行结果 17
任务5 加加运算符,Example5.java程序代码 20
任务6 三元运算符,以命令行方式任意输入两个整数,输出其中的最大值 21
任务7 用户从键盘输入一个整数,判断是否为7的倍数,并给出相应的
提示信息 23
任务8 根据学生的成绩,输出对应的等级信息,学生成绩由程序参数输入 24
任务9 switch经典举例:根据月份,输出对应的天数 27
任务10 经典举例:求1~100之间的和 29
任务11 猜数字游戏,机器产生一个1~100之间的随机整数,用户可以反复猜测所生成的数是大是小,在用户每次猜数之后,程序给出相应的提示信息,直到猜对为止 30
任务12 输出1~9中除6以外所有偶数的平方 32
情境一总结 34
巩固与提高 35
模块二 面向对象程序设计初步 39
情境二:有两个方法的Java程序 39
任务13 求两个数之和的简单程序 39
任务14 分析下列程序的运行结果 41
情境二总结 44
巩固与提高 44
模块三 面向对角象程序设计提高 48
情境三:既有属性又有方法的Java程序 48
任务15 定义一个描述圆的类,并能根据给定的半径计算和显示圆的面积 48
任务16 成员属性(成员变量)与局部变量的区别 50
任务17 有返回值方法与无返回值方法。分析代码,并写出运行结果 52
任务18 编写一个类,能实现计算两个整数的和,也能计算三个整数的和,
还能计算两个单精度数据之和 54
任务19 有一种方法称构造方法。构造方法是类的成员,是方法,但与普通
方法有所不同,所以以一个任务来学习 55
任务20 领会下述代码中修饰符public、protected、默认、private、static、final
的作用 58
任务21 面向对象第二大特征――继承 61
任务22 面向对象的第三大特征――多态 62
任务23 分析下列程序this关键字、super关键字的作用 65
情境三总结 67
巩固与提高 67
模块四 包与接口的使用 69
情境四:一个包两个类的Java程序 69
任务24 包的使用一 69
任务25 包的使用二 72
任务26 抽象类的定义,抽象类和具体类的关系,abstract关键字的使用 75
任务27 定义一个接口,并定义相应的抽象类实现接口中的方法 77
情境四总结 82
巩固与提高 82
模块五 Java常用类的使用 83
情境五:常用工具Java程序 83
任务28 生成一个随机整数数列并按从小到大排序 83
任务29 二维数组举例。随机生成数组成员长度不同的二维数组,完成学校
各系部和专业学生数的赋值 85
任务30 字符串处理手段:String类、StringBuffer类、StringTokenizer类 87
任务31 Date类的使用 97
任务32 Calendar类的使用 98
任务33 异常处理类(一) 100
任务34 异常处理类(二) 104
任务35 泛型举例 108
任务36 泛型接口举例 111
任务37 集合框架(一)链表LinkList<E>泛型类 112
任务38 集合框架(二)树集TreeSet<E>泛型类 113
任务39 集合框架(三)堆栈Stack<E>泛型类 115
任务40 集合框架(四)散列映射HashMap<K,V>泛型类 116
任务41 输入与输出(IO流) 118
任务42 Java制作二维码 145
情境五总结 150
巩固与提高 150
模块六 网络知识与图形用户界面 151
情境六:网络五子棋程序剖析与自制记事本 151
任务43 网络五子棋程序 151
任务44 自制记事本程序 179
情境六总结 185
巩固与提高 185
模块七 数据库与网络编程 186
情境七:网上购物系统中数据库操作剖析 186
任务45 简易商务网站程序演示 186
情境七总结 200
巩固与提高 201
模块八 Java拓展与方向 202
情境八:Java经典[Q&A]50问 202
情境八总结 230
巩固与提高 230
参考文献 231