欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

Java学习宝典

书      号:9787113107574

丛  书 名:

作      者:匡松 何嘉

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:69

  • 内容简介

    历史选题
  • 前言

    Java是由美国Sun Microsystems公司于1995年推出的一种程序设计语言。当时正是互联网Internet飞速发展之时,可以说是Internet造就了Java语言。
    Java语言的程序构成与C以及C++语言非常类似。Java吸收了C和C++的许多优点,屏蔽了C和C++的一些比较复杂、不安全以及并非完全面向对象等不足。经过多年发展,从大型计算机到小小手机,Java都得到了非常广泛的应用。可以说,Java无处不在,因而学习Java语言已成为当今每一个程序员的紧要任务。
    Java语言学习起来其实很简单,已具备一些C以及C++语言基础的读者,更是能很快地过渡到Java语言这个神奇的世界。
    Java技术之路
    ________________________________________
    与其他程序设计语言相比,Java语言被公认为具有简单、面向对象、分布式、健壮、安全、可移植、完全与平台无关等特点。其中,完全平台无关这个特点,几乎成了程序设计界的救命稻草。要同时为大型计算机和微型计算机编写不同的应用程序,只有Java的跨平台特点能解决这个问题。再加之其他一些优势,Java很快风靡全球,成为软件开发的首选语言。同时,在开源领域和一些大公司的推动下,新技术层出不穷,解决各种问题的框架也越来越多,但抽丝剥茧,基本的Java语言平台体系结构分为以下三个方面:
    (1)Java SE标准版本(Java Standard Edition):主要用于桌面应用软件的编程,是Java体系架构的基础平台,用于开发C/S架构的桌面应用程序,是学习Java的出发基础。
    (2)Java EE企业版本(Java Enterprise Edition):由Sun公司提出的一个标准,是建立在Java平台上的企业级应用的解决方案。它不但具有Java SE平台的所有功能,同时还提供了对EJB、Servlet、JSP、XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,从而简化企业解决方案的开发、部署和管理等复杂问题。事实上,Java EE已成为企业级开发的工业标准和首选平台,用于开发B/S架构的Web应用程序。
    (3)Java ME小型版(Java Platform Micro Edition):其实就是Java的嵌入式开发版本,应用于大量的消费类电子设备,是手机、掌上电脑、数字机顶盒等电子设备的程序开发平台。它包括虚拟机和一系列标准化的Java API。
    通过最近几年的发展,Java Web开发已成为最火热的话题,因此,衍生出来的SSH等综合应用框架,是比较有力的开发工具。本书中的项目开发部分,也因此有所涉及。
    Java职场之路
    ________________________________________
    高级Java程序员一直是社会上比较紧缺的人才,我们综合整理了专业招聘网站上一些典型Java软件工程师的招聘要求,总结出如下的招聘需求:
    (1)精通Java开发语言,熟练掌握Eclipse开发工具;熟悉HTML;精通Apache、JSP、Servlet等Web开发相关技术;熟悉主流数据库,熟练掌握SQL。
    (2)熟悉使用Struts、Spring、Hibernate等常用开发框架;查看、分析前述和其他Java开源项目源代码者优先。
    (3)熟练使用JavaScript和Ajax技术;具有一年及以上Ajax开发经验或熟悉JavaScript。
    通过合并同类项,上述三个要求,基本上是所有公司招聘Java程序员的基本要求。除此之外,还有一些特色要求:精通Java EE,熟悉主流应用服务器(如JBOSS、WebLogic、WebSphere中至少一种)以及其部署配置及性能调试;熟悉Web Service开发,精通一种大型数据库开发和调试;精通Transaction、Security、Persistence等机制及实现,包括IOC、AOP、SOA等理念及实现;熟练掌握面向对象的分析设计技术和工具,包括UML等;了解Web应用的性能瓶颈和调优方式;了解软件测试、软件工程、SOA、设计模式等相关知识;应用过UML、重构、软件设计模式,Ruby技术者优先,等等。
    当然,上面这些技术要求并不特别硬性要求你一定会掌握。其实,三大核心技术之中,有些可以通过快速学习而掌握,有些需要长时间的积累。招聘方自己也明白,这些要求属于人力资源储备的需要。如果你已具备这些技术,当然可以在面试中加分,不具备关系也不大。
    Java学习之路
    ________________________________________
    有了上面的分析,可以看出,要成为一个合格的Java程序员,必须具备的过硬的技术本领主要集中在以下三个方面:
    (1)精通Java面向对象基本语法,能完成Java Web开发。
    (2)熟练SSH三大开发框架,能用它们完成一些项目。
    (3)掌握Ajax开发技术。
    仔细分析一下,达到上述三个基本要求并非很难,你只需要花上3个月到半年的时间,找齐学习资料,自己开发一些小程序,再参加一些项目的开发,完成关键基础技术的学习,就可以实现这样的目标。而其他技术,比如SSH框架,了解即可。待工作之后,根据实际需要,再不断深入应用和深度掌握。
    读者首先要打好基础,学习是一个从渐进到腾飞的过程。开始是入门学习,学一点知识,然后上机练习,再学点新知识,然后再上机练习。坚持下去,不断学习新知识新技能,积累到一定程度就会突然发现,自己学习任何Java相关技术的速度都很快了,不像开始的时候,调试一个“Hello World”也需要折腾半天。所以,一定要持之以恒坚持到自己的学习腾飞点的到来。掌握有效的学习方法,拥有比较好的学习资料,有助于提高学习效率。本书的编写,就是总结了大多数程序员的Java学习之路。
    (1)首先搞清楚Java的基本概念,明白方向。开始学习时,最好要学问结合。比如,网上有个初学者最典型的问题:JavaScript语言与Java语言是什么关系,有何区别?其实JavaScript和Java之间并没有任何关系,只是它们的取名上颇为相同。一旦掌握了比较复杂的Java技术,JavaScript和Ajax等技术的学习也就最多一个月的时间而已。所以,明确核心,抓住主要学习方向是很重要的。现在网络发达,网上热心人很多,读者可以多上网询问。另外,关于学习方向的问题,也可以给我们发邮件:beone2000@126.com。
    (2)打好基础。学习Java之初,一定要学好本书第1篇的基础内容。对于有些数值类型的基础语法,如果不能建立清晰的概念,特别是还学习过C++等类似的语法,很容易产生混淆。同时,JDK的安装和基本程序的调试是这个阶段的一个难点,要不断尝试。关于JDK,有两个问题很容易困扰初学者:一个是CLASSPATH的问题,从原理上来说,其实是要搞清楚运行环境中ClassLoader是如何加载Class的;另一个问题是package和import问题,即如何寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。
    (3)抓住关键的面向对象技术,即本书第2篇的内容。学习这部分内容时,一定要不断上机练习Java的面向对象语法,同时要不断思考面向对象理论。如果能做到自己看世界,感觉万事万物皆对象,那你就逐步找到Java面向对象开发技术的感觉了。同时,建议借阅一些面向对象开发理论的相关图书来结合进行学习。
    在这个阶段,最好的学习方法就是多写代码并上机实践,来不断积累经验。当学习一个类以后,你可以写个简单的程序来运行一下,看看有什么结果,然后多调用几个类的方法,再看看运行结果。这样,可以非常直观地理解并掌握类了,而且记忆非常深刻。同时,也不能仅满足于把代码调通,还应该想想如果不这样写,换个方式再试试看行不行。通过这样的方式,你就会彻底地、精通地掌握Java。
    在这个关键阶段,特别建议读者在上机练习时,掌握一些算法和数据结构方面的知识,这些内容在将来的开发中非常有用,属于内功型知识。如果在这个阶段上机训练同步进行,一边熟悉语法,一边还能掌握算法,可谓事半功倍。限于篇幅,本书没有具体介绍这方面的内容。但本书配套光盘中,包含了一套精彩的Java数据结构和算法的教学视频。读者可以结合相关图书,一并学习,坚持下来,你的水平一定会有一个飞跃性的提高。
    (4)掌握高级开发技术,即本书第3篇的内容。有了前面良好的基础,需要为开发具体的项目学习一些新知识,通过上机学习多线程和数据库开发等高级技术就非常必要。这个阶段,可以尝试一下举一反三,检验自己能否编写一些相关的小程序出来。
    (5)学习Java Web开发,即本书第4篇的内容。毕竟,目前就业市场上,Web开发是热门的职位,同时也是技术发展的趋势。这方面内容比较多,本书只能说提供一定的基础知识,读者在后面具体的开发实践中,要学会根据自己的情况,选取合适的资料,快速学习,建立合理的知识结构,完成相关开发。
    (6)开发1~2个中小型项目,即本书第5篇的内容。本书提供了5个项目,建议读者在学习时,集中精力,模仿学会其中1~2个具体开发方法,然后总结经验,尝试自己完成另外项目的开发,再看看本书作者的完成方法。实践证明这种学习方法行之有效,能使学习者的水平和能力快速提高。
    总之,学习知识、上机实践、总结思考,然后再学习、再实践、再思考……不断循环,只要能静心学习,沉浸其中,假以时日,积累合理的知识和技能结构,就一定能利用Java技术开发出精彩纷呈的应用软件,从而获得学习和职场上的成功。
  • 目录

    第1篇 Java语言基础;Java语言和目前流行的C语言以及C++语言语法结构很相似。之所以说Java语言是简单的,是因为Java语言虽然继承了C语言以及C++语言很多优点,但是Java语言摒弃了C++语言的复杂性,比如运算符重载、多继承、数据类型自动转换等。;这使得Java语言的学习非常简单,如果读者具备一定的C或者C++语言的基础,在掌握了JDK基本使用的基础上,在本篇的指导下将可以轻松掌握。本篇内容详尽,即使读者没有任何Java基础,也可以按步骤学习,假以时日,掌握Java语言毫无问题。;第1章 Java开发基础;1.1 什么是Java;1.1.1 Java语言的产生;1.1.2 Java平台;1.2 Java语言的特点;1.3 Java与其他面向对象语言的区别;1.3.1 Java与C++的区别;1.3.2 Java与C#的区别;1.4 Java语言的发展前景;1.5 搭建开发环境;1.5.1 下载和安装JDK;1.5.2 获取帮助文档;1.5.3 设置Path环境变量;1.5.4 设置ClassPath环境变量;1.5.5 使用命令行工具;1.5.6 使用集成开发环境;1.6 第一个Java应用程序;1.6.1 编写源代码;1.6.2 使用命令行工具编译;1.6.3 使用命令行工具执行;1.7 第一个Java小应用程序;1.7.1 编写源代码;1.7.2 使用命令行工具编译;1.7.3 编辑HTML网页文件;1.7.4 运行HTML网页文件;小结;第2章 数据类型和程序流程控制;2.1 关键字与标识符;2.1.1 关键字;2.1.2 标识符;2.1.3 如何做到规范命名;2.2 常用基本数据类型;2.2.1 整型;2.2.2 浮点型;2.2.3 字符型;2.2.4 布尔型;2.3 常量与变量;2.3.1 常量;2.3.2 变量;2.3.3 常量与变量的区别;2.4 运算符;2.4.1 算术运算符;2.4.2 关系运算符;2.4.3 逻辑运算符;2.4.4 位运算符;2.4.5 赋值运算符;2.4.6 其他运算符;2.4.7 运算符的优先级别;2.5 类型转换;2.5.1 自动类型转换;2.5.2 强制类型转换;2.6 注释符;2.7 Java程序的基本结构;2.7.1 类是一个基本单元;2.7.2 main方法;2.7.3 自定义方法;2.7.4 System.out.println的使用;2.7.5 一个简单而完整的程序;2.8 顺序结构;2.9 分支结构;2.9.1 if…else分支结构;2.9.2 if…else嵌套;2.9.3 switch语句;2.9.4 编程实例;2.1 0循环结构;2.1 0.1 while循环;2.1 0.2 do…while循环;2.1 0.3 for循环;2.1 0.4 编程实例;2.1 1跳转结构;2.1 1.1 break;2.1 1.2 continue;2.1 1.3 编程实例;小结;第3章 数组和字符串;3.1 Java中的数组;3.1.1 一维数组;3.1.2 二维数组;3.1.3 多维数组;3.2 数组的length属性;3.3 Arrays数组工具类的用法;3.4 编程实例;3.5 String字符串;3.5.1 构造方法;3.5.2 String常用方法;3.6 StringBuffer字符串;3.6.1 构造方法;3.6.2 StringBuffer常用方法;3.7 String与StringBuffer的区别;3.8 equale与==的区别;3.9 编程实例;小结;第2篇 面向对象程序设计;面向对象是目前最流行的程序设计方式,具备封装、多态性和继承等机制。在现实世界中,任何实体都可以看成是一个对象,对象具有属性和行为两大特征,Java语言完全采用这种方式,同样也提供了类、接口和继承等概念。本篇不但让读者细致掌握Java面向对象等特性,还介绍了异常处理等Java语言所具备的特色技术。;第4章 类和对象;4.1 传统过程程序设计概述;4.2 面向对象程序设计概述;4.2.1 抽象;4.2.2 封装;4.2.3 继承;4.2.4 多态;4.3 类;4.3.1 类的定义;4.3.2 类的访问权限修饰符;4.3.3 构造方法;4.3.4 成员变量的定义;4.3.5 成员变量访问权限修饰符;4.3.6 成员方法的定义;4.3.7 方法的访问权限修饰符;4.4 对象;4.4.1 对象的概念;4.4.2 类与对象的区别;4.4.3 new关键字;4.4.4 对象引用成员变量;4.4.5 对象引用成员方法;4.4.6 对象的销毁;4.4.7 JVM垃圾回收;4.5 类中的静态成员;4.5.1 静态成员变量;4.5.2 静态成员方法;4.5.3 静态成员与非静态成员的区别;小结;第5章 继承与多态;5.1 继承与多态的概述;5.2 类的继承;5.2.1 类继承的实现;5.2.2 变量与方法的继承;5.2.3 子类对父类构造方法的继承和调用;5.2.4 关于类的继承的进一步说明;5.3 最终类final;5.4 super关键字;5.5 this关键字;5.6 方法的覆盖;5.7 成员变量的隐藏;5.8 方法的重载;5.9 父类与子类的转换;小结;第6章 抽象类与接口;6.1 抽象类概述;6.2 接口的概述;6.3 抽象类与接口的区别;6.4 抽象类的定义;6.4.1 abstract关键字;6.4.2 抽象方法的定义;6.5 抽象类的使用说明;6.6 接口的定义;6.6.1 关键字interface;6.6.2 接口的使用规则;6.6.3 接口多态的应用;6.7 接口的使用说明;小结;第7章 内部类与匿名类;7.1 内部类概述;7.2 内部类的语法及应用;7.2.1 实例内部类;7.2.2 静态内部类;7.2.3 局部内部类;7.3 匿名类概述;7.4 匿名类的语法及应用;7.4.1 与类有关的匿名类;7.4.2 与接口有关的匿名类;小结;第8章 Java常用类库;8.1 Object的讲解;8.1.1 Object概述;8.1.2 toString()方法的覆盖;8.1.3 equals()方法的覆盖;8.1.4 对象的克隆;8.2 Math类和BigInteger类;8.2.1 Math概述;8.2.2 random()方法;8.2.3 数字的格式控制;8.2.4 BigInteger类;8.3 数据类型封装类;8.3.1 Integer类;8.3.2 Long类;8.3.3 Byte类;8.3.4 Short类;8.3.5 Float类;8.3.6 Double类;8.3.7 Boolean类;8.4 包;8.4.1 包的概念;8.4.2 自动导入的包;8.4.3 包的命名;8.4.4 import关键字;8.4.5 package关键字;小结;第9章 异常处理;9.1 异常的概念;9.1.1 什么是异常(What);9.1.2 为什么要有异常(Why);9.1.3 从哪里来,往哪里去(Where);9.1.4 什么时候(When);9.1.5 哪种异常(Which);9.2 异常类;9.2.1 异常类的层次结构;9.2.2 Exception类以及子类;9.2.3 Error类以及子类;9.3 异常处理机制;9.3.1 异常的产生;9.3.2 异常处理;9.4 抛出异常;9.4.1 throw语句;9.4.2 throws语句;9.5 自定义异常;9.5.1 定义异常类;9.5.2 抛出异常;9.5.3 捕获并处理异常;小结;第10章 集合框架;10.1 Java集合概述;10.2 Collection接口;10.2.1 Collection概述;10.2.2 Collection层次结构;10.2.3 常用方法;10.3 List集合;10.3.1 ArrayList类的使用;10.3.2 LinkedList类的使用;10.3.3 Vector类的使用;10.3.4 Stack类的使用;10.4 枚举和迭代;10.5 Set集合;10.5.1 HashSet类的使用;10.5.2 TreeSet类的使用;10.5.3 HashSet与TreeSet的区别;10.6 Map接口;10.6.1 Map层次结构;10.6.2 使用HashMap类;10.6.3 使用TreeMap类;10.7 Collections工具类;10.7.1 Collections的常用方法;10.7.2 Collections应用实例;小结;第11章 输入/输出操作;11.1 I/O流概述;11.2 字节流;11.2.1 InputStream类和OutputStream类;11.2.2 字节流的常用方法;11.2.3 文件流FileInputStream类;11.2.4 文件流FileOutputStream类;11.2.5 缓存流BufferedInputStream类;11.2.6 缓存流BufferedOutputStream类;11.2.7 基本数据流DatalnputStream类;11.2.8 基本数据流DataOutputStream类;11.3 字符流;11.3.1 Reader类和Writer类;11.3.2 字符流的常用方法;11.3.3 缓存流BufferedReader流;11.3.4 缓存流BufferedWriter 流;11.3.5 转换流InputStreamReader类;11.3.6 转换流OutputStreamWriter类;11.3.7 PrintStream类/PrintWriter类;11.3.8 编程实例;11.4 File文件类;11.4.1 File概述;11.4.2 File构造方法;11.4.3 File的常用方法;11.4.4 编程实例;11.5 随机文件类RandomAccessFile;11.5.1 RandomAccessFile概述;11.5.2 RandomAccessFile常用方法;11.6 对象序列化;11.6.1 对象流ObjectInputStream类;11.6.2 对象流ObjectOutputStream类;11.6.3 Serializable接口;小结;第3篇 Java开发中的高级技术;C语言和C++语言采用的是单线程体系结构,而Java语言很好的支持多线程。多线程的好处是可以在程序运行过程中,同时可以完成多个不同任务的同时进行,以达到更好的交互性和实时性。多线程带来的比如多个线程同步、共享变量访问等问题,Java语言也提供了简单易学的解决办法。在本篇中,重点学习多线程和数据库等一个开发人员必须掌握的高级语言技术,为后面的项目开发打下良好的基础。;第12章 多线程;第13章 反射机制;第14章 泛型;第15章 JDBC程序设计;第4篇 Java Web开发;未来是Web开发的世界,Java Web开发也是Java领域的重点。Java为Internet而生,在Web开发领域,也有非常好的积累和沉淀。本篇从JSP、Servlet、JavaBean和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进地引导读者快速掌握Java Web开发。;第16章 Tomcat的使用;第17章 Servlet技术;第18章 JSP技术;第19章 JavaBean技术;第20章 Servlet高级应用——监听器及过滤器;第5篇 项目案例开发实践;几乎所有的Java程序员都认为,不断的积累项目开发经验,是成长的关键。在本书的最后,通过五个具体的项目案例,帮助读者学习项目分析和设计、数据库的应用、大型系统分解和建构的方法。并且,五个项目分别覆盖Java数据类应用、Java Web网站应用、使用SSH框架建立系统等应用,各有不同,但集合起来可以提高读者的综合能力。;第21章 学生网上选课系统的设计;第22章 设计一个简单的购物网站;第23章 英语论坛;第24章 Umbrella企业站;第25章 成都大学班级之家v1.0;参考文献;
  • 作者介绍

  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐