java初学者实践教程文档格式.docx
《java初学者实践教程文档格式.docx》由会员分享,可在线阅读,更多相关《java初学者实践教程文档格式.docx(70页珍藏版)》请在冰豆网上搜索。
就会发现弹出窗口了。
大家做出来了吗?
所以现在我来做一下总结性陈词:
环境变量相对于给系统或用户应用程序设置的一些变量,具体起什么作用这当然和具体的环境变量相关。
象path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到那些目录下去找。
当然还有很多的变量啊!
以后我们会慢慢的学到。
说了这么多,我们开始开始正式的配置jdk吧!
马上就可以敲出java代码了。
1、在sun公司的官方网站下载jdk.或者在XX或google搜索jdk下载。
安装jdk;
2、在“用户变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;
3、JAVA_HOME设为JDK的安装路径(如C:
\ProgramFiles\Java\jdk1.5.0_11),此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量);
Path使得系统可以在任何路径下识别java命令,设为:
%JAVA_HOME%\bin
CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为:
.;
%JAVA_HOME%\lib;
%JAVA_HOME%\lib(要加。
表示当前路径)%JAVA_HOME%就是引用前面指定的JAVA_HOME.形如图1-1
4、打开一个DOS窗口,输入“java-version”。
看看出现了,一大堆的版本信息就说明已经配置成功了。
配置已经成功了,我们如何使用jdk呢?
java初学者实践教程2-jdk的使用
通过上一节的学习,相信大家已经能够学会如何配置环境变量了。
如果还有问题请联系“我的大学”或者到我们的论坛交流
这节我们首先体验一下用java编写的程序。
也让大家过把代码瘾,呵呵。
目前世界上大部分的软件教程有一个习惯,最开始时总要输出一个字符串“HelloWorld”。
我们也是不能免俗啊,也要输出这么一段话。
1、单击“开始”――>
CMD,进入DOS系统。
2、用cd命令进入一个你容易找到的目录。
如图2-1
图2-1
3、输入命令notepadHello.java用记事本创建并打开一个java文件。
如图2-2
图2-2
4、在里面输入下列代码
/*
简单的HelloWorld程序
*/
publicclass
Hello{
//main方法
publicstaticvoidmain(Stringargs[]){
System.out.println("
HelloWorld!
"
);
//输出字符串“HelloWorld!
”
}
本例子源代码,点击此处下载
5、在DOS的界面里,敲javac
Hello.java编译这个文件。
会发现文件夹里多了一个Hello.class的文件。
如图2-3
图2-3
6、最后一步,还是在DOS的界面里,敲javaHello观察结果。
相信你已经看到结果了吧!
总结
通过上述几个步骤我们体验了java代码原来是这么编写和运行的啊。
那么具体这些东西是什么意思呢?
javac是jdk的编译器,刚才我们输入javac
Hello.java的时候意思是把把Hello.java这个源文件编译成了字节码,就是Hello.class这个文件。
Java命令是java的解释器javaHello的意思是将编译后的字节码放在解释器上执行。
从中我们也可以看到java语言的执行过程,是先编译后解释的。
JDK里面还有许多命令呢!
下面我们来全面了解一下JDK.JDK的命令为4类。
有基本命令,RMI命令,国际化命令,安全控制命令。
在这里我只介绍些,有代表性的命令。
刚才那两个javac和java已经说过了。
他们是基本命令,基本命令里还有jar命令,也是很常用的。
Jar命令是java类的归档命令。
Jar命令可将多个文件合并为单个JAR归档文件。
Jar是个多用途的存档及压缩工具,它基于zip和zlib压缩格式。
说的通俗一点就是它是把java的类文件,即*.class文件打包用的。
我们来做个例子,
1、在刚才那个目录的DOS窗口里敲jar
cvf
hello.jarHello.class
2、观察结果。
如图2-4
图2-4
看看有没有生成一个叫做hello.jar的文件,用winrar打开有没有Hello.class这个文件呢?
如果有的话就好了,其实jar命令还可以打很多格式的包哦。
上一节我们配置JDK的时候,是不是把CLASSPATH里面配置了一个lib的目录,那里面也有很多jar包。
所以说jar命令,是大家要掌握的一个命令。
下一个介绍国际化的命令,JDK里只有一个这样的命令native2ascii,该命令将本地编码字符(既非Latin-1,又非Unicode字符)的文件,转换为Unicode编码字符文件。
这是一个处理多国语言字符的命令,都转换为Unicode编码了,就容易处理了。
这样开发国际化的软件,是非常方便的。
1、在任意目录里面建立两个文件,一个叫gb2312.txt,另一个叫ascii.txt
在gb2312.txt里面输入“我的大学网”这段话。
之后保存。
2、在dos里面进入文件所在的目录。
敲native2ascii-encodinggb2312gb2312.txtascii.txt.
3、打开ascii.txt看看是什么结果呢?
里面的有很多符号吧
\u767e\u5bb6\u62f3\u8f6f\u4ef6\u9879\u76ee\u7814\u7a76\u5ba4这些就是
“我的大学”这段话的Unicode编码。
好了这节课介绍了java代码的编写和jdk的一些命令。
相信大家应该有所了解了吧!
但是我们要学习一门技术的话,也不能只会编helloworld啊。
下一节我们将介绍java语言的基础
java初学者实践教程3
-
基本语法1
上回课,我们学习了并实践操作了一个HelloWorld的例子,大家显然是没有解渴。
不过,回过头来有些同学问了。
“你写了一大堆,是出字了。
不过我不明白是什么意思啊!
这个不用着急。
下面我为大家解释一下这段程序。
1/*
2简单的HelloWorld程序
3*/
4publicclass
5
6
7
8
9}
程序中的1-3行是注释行
/*
“/*……*/”是多行注释,而“//”是单行注释的意思。
第4行
声明类名为Hello,保存时要以Classname.java保存。
类名(Classname)是在源文件中指明的,源文件编译后可在源代码所在的目录里生成一个classname.class文件。
在本例题中,编译器创建了一个称为Hello.class的文件,它包含了公共类Hello的编译代码。
publicclassHello{
第5行是一个单行注释
第6行
是程序执行的起始点。
Java技术解释器必须发现这一严格定义的点,否则将拒绝运行程序。
C和C++语言,也采用main()做为程序的起点。
但是与java有些不同,以后的课程会介绍的。
第7行
声明如何使用类名、对象名和方法调用。
它使用由System类的out成员引用的PrintStreamout对象的println()方法,将字串“HelloWorld!
”打印到标准输出上。
System.out.println(“HelloWorld!
”);
分号“;
”是java语言语句的分隔符
第8-9行
那两个花括号是分别和第4行和第6行的花括号配对
数据类型的概述
数据类型对于任何一门计算机语言来说都是重要的,因为变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。
在java语言里,数据类型分为两大类:
一、基本数据类型。
二、复合数据类型(对象数据类型)。
基本数据类型又分4类8种。
如下:
u逻辑型:
boolean.
u文本型:
char.
u整型:
byte,short,int和long.
u浮点型:
double和float.
复合数据类型就有很多种了,他们都是从Object这个类继承下来的。
下面我想重点的讲一个问题:
文字类型的char和String,这两个都是文本类型。
但是不同之处,
1、char是基本数据类型,而String不是,但是String是非常有用的。
2、char是一个16位的unicode(国际码)字符,用单引号引上。
例如,
charc=‘100jq’;
String是一个类。
字符串在java里是对象。
在javaSE5中有三个类可以表示字符串:
String,StringBuffer和StringBuilder.StringBuilder是jdk1.5的特性,在jdk1.5之前的版本中没有。
字符串要放在双引号中。
字符串中的字符也是Unicode.String对象表示的字符串是不能修改的。
如果要对字符串修改,应该使用StringBuffer和StringBuilder类。
publicclassAssign{
publicstaticvoidmain(Stringargs[]){
//声明整数型变量
intx,y;
//声明并赋值给一个单精度浮点数变量
floatz=3.414f;
//声明并赋值给一个双精度浮点数变量
doublew=3.1415;
//声明并赋值给一个布尔类型的变量
booleantruth=true;
//声明字符型变量
charc;
//声明字符串型变量
Stringstr;
//声明并赋值给一个字符串型变量
Stringstr1="
bye"
;
//为字符型变量复值
c='
A'
//给字符串型变量赋值
str="
Hioutthere!
//给整型变量赋值
x=6;
y=1000;
}
错误的赋值举例:
y=15.454;
//y是个整型数
w=456;
//w是个双精度数
将这个程序用上节课的方法,编译执行。
就可以看到结果了。
这是基本数据类型的例子点击此处下载
这节课,我们基本了解了java的数据类型的知识。
也知道了基本数据类型的概念。
但是对象型的数据呢?
java是面向对象的语言啊,光靠基本数据类型也无法描述客观的世界啊。
因为我们不可能说,桌子、椅子是整数,还是字符。
所以对象型的数据类型是非常必要的,也是理解面向对象概念的基础之一。
请看下节
java初学者实践教程4-
基本语法2
上节课给大家留下一个问题,计算机要描述的是现实世界。
光有基本数据类型,是不能满足我们的需要的。
在这个大千世界里,任何东西都可以看做成对象,它们当然不能都是整数和文字了。
现在学习java的同学,一般会看到一些java的教程里写的一个日期的例子。
这个例子是个典型的例子。
你们想啊,日期里面有很多属性啊,像是年,月,日。
基本类型的数据就不能很好的描述它。
就像是人,是一个类型。
人有很多属性,头,躯干,四肢,这样的话,我们就更难用基本类型来描述了。
我们还是看看这个日期的例子吧!
publicclassMyDate{
privateintday;
//日
privateintmonth;
//月
privateintyear;
//年
publicMyDate(intday,intmonth,intyear){
this.day
=day;
this.month=month;
this.year
=year;
publicMyDate(MyDatedate){
=date.day;
this.month=date.month;
=date.year;
publicintgetDay(){
returnday;
publicvoidsetDay(intday){
this.day=day;
publicMyDateaddDays(intmore_days){
MyDatenew_date=newMyDate(this);
new_date.day=new_date.day+more_days;
returnnew_date;
publicvoidprint(){
System.out.println("
MyDate:
"
+day+"
-"
+month+
+year);
在上次课的那个例子里我们已经看到了,class关键字后面是个类名。
这个类名就是MyDate.MyDate这个类里面定义了3个属性,4个方法,2个构造函数。
因为还没有讲到这些概念,目前说还是有点超前。
我还是先来讲些理论的东西。
理论阐述:
类描述了同一对象都具有的数据和行为。
Java语言中的类将这些数据和行为进行封装,形成了复合数据类型。
创建一个新类,就是创建了一种新的数据类型。
在程序中,类只定义一次,而用new运算符可以实例化同一个类的一个或多个对象。
比如人是一个类,每一个人就是一个对象。
那当然是人定义一次,对象可以new出很多对象了。
但是这些具体的人,都具有同样的特征(数据和行为)。
Java的类里面有3个东西,看下面:
class类名{
声明属性;
声明构造函数;
声明方法;
刚才讲了,类不是要描述现实的数据和行为吗?
在这里属性就是要描述封装的数据,方法就是描述行为。
构造函数嘛,是在new的运算符后面的,当然是构造对象的了,要不怎么能叫构造函数呢!
顺便说一下,那两个属性的前面有一个private那是权限修饰符。
意思是私有的也就是别人不能用。
Java语言用这种权限修饰符实现封装。
不想C语言的结构体,都是公有的属性,那样是不安全的。
就像是人有五脏六腑,那些东西就是私有的。
怎么能让谁都碰呢?
这就是面向对象的一个重要的概念叫做封装。
面向对象一共有三个重要特征(封装,继承,多态)我们以后会学到的。
所以,刚才MyDate那个类里面,有3个属性int类型的day,month,year.4个方法
setDay(intday),getDay(),addDays(intmore_days),print()。
还有两个构造函数。
看下面的例子如何调用这个类的方法的:
publicclassTestMyDate{
publicstaticvoidmain(String[]args){
MyDatemy_birth=newMyDate(22,7,1964);
//通过第一个构造函数new了一个叫my_birth的对象,并在参数里面赋值
MyDatethe_next_week=my_birth.addDays(7);
//这个对象调用了addDays(intmore_days)的方法,赋值给the_next_week的变量
the_next_week.print();
//调用print()方法
点击此处下载源码
调用一个类的方法,实际上是进行对象之间或用户与对象之间的消息传递。
1、
编译上述两个类,直接编译TestMyDate.java就行。
还记得怎么做吗?
进入DOS界面,到你存放这两个文件的目录下,敲javacTestMyDate.java
2、
然后敲javaTestMyDate就OK了。
观察结果
总结:
今天我们理解了对象类型的数据类型,也知道了对象和对象之间的调用方式。
再为大家提供些代码吧。
点击此处下载
java实践教程5-基本类型和引用类型变量
上两次课我们知道了,java语言中的两种数据类型。
这节课呢,我们对上两次课做一个补充,也加深一下理论知识的学习。
理论的东西是很有用的啊。
这节课介绍基本类型变量和引用类型变量。
Java中数据类型分为两大类,上次课已经讲完了,是基本类型和对象类型。
相应的,变量也就有两种类型:
基本类型和引用类型。
基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。
引用类型,可是引用类型呢?
它是一个对象类型的啊,值是什么呢?
它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。
罗唆:
我们在学习计算机的过程中,所谓的难的东西,就是以前没有听过的概念,和不常用的思想。
像是这个引用类型的概念就是以前不常用的,基本类型当然好理解不讲大家也知道。
所以我们对于这样陌生的概念我们只要多琢磨一下就会明白的。
我们废话少说,接下来看看这两种类型变量的不同处理吧。
基本类型自然是简单,声明是自然系统就给它空间了。
intbaijq;
baijq=250;
//声明变量baijq的同时,系统给baijq分配了空间。
引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么啊,整数,字符?
我们看一个错误的例子:
MyDatetoday;
today.day=4;
//发生错误,因为today对象的数据空间未分配。
那我们怎么给它赋值啊?
引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。
举个例子:
//将变量分配一个保存引用的空间
today=newMyDate();
//这句话是2步,首先执行newMyDate(),给today变量开辟数据空间,然后再执行赋值操作。
小总结:
刚才说了一大堆,其实就是一件事。
如果是引用类型的变量,必须先得new一个对象出来。
不new哪来的对象啊,不new哪有数据空间啊?
没有数据空间怎么能访问呢?
这回明白了吧!
我们还有个问题没有说,引用类型变量怎么赋值?
这个就不是很难了。
MyDatea,b;
//在内存开辟两个引用空间
a
=
newMyDate();
//开辟MyDate对象的数据空间,并把该空间的首地址赋给a
b
a;
//将a存储空间中的地址写到b的存储空间中
如图5-1
java初学者实践教程6--程序流程控制
这节课我们又要讲语法了,这是“我的大学网”这部教程的第6节课,我们这个教程侧重的是实践的内容和语言的重点。
在java语言中还有很多细节的东西,请参考sun公司的官方培训教程。
我们这里不能一一讲述。
这节课我们来给大家提供一些程序流程控制的一些例子供大家学习。
计算机怎么做事情,是我们教给他的。
我们用它解决实际生活中的问题,所以计算机要描述现实生活中的流程。
Java语言中提供了4类程序控制语句,来描述流程:
1.循环语句:
while,do-while,for
2.分支语句:
if-else,switch,
3.跳转语句break,continue,label:
和return
4.异常处理语句:
try-catch-finally,throw
1.循环语句
while语句
class