主题:[原创]Java入门很简单 书连载
lili456
[专家分:0] 发布于 2012-08-24 13:32:00
图书市场上不乏大名鼎鼎的Java编程图书,但适合国内读者阅读的Java入门好书却少之又少。幸运的是,《Java入门很简单》是这样的一本书,作者以生动风趣的语言和透彻的分析,引导读者理解Java编程。建议Java入门阶段的读者用心研读,定会大有卑益。
当当地址:http://product.dangdang.com/product.aspx?product_id=22839309
回复列表 (共23个回复)
沙发
lili456 [专家分:0] 发布于 2012-08-24 13:36:00
前 言
在计算机编程语言当中,Java语言出现的时间不算太早,可是它的发展速度可以使用惊人一词来形容。从最初使用它来做各种Web应用,到开发各种应用程序,再到最近开始流行的移动应用,Java语言的应用范围一直在快速扩大。Java已经成了开发语言当中最受欢迎的编程语言之一,而且这种增长趋势还没有出现减缓的迹象。Java应用范围迅速扩大的一个主要原因是Java语言的完善,它为开发人员提供了各种所需要的库,使开发人员不必再关心与计算机编程的底层技术相关的细节,而专注于自己的应用业务设计。简单地说就是Java可以让广大开发者更容易地用计算机来解决自己的问题。
Java语言能让我们快速地用计算机来解决自己的问题,而且它学习简单,入门难度并不大。但在学习之初,它可能会给被学者一种觉得无从下手的感觉。本书尝试从一种全新的思路解决这个问题,以通俗易懂的语言,用图解教学和实例教学的方法,从而让读者轻松掌握Java编程的基础,为后续进一步提升打好基础。本书的基本讲解思路如下:
从零开始学编程。Java语言对于没有基础的人来说比较抽象,尤其是面向对象的程序设计更不好理解。本书从最初的Hello World开始,层层推进,教会读者学习Java编程。
带着问题学编程。本书讲解时会提出各种相关问题,让读者首先思考,然后再进一步学习和理解,这样理解也会更深刻,学习效果好。
亲自动手学编程。学习Java编程最终的目的是为了使用它来开发需要的应用程序,如果只看书不动手练习的话,永远也不会成为一个优秀的程序员。本书中的每个知识点后都有对应的实例,读者可以亲自动手练习,进行实践,体验实际编程。
本书学习门槛为零,可以让新手在短时间内掌握Java编程基础及面向对象的程序设计思想。本书与众不同,语言上力求幽默直白、轻松活泼,将Java编程的各种知识用最简单的语言,以读者最容易理解的方式表达出来。在讲解形式上力求图文并茂,由浅入深。书中在引入面向对象的设计思想时,采用了大量生活中的例子和类比,让读者对相关概念有个直观的理解。相信通过阅读本书,读者可以轻松跨入Java的大门。
本书特色
1.提供配套的多媒体教学视频
本书专门录制了配套的多媒体教学视频,以帮助读者更加直观而高效地学习,从而达到事半功倍的效果。
2.注重对概念和基本知识的讲解
本书对所有基础概念都做了较详细的介绍,对于较难理解的概念与抽象的名词有形象的图示或具体的实例,便于读者理解。
3.图解教学,简单直观
本书对很多不容易理解的过程或概念提供了大量的示意图进行讲解,一目了然,简单直观,可以大大加深读者对知识的理解,节省阅读时间。
4.实例丰富,注重实践
本书围绕学以致用的教学目标,对书中的所有知识点都配合了实际的实例进行讲解,读者通过演练这些例子,可以提高自己动手编程的能力,达到好的学习效果。
5.语言通俗,风格活泼
本书尽量用最浅显易懂的语言进行讲解,避免云山雾罩、晦涩难懂的内容堆砌,从而可以大大降低读者的学习难度。
6.问题导向,针对性强
本书讲解时尽可能地对相关知识以问题的形式提出来,引导读者先思考,后学习,从而找到好办法来解决,这样可以更有针对性地学习,从而激发读者的编程兴趣。
7.脉络清晰,一目了然
本书从最开始建立Java语言编程环境,到基本知识点,再到较为复杂的对象和方法,最后还介绍了实际应用中的数据库应用,脉络清晰,一目了然。
8.问题开放,拓展性强
本书除了讲解清楚基本的知识点外,还给出了部分开放性问题,引导读者自己思考,动手实践,找出解决问题的答案。
9.提供练习题,巩固提高
本书提供了必要的练习题目,以帮助读者巩固和提高所学的知识。
本书内容及体系结构
做好准备工作(第1~2章)
本书前面两章分别介绍Java语言和它采用的面向对象的程序设计思想,主要是概念上的介绍,为后面正式开始学习Java编程语言打好基础。
程序中的数据(第3章)
计算机主要的工作就是做计算,当然离不开各种类型的数据。在开始真正编程之前必须要对Java编程语言中的各种数据类型了解清楚,这一章的内容就是让读者认识Java中的数据。
较复杂的数据(第4~5章)
前面介绍的只是较简单的数据类型,在处理大量数据以及文字的时候就无能为力了。我们要用计算机来解决实际问题,自然不能停留在初级的水平上面。数组与字符串是程序中很常见的数据类型,掌握了它们才能够写出功能比较强大的程序。
程序功能的实现(第6~7章)
前面已经将所有关于数据类型的内容了解清楚,这两章中就是如何处理这些数据。有数据与处理数据的方法,就可以用Java程序来解决些实际问题了。
面向对象的高级内容(第8~10章)
Java语言不只是简单地将数据与方法拼凑起来,在掌握了足够多的Java编程语言基础知识之后,开始介绍面向对象程序设计中的较为复杂的内容。这些程序设计思想能够让读者在工作中派上大用场,同时也是Java编程学习过程中较难的部分。
异常处理机制(第11章)
实际当中程序不会永远按照我们预期的那样,不出任何问题地成功执行。在遇到意外情况时,所开发的程序必须能够处理它们,尽可能地完成任务。这就需要在设计过程中引入异常处理,虽然本章的内容并不很多,但非常重要哦!
数据库入门(第12章)
数据的处理是程序要做的事情,但数据量太大的情况下,得找个好的办法保存这些数据。这就是数据库做的事情了,数据库就是数据的栖身之地。有了数据库的帮助,Java程序只需要将所需要用的数据取出来,处理好之后再保存到数据库当中。
本书读者对象
Java语言初学者;
初中级程序员;
大、中专院校师生;
培训班学员;
Java语言开发的爱好者。
阅读本书的过程中若有疑问,请发和我们联系。E-mail:bookservice2008@163.com。
编著者
板凳
lili456 [专家分:0] 发布于 2012-08-24 13:36:00
内 容 简 介
本书是一本面向初学Java编程者的书籍,不需要读者有太多的计算机基础知识。本书讲解通俗易懂,循序渐进,避免云山雾罩、晦涩难懂。本书语言轻松活泼,用类比、对比、比喻等写作手法,并配合图解教学,对难点之处又给出了必要提示;书中的每个知识点都对应相应的编程实例,便于读者一边学习一边动手实践,既可以提高读者的动手能力,也可激发学习兴趣。本书配带1张DVD光盘,内容为本书配套多媒体教学视频、本书源代码及Java进阶教学视频。
本书共12章,涵盖的内容有建立Java语言的开发环境及编写第一个Java程序、了解面向对象的Java、变量和常量、数组、字符串、方法和它的表达式、Java中的语句、继承和多态、Java中的类、输出/输入对象、异常处理、通过Java使用MySQL数据库。通过学习本书内容,读者可以具备初步的Java开发能力。
本书最适合没有基础的Java入门新手阅读;有一定基础的读者,也可通过本书进一步理解Java语言的各个重要概念和知识点;对于大、中专院校的学生和培训班的学员,本书也不失为一本好教材。
3 楼
lili456 [专家分:0] 发布于 2012-08-24 13:38:00
目录
第1章 准备学习Java
1.1 Java是什么?什么是Java?
1.1.1 Java是一种跨平台的计算机编程语言
1.1.2 Java的开发及运行环境
1.1.3 Java程序的开发流程
1.2 让计算机更聪明——Java能做什么?
1.2.1 Java的桌面应用
1.2.2 Java的网页应用
1.2.3 Java的手机应用
1.2.4 Java的其它应用
1.3 开始搭建Java环境
1.3.1 JDK简介
1.3.2 JDK的下载及安装
1.3.3 JDK的相关配置
1.4 开发第一个Java程序
1.4.1 Hello, World!
1.4.2 Java程序的构成
1.5 如何学习Java
1.6 小结
1.7 习题
第2章 现实世界VS Java世界——了解面向对象的Java
2.1 万事万物皆对象——理解对象模型
2.1.1 程序员眼中的世界——现实世界中的对象
2.1.2 什么是“对象”
2.1.3 现象世界中的对象
2.2 对象之间的差别——事物的属性
2.2.1 何为对象的属性
2.2.2 对象与属性的关系
2.3 万物皆有变化——对象的方法
2.3.1 对象方法的定义
2.3.2 对象方法的一个示例
2.4 “物”以“类”聚——什么是“类”
2.4.1 为什么要定义“类”这个概念
2.4.2 什么是“类”?类与对象的关系
2.4.3 “类”与“类”之间的关系
2.5 为什么要面向对象编程
2.5.1 面向对象有什么好处
2.5.2 面向对象编程的特点
2.6 程序中的对象——Java的对象世界
2.6.1 Java对象的模具——Java的类
2.6.2 从模具到成品——用class定义对象
2.6.3 什么是Java中的对象
2.6.4 拿来主义——extends的威力
2.6.5 对象的“使用说明”——方法的实现
2.7 内外有别——对象的封装
2.7.1 公开还是保密?——访问控制关键字
2.7.2 要遵纪守法——对象的操作方式
2.8 绝知此事要躬行——自己动手定义对象
2.8.1 如何定义一个圆的类
2.8.2 如何定义一个圆的方法
2.8.3 查看运行的结果
2.9 小结
2.10 习题
第3章 事物的属性——变量和常量
3.1 如何表示各种各样的属性——属性是由数据表示
3.1.1 数据也不简单——数据是多种多样的
3.1.2 计算机比较2——只认0和1
3.1.3 小数怎么办——浮点型
3.1.4 字母怎么办——字符型
3.1.5 只表示“真”和“假”——布尔型
3.2 数据也可以“包装”——基本类型的对象类型
3.2.1 对象类型给我们带来了什么?——对基本类型的特性进行封装
3.2.2 仍从最简单的开始——整型的对象类型
3.2.3 当然不只是整数类型——其它基本类型的对象类型
3.3 数据住在何处?——Java的变量
3.3.1 先登记,再入住——变量的定义与初始化
3.3.2 改变变量的值——为变量赋值
3.3.3 变量也玩克隆——变量的复制
3.3.4 铁路民警,各管一段——变量的作用域
3.3.5 数据“接力赛”——变量作为函数参数
3.4 一切因你而变——神奇的自动打包与解包
3.4.1 自动打包——基本类型的封装
3.4.2 自动解包——打包的逆过程
3.4.3 实例分析——事实说明一切
3.5 不能改变值的“变量”——常量
3.6 小结
3.7 习题
第4章 变量的组合——数组
4.1 Java中的数组
4.1.1 为什么要有数组
4.1.2 Java数组的定义
4.2 最简单的数组——一维数组
4.2.1 Java中一维数组的声明与创建
4.2.2 Java中数组的基本操作
4.2.3 为什么叫一维数组
4.3 数组的数组——二维数组
4.3.1 认识二维数组
4.3.2 二维数组的初始化
4.3.3 二维数组的访问
4.3.4 不规则数组
4.4 数组的数组的数组……
4.4.1 多维数组的概念及其声明
4.4.2 多维数组的创建与初始化
4.5 数组的高级应用
4.5.1 认识Arrays类
4.5.2 数组内容的输出
4.5.3 数组的填充
4.5.4 数组的复制
4.5.5 数组的比较
4.5.6 数组的排序
4.5.7 数组的查找
4.6 小结
4.7 习题
4 楼
lili456 [专家分:0] 发布于 2012-08-24 13:39:00
第5章 字符大派对——字符串
5.1 认识String类
5.1.1 String类型和字符数组的区别
5.1.2 声明与创建String对象
5.1.3 字符串的连接
5.2 获取字符串的信息
5.2.1 求字符串的长度
5.2.2 判断字符串是否相等
5.2.3 字符串的比较
5.2.4 字符串的查找
5.2.5 取得子串与判断字符串的开头与结尾
5.3 字符串的操作
5.3.1 分割字符串
5.3.2 大小写转换
5.3.3 删除两端空白字符
5.3.4 字符串的替换
5.4 字符串与其它类型的关系
5.4.1 对象及基本类型变量的字符串表示
5.4.2 字符串与基本数据类型的相互转换
5.4.3 格式化字符串
5.4.4 日期和时间的格式化字符串
5.5 字符串与字符数组
5.5.1 字符串到字符数组
5.5.2 复制字符串中的字符到字符数组
5.6 StringBuffer和StringBuilder类
5.6.1 StringBuffer类的方法
5.6.2 StringBuffer类应用举例
5.7 小结
5.8 习题
第6章 改变变量的值——方法和它的表达式
6.1 从函数的角度来理解方法
6.2 方法的参数与返回类型
6.2.1 static关键字
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.4.5 表达式举例
6.5 Java的其它运算符
6.5.1 赋值运算符
6.5.2 自增和自减运算符
6.5.3 括号运算符
6.5.4 条件运算符(conditional operator)
6.6 Java表达式中的计算顺序与类型转换
6.6.1 运算符的优先级与结合性
6.6.2 数据类型转换
6.7 小结
6.8 习题
第7章 不仅仅是表达式——Java中的语句
7.1 程序的结构化设计
7.1.1 顺序结构(sequence structure)
7.1.2 选择结构(selection structure)
7.1.3 循环结构(iteration structure)
7.2 具体情况具体分析——if判断语句
7.2.1 初识简单的if语句
7.2.2 if … else语句
7.2.3 多层if 语句的嵌套
7.2.4 一个if语句的例子
7.3 更多的分支选择——switch语句
7.3.1 switch语句的语法
7.3.2 switch语句的流程图
7.3.3 深入了解switch语句
7.3.4 switch语句的例子
7.4 懒人的福音——循环语句
7.4.1 我们不需比高斯聪明——编程计算1+2+….+100
7.4.2 给我一双慧眼吧——发现隐藏的循环规律
7.5 每人执行一次——for循环语句
7.5.1 for循环语句的语法
7.5.2 for循环语句的流程图
7.5.3 for循环语句的例子
7.6 更方便使用的for each循环
7.7 while和do-while循环
7.7.1 while和do-while循环语句的语法
7.7.2 while和do-while循环语句的流程图
7.7.3 while和do-while循环语句的例子
7.8 break和continue语句
7.8.1 break和continue语句的流程图
7.8.2 break和continue语句的例子
7.9 当一个不再够用——循环也可以嵌套
7.9.1 “冒泡”排序与矩阵转置
7.9.2 嵌套循环的流程图
7.9.3 嵌套循环的例子
7.10 慧眼识英才——哪种循环合适你?
7.11 小结
7.12 习题
第8章 方法的多样性——继承和多态
8.1 如何创建对象
8.2 对象的构造方法
8.2.1 对象构造方法的概念
8.2.2 构造方法的执行
8.2.3 构造方法的重载
8.2.4 构造方法那些事儿
8.3 类的继承
8.3.1 继承的概念
8.3.2 super关键字
8.3.3 构造方法的例子
8.3.4 不能被继承的final类
8.4 多样的Java方法
8.4.1 一般方法的重载(method overloading)
8.4.2 继承中方法的覆盖(method overriding)
8.4.5 重载vs覆盖
8.5 对象的类型转换
8.5.1 转换对象类型
8.5.2 方法的多样性(polymorphism)
8.5.3 判断对象的类型——instanceof关键字
8.6 Object类及它里面的方法
8.6.1 自动继承Object类
8.6.2 将对象变成字符串——toString()方法
8.6.3 获得对象类型名——getClass()方法
8.6.4 判断两个对象是否相同——equals()方法
8.7 小结
8.8 习题
5 楼
lili456 [专家分:0] 发布于 2012-08-24 13:39:00
第9章 形形色色的对象类型——Java中的类
9.1 作为类型的类
9.1.1 类作为方法的参数和返回类型
9.1.2 对象的数组
9.2 类中类——嵌套类
9.2.1 认识嵌套类
9.2.2 嵌套类的关系
9.3 抽象类
9.3.1 抽象类的概念
9.3.2 抽象类的定义
9.3.3 抽象类的优势
9.4 接口
9.4.1 接口的概念和定义
9.4.2 接口的实现
9.4.3 模拟的多重继承
9.4.4 接口的多重继承
9.4.5 普通类,抽象类和接口
9.4.6 接口的例子
9.5 如何使用Java类库
9.5.1 使用Java类库的准备工作
9.5.2 Calendar类
9.5.3 Random和Math类
9.6 小结
9.7 习题
第10章 Java程序的对外接口——输出/输入对象
10.1 向Java程序传递参数
10.1.1 Java主程序的入口——main()方法
10.1.2 如何在Java程序运行时传递参数
10.1.3 没有传递参数时的情况
10.2 基本输入输出——read()和print()
10.2.1 Java的输入——System.in.read()
10.2.2 Java的输出——System.out.print()
10.3 输入输出流与文件
10.3.1 Java中流的概念
10.3.2 Java中的文件类File
10.4 文本文件的输入输出
10.4.1 使用FileReader对象读取数据
10.4.2 使用FileWriter对象写数据
10.4.3 文本文件输入输出实例
10.5 文本字符流的I/O
10.5.1 使用Scanner对象读取数据
10.5.2 使用PrintWriter对象写数据
10.5.3 重定向与文本I/O实例
10.6 bit(字节)流的I/O
10.6.1 以字节的形式文本输出
10.6.2 使用FileOutputStream和DataOutputStream对象写数据
10.6.3 使用FileInputStream和DataInputStream对象读数据
10.7 具有缓冲区的输入输出
10.7.1 为什么要有缓冲区
10.7.2 带缓冲区的输入类——BufferedReader和BufferedInputStream
10.7.3 带缓冲区的输出类——BufferedWriter和BufferedOutputStream
10.8 百里挑一——如何选择合适的I/O类
10.9 小结
10.10 习题
第11章 意外的情况——异常处理
11.1 异常处理的概念
11.1.1 为什么要处理异常
11.1.2 异常处理的简单范例
11.2 Java异常的体系结构
11.2.1 Exception类及其子类
11.2.2 部分Java中的异常类的含义
11.2.3 Java中可能会抛出异常的方法
11.3 Java程序中如何处理异常
11.3.1 捕获异常
11.3.2 获取异常信息
11.3.3 try、catch和finally
11.3.4 异常处理举例
11.4 定义自己的异常
11.4.1 自己定义异常类
11.4.2 抛出异常
11.4.3 异常抛出实例
11.5 编写健壮的Java程序
11.6 小结
11.7 习题
第12章 通过Java使用MySQL数据库
12.1 请个数据管家——MySQL
12.1.1 数据库的用途
12.1.2 数据库的安装
12.1.3 MySQL数据库的基本配置
12.2 认识结构化查询语言——SQL
12.2.1 在MySQL数据库中增加与查找数据
12.2.2 在MySQL数据库中修改或删除记录
12.3 先和“管家”建立联系——用JDBC来连接到数据库
12.3.1 如何通过JDBC连接MySQL数据库
12.3.2 连接数据库的类与方法
12.4 通过Java来操作MySQL数据库
12.4.1 新增联系人——INSERT
12.4.2 查看数据库中的记录——SELECT
12.4.3 更新过时的记录项——UPDATE
12.4.4 多余的记录就要删掉——DELETE
12.5 小结
12.6 习题
6 楼
lili456 [专家分:0] 发布于 2012-08-24 13:55:00
第1章 准备学习Java
买这本书带回家看的人肯定都是想学Java编程的,可想学Java首先要了解一下它才是。至于读者当中有多少人已经了解Java,这还是个未知数喽。所以在给大家讲解如何用Java来编写程序,叫计算机听从于自己的命令之前,来大致介绍一下Java还是有必要的。再就是Java是个高级编程语言,直接写的程序是不能被计算机识别的,需要经过编译才能被计算机执行。编译Java程序的准备工作也是学Java的前提之一啦,这也是本章的重点内容之一哦。好啦,让我们开始认识一下Java吧!
1.1 Java是什么?什么是Java?
看到这节的标题可能会觉得有些奇怪,似乎这两个问题是一回事哦。其实也不能说完全是这个样子,在这节结束前肯定会得到这两个问题的答案的。这么一说,本节的主要任务就是来回答这两个问题了。把这两个问题弄清楚之后,相信大家肯定就会对Java先有一个初步的了解。有这个最初的印象之后,能顺利地进入后面章节的学习当中。这只是个开始啦,俗语有云:万事开头难,所以看不懂没关系啦,这是最难的部分呵。
1.1.1 Java是一种跨平台的计算机编程语言
先来看看第一个问题吧。要想学Java,第一要务必是先搞清楚自己要学的东西是啥。不止如此,它的前生今世,前前后后,来龙去脉都应该有个大致地了解才是。读者不要被这些话所吓倒哦,从不懂到懂总是需要个过程的,我们写这本书的目的就是尽可能的让这个过程缩短。
现在网络很方便,可以在維基百科上查到Java的定义——Java是一种电脑编程语言,拥有跨平台、面向对象、泛型编程的特性。既然有了这个定义,那在这儿就给大家解释一下好啦。首先定义中提到Java中一种编程语言。不知大家对编程语言有没有一个清晰的概念。在这可以简单提一下。
1. 计算机的编程语言
计算机是一种能自动进行运算的处理信息的工具,它可以根据一系列的指令来对输入的数据进行相应的处理。这些指令,输入数据和输出的结果都是二进制数(关于二进制数的内容详细可看参阅第3章的介绍)。在最初的时候,没有编程语言,只能人工去输入这些由二进制数组成的一组指令,就像图1.1中所描述的一样。这样的情况使得人们在用计算机来处理数据时,要用的指令不但难记,而且还很容易出错。很难想象如果天天跟下面这些0和1打交道会是一种什么样的情景……
[img]http://www.tu265.com/di-6e6282d0a9e54ffdd8a51776f96e1375.png[/img]
7 楼
lili456 [专家分:0] 发布于 2012-08-24 13:57:00
为了方便人们使用计算机,后来随着计算机性能的提高发明了编程语言。最初的编程语言称为低级编程语言,它们只是简单地将二进制的机器指令码进行命名。然后再由人工或程序来将这些指令转换为计算机二进制数指令。这个过程称之为“编译”。这相对于二进制数而言,已经相当先进了。这结束了人们直接用二进制同计算机交流的时代,一个简单的汇编语言程序的例子如下:
MOV DL, 08H
MOV AH, 2H
INT 21H
JMP REPEAT
大家看到上面这样的代码是什么感觉呢?虽然比二进制数字好了许多,可还是一样看不懂,是不是?随着时代的发展,低级语言也不能够满足人们要方便地使用计算机的要求。于是高级语言出现了,最初的像C是比较早期的高级语言。后来出现了C++和Java,Java就是在C++的基础上发展而来的一种高级语言。
高级语言是相比汇编语言之类的低级语言来说更加抽象了,也更容易被人们所理解。高级语言倒是容易被人们理解了,可计算机的理解能力在这些年里并没有提高,它只是速度变得更快而已。所以要想叫计算机执行用高级编程语言写出来的程序,必须要先将它编译为像图1.1那样的一串由0和1组成的数字才行。让我们省心的是,这件事不用由我们自己动手来做啦,编译器可以轻松搞定的。
用高级语言开发计算机程序的流程如图1.2所示。
[img]http://www.tu265.com/di-80c7b3eb389529bbdc3f68f4198b5eb3.png[/img]
从上图1.2中可以看出,用高级语言编写程序的开发过程为:首先由我们自己动手编写好程序代码。这是理所当然的第一步呵。然后用相应的编译器把这些代码编译为计算机的指令。这一步将高级语言的源代码变成了计算机可以直接执行的二进制指令序列。然后由计算机来逐个执行这些指令,执行的结果也都是一长串的二进制数字。最后还得需要计算机的其它程序或操作系统来将这些结果转换为我们习惯用的形式表示出来。
通过上面的图1.2是不是已经理解了什么是计算机高级编程语言啦?Java就是一种这样的编程语言!我们要学习的就是这门语言,用它可以教计算机如何为我们更好地做事情,让它按照我们的想法来做事。这听起来很酷,是吧?那就好好学习后面的内容吧!
8 楼
lili456 [专家分:0] 发布于 2012-08-24 14:00:00
2. 跨平台的Java语言
大家知道了什么是高级编程语言,而且也懂了高级语言的开发流程。这些还不是完全的Java做法,呵呵。毕竟前面只解释了定义的第一句,说明了Java是个高级编程语言。后面还有Java的一些特性介绍,诸如跨平台、面向对象等等。这一段来讲Java的跨平台特性。
平台就是计算机软硬件环境的总称。软件方面主要有Windows、Linux、Solaris和MacOS等平台,硬件有诸如英特尔的x86、IBM的PowerPC等。知道了平台的概念,就不难理解什么是跨平台了。跨平台就是指一个程序可以在不止一个平台上运行。Java的跨平台特性是做得很出色的,已经基本实现了当初的口号:一次编译,到处运行。
Java这么好的跨平台性是怎么做到的呢?它是通过在各平台上实现一个统一的Java虚拟机来做到的。Java的程序代码经过Java编译器的编译之后,就得到了和源代码相对应的字节码文件。Java虚拟机可以直接执行这样的字节码,就像是程序直接在计算机上运行一样。只要在各种平台上都具备一个Java的虚拟机,就能够运行你编译好的Java程序。
这样一来,在任何平台上编写并运行Java程序就变得一样方便了。有关平台的差异性已经和Java程序员无关了,不同平台上Java虚拟机能执行的Java字节码是不变。Java虚拟机的设计很好的消除了不同平台间的差异性,使Java的程序可以拿到任何平台上运行。
不过要注意的是,实现“一次编译,到处运行”只是一个理想啦,实际上并没有完全做到这么酷。至少我们的程序代码可以拿到各个平台上编译之后运行的。Java虚拟机(Java Virtual Machine,简称为JVM),图1.3说明了Java字节码,JVM和各平台之间的关系。
[img]http://www.tu265.com/di-620419da317c53075c72f8d189b99c2e.png[/img]
从图1.3中可以看到,JVM处于Java编译后的字节码与平台之间。它的上层与Java字节码间是统一的接口,下层可以是各种各样不同的平台。这样通过JVM,Java语言就实现了很好的跨平台性能。能够让编译好的Java程序在各平台上运行出相同的结果。
到此为止,知道了Java是一种计算机编程语言。它有很好的跨平台特性,其它特性现在大家不懂也没关系,我们会在后面相关章节的内容中作出说明。现在大家只要简单地认识一下Java就可以了,以后会慢慢熟悉它的,不要心急。
9 楼
lili456 [专家分:0] 发布于 2012-08-24 14:01:00
1.1.2 Java的开发及运行环境
前面讲了Java是门高级语言,它并不能直接被计算机识别被执行。需要通过编译才能在Java虚拟机中执行。那么,Java的编译器又是个什么东东呢?
官方Java的开发组件是JDK(Java Development Kit),它是Java开发工具的简称。这其中包括Java的编译程序javac,它就是传说中的Java编译器。我们所写的所有程序都是通过它来转换成字节码的。这个以后会一直使用它的哦。当然了,JDK当中远不止这一个程序啦。其它的基本上用不着,所以就不作介绍了。有兴趣的同学就去网上查一下资料好了。
JDK是用来开发的一个工具,它里面也包括了Java的运行环境。因为开发了程序肯定要试一试它是否能正确运行。在此之外,Java还有专门的运行环境,名曰JRE(Java Runtime Environment)。JRE没有编译器,只能用来运行已经编译好的Java字节码程序文件。
Java虽然在各种平台上都可以运行。如前面所说,各平台间,由不同公司开发出的JVM及Java编译器,多少还是略有差异的。这些小的差异有时会给我们Java程序的开发及运行带来微妙的,意外的结果。为了避免这种情况发生,现在把本书作者所使用的开发环境列出来,以供大家参考,如表1.1所示。如果所使用的操作系统不一致关系也不大,只是结果可能会有小的差异。如果遇到自己实际运行结果和本书出给出的不完全一致的时候,很可能就是这个原因造成的。
[img]http://www.tu265.com/di-e01087ef4d5485709508c31027bc89a9.png[/img]
可以说有了JDK,就可以自己在计算机上面开发并运行一个Java程序了。可以说,这套可以开发并运行Java程序的东西如JDK、JRE等等,也称为Java。这样的说法虽然不是很准确,但是没有说错。Java并不是一个孤立的代码,程序,虚拟机。它发展到现在已经成为了一整套的,复杂的软件与工具的组合。
在这些所有属于Java的东西当中,我们作为入门者,只需要从一个地方找到比较简单的切入点,然后由这开始Java的学习之旅。带领大家由浅入深地开始学习Java就是本书的主要任务。现在是不是已经理解这一小节的标题了?
10 楼
lili456 [专家分:0] 发布于 2012-08-24 14:02:00
1.1.3 Java程序的开发流程
Java的程序是在编译之后在JVM上执行的,这使得它和普通高级语言的运行机制不太一样。在讲解Java的程序设计之前有必要了解一下Java程序设计的具体过程。先见识一下做这件事情的流程,呵呵。Java程序从开发到得到结果大致要经过下面4个步骤:
(1)由程序开发人员编写Java程序的源代码。这部分就是要学习的主要内容,也是本书重点介绍的东西。
(2)把完成的代码方便用Java的编译器编译。Java的编译器把代码文件编译为Java虚拟机可以执行的字节码形式,好让JVM来执行这些指令。这个过程中,如果前面写的代码中有语法错误,Java编译器会给你指出来让你改下,直到没有错误了为止。
(3)用JVM来执行编译得到的字节码文件。这个过程是真正Java程序的执行阶段,我们程序中指定的任务就是在这个时候被计算机做的。完成之后就会得到程序的结果,不过,这个结果只是一些二进制的结果。
(4)操作系统将JVM得到的二进制结果转换为指定的格式。二进制数的结果没人喜欢看,所以最后还得由计算机的操作系统来把结果转换成我们在程序中指定的格式输出来。到此为止,我们就看到了自己编写的程序最终运行出来的结果。
这其中除了第4步,前三步都需要我们输入命令来执行,计算机不会自动完成。对于这个过程更直观的说明请看图1.4,图1.4中很清楚地画出了Java程序从开始,编译,运行的各个步骤。我们主要的工作量会集中在第一步上,这也是我们主要学的东西。
[img]http://www.tu265.com/di-b8fb0da27df442fe25add11daf18358f.png[/img]
对于图1.4需要说明的是我们并没有把计算机的各种平台列举出来,只是用简单的“Computer”标出。事实上这个位置上可以是任意一种计算机平台,并不只是图1.3中列出的那几种。在Java程序运行过程中,重要的是JVM,它才是Java程序直接执行的地方。稍后马上就要向大家介绍如何安装并配置自己的Java开发环境。
我来回复