写在前面的废话:
本书正在创作中,发表这些节选的目的是想收集广大网友的宝贵意见。
另外,如果有哪位达人可以帮助本书出版,也请与我联系
email:[email protected]
或登陆我的网站:www.designersky.com
----------------------------------------------------------------------------第一章 Java语言概述
终于要开始《Java编程基础》这门课了,从学生的眼中可以看到一种期待,但我觉得学生们都有一种误解,觉得这门课学好了就是学好Java了,对二年的J2EE学习会产生决定性的影响。可是实际上,这门课就像它的名字一样,只是一个基础,它的目的就是能让大家掌握Java的基本语法,能够使用Java语言来实现面向对象而已,从对J2EE学习的影响性来说,我觉得这门课的地位还不如《ASP网络编程》。
当然我并不是想说Java基础不重要,只是没有重要到需要放弃毕业设计来听这门课(是的,有几个学生已经准备这么干了)。
翻了一下这本书的目录,发现它可以分为两个阶段——第一阶段:使用Java语法来实现面向对象,面向对象的基本概念在C++课程里面已经介绍了,我想这部分的进行会相对容易,当然了,需要给学生们指出Java和C++在实现面向对象上的区别;第二阶段:使用Java进行图形编程,简单说,用Java来实现VB那一套东西,不知道学生们用惯了VB的可视化编程,能不能适应手工生成界面。
就这些内容可能有些单薄吧,我在想,中心还专门为Java增加了3节理论课,这样算下来会有14节课来介绍Java。嗯……可以用增加的理论课来介绍设计模式(Design Pattern)!这应该是个好主意,能让学生们学到更专业的开发知识,不过对于他们来说会不会太难呢?随着课程进行看吧,反正我也不准备把23种设计模式都讲一遍。
我制定的Java授课计划好了,开始上课了,课前大鹏问我Java难不难,引用一句古文“人之为学有难易乎,为之,则难者亦易矣”。
从头讲起,Java的历史、发明者……这些东西我最讨厌,一笔代过。开始介绍Java的几个基本特点:
简单:没有的指针操作;
健壮性:无须手工管理内存;
可移植性:地球人都知道Java是跨平台的。
就说这么多吧,关于Java高性能这部分实在不想多讲,搞过Java开发的人都知道Java也许不是世界上最好的语言,但绝对是运行速度最慢的语言。
重点要说一下Java虚拟机(JVM),它是保证Java语言能跨平台运行的关键。想象联合国开大会的例子,来自中国,美国,法国,德国的一大群发言人准备说话了,为了保证其他人也能听得懂,需要一个翻译团,对翻译团中每个团员的要求就是至少懂得英语和另一门语言。现在中国的发言人说话了,懂英语和汉语的翻译会首先将中文翻译成英文,然后不同语种的翻译再根据英文翻译成各自的文字。如果联合国增加了一个成员“土拨国”,他们讲“土拨语”,那很简单,增加一名会说“土拨语”和英语的翻译就可以了。
这也就是Java虚拟机的运行模式,我们都知道写好源代码以后要进行编译,传统语言(VB, VC)都会直接将源代码编译成能在某固定操作系统下运行的EXE程序(我们都知道windows程序不能在Dos下运行),而Java则是将源代码编译成我们称之为“字节码”的中间文件(我们例子中的英语),OK,就到此为止了。显然这个中间文件是无法直接执行的,现在Java虚拟机登场了,我们执行一个中间文件的流程是:Java虚拟机将中间文件读入,翻译成能在本操作系统下运行的文件,然后执行之。假如现在我们新增一个操作系统,名为“土拨系统2005”(Turbo System 2005),如果想让我们的Java在上面跑起来,只需要sun公司开发一个在“土拨系统2005”下运行的Java虚拟机就可以了(Java Virtual Machine for Turbo System 2005)。
讲到这儿发现一些学生已面露迷茫之色,赶快讲些容易的,从刚才的描述可知,我们开发Java程序需要先编写源代码(*.java文件),然后将源代码编译成中间文件(*.class文件),最后通过Java虚拟机执行,对应这个过程,我们需要三种武器:编辑器、编译器和Java运行环境。
编辑器的目的是让我们方便的开发源代码,好的编辑器支持语法高亮显示,输入“.”出现成员列表等功能,当前企业开发中最常用的编辑器应该是Borland公司的 JBuilder,最新版本2005版;还有现在最热门的开源项目( 搜索互联网,了解开源项目) Eclipse,最新版本3.0;不过作为入门,我让学生们先用 JCreator 3.5,注意,它的3.1版本在显示中文时有问题。
编译器包含在JDK(Java Develop Kits)中,它将源代码转换成中间文件,在sun公司的官方网站上,可以找到JDK1.4.2版和JDK1.5版,其中1.5版是最新的,里面还附带了一个叫NetBeans的编辑器,但是速度很慢,我推荐学生下载JDK1.4.2版,如果英文基础好的话,还可以同时下载JavaDoc,里面有java的帮助,有点像MSDN,只不过是纯英文的。
Java运行环境JRE(Java Runtime Environment)中最重要的组成部分就是Java虚拟机,它也已经包含在JDK中了,然而,如果我们想确保Java程序能在别人的机器上运行,对方至少应该安装一个JRE。
最后讲讲配置问题,我建议学生先安装JDK,再安装编辑器,这样可以省去很多配置的麻烦。从书上得知要运行Java程序还需要配置三个系统参数:Path,ClassPath和Java_Hone,它们指明了JDK的安装为之;实际上,除非你想在DOS环境下手工编译程序,否则你根本不需要它们,因为编辑器是会自己寻找JDK安装位置的,像JBuilder甚至还自带了一个JDK。
呼~~长舒一口气,休息一下吧,口干舌燥了。
第二节课我先介绍了一下当今Java比较流行的三个分支,这些名词你肯定听过:J2SE,J2EE和J2ME。
1. J2SE (Java 2 Platform,Standard Edition)
指Java 1.2版以上的标准开发包
开发J2SE程序需要的编译器为JDK,编辑器有记事本,JCreator, JBuilder (Borland), Eclipse (OpenSource), NetBeans(SUN), Visual Age For Java(IBM)等
如果要运行J2SE程序,需要安装JRE (Java Runtime Environment)
2. J2EE (Java 2 Platform,Enterprise Edition)
Java2企业版由Jsp + Servlet + JavaBean + EJB组成
运行企业版程序需要J2EE容器,比如WebLogic, WebSphere等
3. J2ME (Java 2 Platform,Micro Edition)
专门运行在移动设备和无限设备上的Java,手机游戏很多用此开发
好了,介绍部分就这么多吧,我要开始演示Hello World了,学生都很奇怪,为什么Java的源文件名要和类名完全一致,哎,记住就行了,管它那么多。大家对main函数的声明叫苦不迭,那么长阿。其实我们仔细分析一下,会发现里面没有一个多余的单词:
public static void main(String args[]) { …… }
public将main声明成公用,当然了,因为main函数是程序的起点,由Java虚拟机自动调用,如果是私有,不就访问不到了嘛;下一个是static,将函数声明称静态,由C++的知识我们知道,只有静态函数可以被直接访问,这也是为了让Java虚拟机能够方便的开始我们的程序;void说明main函数没有返回值,而括号里面的数组表示了命令行参数,在我们还没有图形界面之前,我们几乎只能靠这种方式来接收用户的输入。
本书正在创作中,发表这些节选的目的是想收集广大网友的宝贵意见。
另外,如果有哪位达人可以帮助本书出版,也请与我联系
email:[email protected]
或登陆我的网站:www.designersky.com
----------------------------------------------------------------------------第一章 Java语言概述
终于要开始《Java编程基础》这门课了,从学生的眼中可以看到一种期待,但我觉得学生们都有一种误解,觉得这门课学好了就是学好Java了,对二年的J2EE学习会产生决定性的影响。可是实际上,这门课就像它的名字一样,只是一个基础,它的目的就是能让大家掌握Java的基本语法,能够使用Java语言来实现面向对象而已,从对J2EE学习的影响性来说,我觉得这门课的地位还不如《ASP网络编程》。
当然我并不是想说Java基础不重要,只是没有重要到需要放弃毕业设计来听这门课(是的,有几个学生已经准备这么干了)。
翻了一下这本书的目录,发现它可以分为两个阶段——第一阶段:使用Java语法来实现面向对象,面向对象的基本概念在C++课程里面已经介绍了,我想这部分的进行会相对容易,当然了,需要给学生们指出Java和C++在实现面向对象上的区别;第二阶段:使用Java进行图形编程,简单说,用Java来实现VB那一套东西,不知道学生们用惯了VB的可视化编程,能不能适应手工生成界面。
就这些内容可能有些单薄吧,我在想,中心还专门为Java增加了3节理论课,这样算下来会有14节课来介绍Java。嗯……可以用增加的理论课来介绍设计模式(Design Pattern)!这应该是个好主意,能让学生们学到更专业的开发知识,不过对于他们来说会不会太难呢?随着课程进行看吧,反正我也不准备把23种设计模式都讲一遍。
我制定的Java授课计划好了,开始上课了,课前大鹏问我Java难不难,引用一句古文“人之为学有难易乎,为之,则难者亦易矣”。
从头讲起,Java的历史、发明者……这些东西我最讨厌,一笔代过。开始介绍Java的几个基本特点:
简单:没有的指针操作;
健壮性:无须手工管理内存;
可移植性:地球人都知道Java是跨平台的。
就说这么多吧,关于Java高性能这部分实在不想多讲,搞过Java开发的人都知道Java也许不是世界上最好的语言,但绝对是运行速度最慢的语言。
重点要说一下Java虚拟机(JVM),它是保证Java语言能跨平台运行的关键。想象联合国开大会的例子,来自中国,美国,法国,德国的一大群发言人准备说话了,为了保证其他人也能听得懂,需要一个翻译团,对翻译团中每个团员的要求就是至少懂得英语和另一门语言。现在中国的发言人说话了,懂英语和汉语的翻译会首先将中文翻译成英文,然后不同语种的翻译再根据英文翻译成各自的文字。如果联合国增加了一个成员“土拨国”,他们讲“土拨语”,那很简单,增加一名会说“土拨语”和英语的翻译就可以了。
这也就是Java虚拟机的运行模式,我们都知道写好源代码以后要进行编译,传统语言(VB, VC)都会直接将源代码编译成能在某固定操作系统下运行的EXE程序(我们都知道windows程序不能在Dos下运行),而Java则是将源代码编译成我们称之为“字节码”的中间文件(我们例子中的英语),OK,就到此为止了。显然这个中间文件是无法直接执行的,现在Java虚拟机登场了,我们执行一个中间文件的流程是:Java虚拟机将中间文件读入,翻译成能在本操作系统下运行的文件,然后执行之。假如现在我们新增一个操作系统,名为“土拨系统2005”(Turbo System 2005),如果想让我们的Java在上面跑起来,只需要sun公司开发一个在“土拨系统2005”下运行的Java虚拟机就可以了(Java Virtual Machine for Turbo System 2005)。
讲到这儿发现一些学生已面露迷茫之色,赶快讲些容易的,从刚才的描述可知,我们开发Java程序需要先编写源代码(*.java文件),然后将源代码编译成中间文件(*.class文件),最后通过Java虚拟机执行,对应这个过程,我们需要三种武器:编辑器、编译器和Java运行环境。
编辑器的目的是让我们方便的开发源代码,好的编辑器支持语法高亮显示,输入“.”出现成员列表等功能,当前企业开发中最常用的编辑器应该是Borland公司的 JBuilder,最新版本2005版;还有现在最热门的开源项目( 搜索互联网,了解开源项目) Eclipse,最新版本3.0;不过作为入门,我让学生们先用 JCreator 3.5,注意,它的3.1版本在显示中文时有问题。
编译器包含在JDK(Java Develop Kits)中,它将源代码转换成中间文件,在sun公司的官方网站上,可以找到JDK1.4.2版和JDK1.5版,其中1.5版是最新的,里面还附带了一个叫NetBeans的编辑器,但是速度很慢,我推荐学生下载JDK1.4.2版,如果英文基础好的话,还可以同时下载JavaDoc,里面有java的帮助,有点像MSDN,只不过是纯英文的。
Java运行环境JRE(Java Runtime Environment)中最重要的组成部分就是Java虚拟机,它也已经包含在JDK中了,然而,如果我们想确保Java程序能在别人的机器上运行,对方至少应该安装一个JRE。
最后讲讲配置问题,我建议学生先安装JDK,再安装编辑器,这样可以省去很多配置的麻烦。从书上得知要运行Java程序还需要配置三个系统参数:Path,ClassPath和Java_Hone,它们指明了JDK的安装为之;实际上,除非你想在DOS环境下手工编译程序,否则你根本不需要它们,因为编辑器是会自己寻找JDK安装位置的,像JBuilder甚至还自带了一个JDK。
呼~~长舒一口气,休息一下吧,口干舌燥了。
第二节课我先介绍了一下当今Java比较流行的三个分支,这些名词你肯定听过:J2SE,J2EE和J2ME。
1. J2SE (Java 2 Platform,Standard Edition)
指Java 1.2版以上的标准开发包
开发J2SE程序需要的编译器为JDK,编辑器有记事本,JCreator, JBuilder (Borland), Eclipse (OpenSource), NetBeans(SUN), Visual Age For Java(IBM)等
如果要运行J2SE程序,需要安装JRE (Java Runtime Environment)
2. J2EE (Java 2 Platform,Enterprise Edition)
Java2企业版由Jsp + Servlet + JavaBean + EJB组成
运行企业版程序需要J2EE容器,比如WebLogic, WebSphere等
3. J2ME (Java 2 Platform,Micro Edition)
专门运行在移动设备和无限设备上的Java,手机游戏很多用此开发
好了,介绍部分就这么多吧,我要开始演示Hello World了,学生都很奇怪,为什么Java的源文件名要和类名完全一致,哎,记住就行了,管它那么多。大家对main函数的声明叫苦不迭,那么长阿。其实我们仔细分析一下,会发现里面没有一个多余的单词:
public static void main(String args[]) { …… }
public将main声明成公用,当然了,因为main函数是程序的起点,由Java虚拟机自动调用,如果是私有,不就访问不到了嘛;下一个是static,将函数声明称静态,由C++的知识我们知道,只有静态函数可以被直接访问,这也是为了让Java虚拟机能够方便的开始我们的程序;void说明main函数没有返回值,而括号里面的数组表示了命令行参数,在我们还没有图形界面之前,我们几乎只能靠这种方式来接收用户的输入。
我也是北大青鸟的学生,这门课程。我们是第一学年第二学期所讲授的最后一本书《JAVA编程基础》学时我们也是14节。十阶段274页(是这批书最对的一本)。
但是,讲重点:现在我们很多人在怀疑-北大青鸟的“阶段式”授课方法。
认为有些“哗众取宠”+“速成教程”的感觉。
不知道楼主的感觉如何???
另外问下楼主,是那个北大青鸟的?我在湖北的北大青鸟。
apollo333提的建议很好,不过我准备把介绍当前流行技术及其应用的部分放在其它章节讲,呵呵。关于青鸟课程是否“哗众取宠”+“速成教程”,我是青鸟的老师,当然会持反对意见,青鸟三个阶段的课是有内在联系的,至于速成,只要学生努力用功,确实可以在1年半的时间内速成。如果不用功,认为交点钱,天天往教室一座就可以当程序员了,结果只能是幻想破灭。
underwind的功力可不是普通的深厚,可以问他很多东西。
好,我修改一下,如果类是public的,就必须和文件名保持一致,可是为啥阿,我觉得好像没什么道理
---------------------------------------------------------------------------------------
有道理
如 A.java
public class A
{
public class B
{
}
}这是完全正确的
如 A.java
public class A
{
public class B
{
}
}这是完全正确的呵呵,没错,你还挺转牛角尖的,不过如果你写成
public class A
{
}
public class B
{
}
就不行了吧?
回复人: Underwind(Underwind) ( ) 信誉:100 2005-04-06 19:47:00 得分: 0
好,我修改一下,如果类是public的,就必须和文件名保持一致,可是为啥阿,我觉得好像没什么道理
---------------------------------------------------------------------------------------
有道理
如 A.java
public class A
{
public class B
{
}
}这是完全正确的
《java编程思想》中花了很多篇幅讲了关于inner class
public将main声明成公用,当然了,因为main函数是程序的起点,由Java虚拟机自动调用,如果是私有,不就访问不到了嘛;下一个是static,将函数声明称静态,由C++的知识我们知道,只有静态函数可以被直接访问,这也是为了让Java虚拟机能够方便的开始我们的程序;void说明main函数没有返回值,而括号里面的数组表示了命令行参数,在我们还没有图形界面之前,我们几乎只能靠这种方式来接收用户的输入。
(解释的真够可以的!)
呵呵!不说也罢!楼主苦心,天尤可怜!哄一班孩子入睡的却不容易,但哄的好,也是你的本事!
-------- ??重点要说一下Java虚拟机(JVM),它是保证Java语言能跨平台运行的关键。想象联合国开大会的例子,来自中国,美国,法国,德国的一大群发言人准备说话了,为了保证其他人也能听得懂,需要一个翻译团,对翻译团中每个团员的要求就是至少懂得英语和另一门语言。现在中国的发言人说话了,懂英语和汉语的翻译会首先将中文翻译成英文,然后不同语种的翻译再根据英文翻译成各自的文字。如果联合国增加了一个成员“土拨国”,他们讲“土拨语”,那很简单,增加一名会说“土拨语”和英语的翻译就可以了。
-------- ??好的编辑器支持语法高亮显示,输入“.”出现成员列表等功能
------- ^_^从书上得知要运行Java程序还需要配置三个系统参数:Path,ClassPath和Java_Hone,它们指明了JDK的安装为之;实际上,除非你想在DOS环境下手工编译程序,否则你根本不需要它们,因为编辑器是会自己寻找JDK安装位置的,像JBuilder甚至还自带了一个JDK。
------- -_-!!!J2EE (Java 2 Platform,Enterprise Edition)
Java2企业版由Jsp + Servlet + JavaBean + EJB组成
------- ^_^
--------
说实话,我甚至怀疑你能否真正明白并会用其中哪怕10种
Java2企业版主要由Jsp + Servlet + JavaBean + EJB组成,呵呵
好的编辑器支持语法高亮显示,输入“.”出现成员列表等功能
对于初学者来说,就是这样。
就北大青鸟的课程安排 不难看出在这本书里面
讲的就是基础 没有其他的 就前5章看上去就像
是在看C++ 第6章开始到第10章 个人认为没有什
么必要性(就业上)在北大青鸟的学生也就是学
第2学年的课程有用 刚刚在上面有看到说你学习
了第2学年感觉什么也没有学到要不就没有花时间
来练习了 我现在刚刚上完JAVA编程基础的书 就
我的观点来看 6章开始到10章GUI的 就是要提高
我们学生的兴趣(个人认为)还有 我发现青鸟
的课程总结性不是很好 老师可以在总结上下点
功夫 不过你要教好JAVA 必须的看到一个事实
就是ASP的课程 学生在ASP的动手时间和能力上要
比JAVA好的多(你不可能带他们用GUI做出VB的效果
吧!)还有就是11章的线程 在以后也是蛮有用的
说了这么多 也想给青鸟的学生说下 1 要多动手
2 要自己总结把学习的东西融会一下你会发现你
学习了很多了
就我个人来讲 我在重庆青鸟学的第一阶段就做了
个朋友公司用的进销方面的软件(目前他们还在用)
用VB做的(33个窗体 4个报表 SQL SERVER数据库)
我在网上看到北京金世纪的好象不错
http://java.21jsj.com
没有毕业也没有钱,要不想去学习一下!
在长沙好象没有专门开设java软工这样的培训机构
北大青鸟的学费高,看看sun的吧!
学习j2me,学期1个星期!
课程表自己从sun下载看!
大约就是2天概念2天动手!
剩下就是别的概念!
9k多吧!
JButton button;.....button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae)
{
}
}
你能说这个不好?
不是我喜欢专牛角尖,而是因为你是老师,你不能把一些错误的观念给学生.