全新java初学者实践教程1

全新java初学者实践教程1
全新java初学者实践教程1

全新java初学者实践教程1(Java SE5.0版)--配置环境变量

作者:100jq 最近我发现不少初学者,学习java的时候,看了好多java的历史、优点和应用范围。对于这些知识,并不难理解。我也当然同意java是一种优秀的计算机语言。但是对于我们来说要了解的并不是,这些历史等知识。而是掌握java这套技术。要想掌握这套技术实践是非常重要的。那么很多初学者,在第一步实践的时候就遇到了困难,就是配置环境变量。以至于,因无法继续实践而苦恼。下面为了帮广大爱好者解决这个问题,“百家拳软件项目研究室”特别写了这个教程来与大家共享。

环境变量这个概念,是我们平时用电脑时不常用的概念,所以大家在下载完jdk之后,不知如何配置环境变量。下面我解释一下,环境变量相对于给系统或用户应用程序设置的一些变量。应该怎么理解呢?我们来做一个实验吧!

实践:鼠标单击开始――>运行――> cmd,进入了DOS的窗口。我们在任意目录下敲QQ。会出现“ 'QQ' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这段话

其实也是啊,在当前的目录根本就没有QQ这个文件啊。我的QQ程序安装在 D:\Tencent\QQ 下了。你们做的时候找到这个目录。在dos下进入这个目录,再敲QQ。就会发现弹出了QQ的登陆窗口。那么怎样能使,我们在任何目录下都可以敲QQ就可以执行呢。那就是设置环境变量了。

实践:我们现在桌面上,右键单击我的电脑――>属性――>选择“高级”选卡――>环境变量。现示的结果如图1-1

图 1-1

环境变量分为两类,一个是上半部分区域用户变量,另一个是下半部分系统变量。用户变量是只适用于当前用户使用,换了用户就不管用了。而系统变量则是任何用户都可以使用。呵呵,这样说可以理解吧。我们现在在用户变量里面按“新建”。在变量名里面输入path(不区分大小写)

变量值里面输入你QQ的安装路径,我的QQ安在了 D:\Tencent\QQ 所以你们按照自己的来做

哦。

图 1-2

然后一路按“确定”按钮。接着,新打开一个DOS窗口。切记,一定要新打开一个DOS窗口,用原来的是不行的。这回在任意的目录下,敲QQ 回车。就会发现弹出窗口了。大家做出来了吗?

所以现在我来做一下总结性陈词:环境变量相对于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的环境变量相关. 象path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找。当然还有很多的变量啊!以后我们会慢慢的学到。

说了这么多,我们开始开始正式的配置jdk吧!马上就可以敲出java代码了。

实践:1、在sun公司的官方网站下载jdk。或者在百度或google搜索jdk下载。安装j dk;

2、在“用户变量”中,设置3项属性,java_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;

3、java_HOME设为JDK的安装路径(如C:\Program Files\java\jdk 1.5.0_11),此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量);

Path使得系统可以在任何路径下识别java命令,设为:%java_H OME%\bin

CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;% java_HOME%\lib;%PATH%(要加.表示当前路径) %java_HOME%就是引用前面指定的java_HO ME。形如图1-1

4、打开一个DOS窗口,输入“java -version”。

看看出现了,一大堆的版本信息就说明已经配置成功了。配置已经成功了,我们如何使用jdk呢?

全新java初学者实践教程2(Java SE5.0版)--“HelloWorld”和jdk的使用

作者:100jq 通过上一节的学习,相信大家已经能够学会如何配置环境变量了。如果还有问题请联系“百家拳软件项目研究室”或者到我们的论坛交流https://www.360docs.net/doc/3710806480.html,。接下来,我们继续进行吧!

这节我们首先体验一下用java编写的程序。也让大家过把代码瘾,呵呵。目前世界上大部分的软件教程有一个习惯,最开始时总要输出一个字符串“Hell oWorld”。我们也是不能免俗啊,也要输出这么一段话。

实践:1、单击“开始”――>运行――>CMD,进入DOS系统。

2、用cd命令进入一个你容易找到的目录。如图2-1

图2-1

3、输入命令notepad Hello.java用记事本创建并打开一个java文件。

如图2-2

图2-2

4、在里面输入下列代码

/*

简单的HelloWorld 程序

*/

public class Hello{

//main方法

public static void main (String args[]) {

System.out.println ("Hello World!"); //输出字符串“Hell

o World!”

}

}

本例子,点击此处下载

upload/2007_07/07070220084567.rar

5、在DOS的界面里,敲javac Hello.java编译这个文件。会发现

文件夹里多了一个Hello.class的文件。如图2-3

图2-3

6、最后一步,还是在DOS的界面里,敲java Hello观察结果。

相信你已经看到结果了吧!

总结

通过上述几个步骤我们体验了java代码原来是这么编写和运行的啊。那么具体这些东西是什么意思呢?

java c是jdk的编译器,刚才我们输入java c Hello.java的时候意思是把把Hello.java这个源文件编译成了字节码,就是Hello.class这个文件。

java命令是java的解释器java Hello的意思是将编译后的字节码放在解释器上执行。从中我们也可以看到java语言的执行过程,是先编译后解释的。

JDK里面还有许多命令呢!下面我们来全面了解一下JDK。JDK 的命令为

4类。有基本命令,RMI命令,国际化命令,安全控制命令。在这里我只介绍些,有代表性的命令。刚才那两个java c和java已经说过了。

他们是基本命令,基本命令里还有jar命令,也是很常用的。Jar命令是java类的归档命令。Jar命令可将多个文件合并为单个JAR归档文件。J ar是个多用途的存档及压缩工具,它基于zip和zlib压缩格式。说的通俗一点就是它是把java的类文件,即*.class文件打包用的。我们来做个例子,

实践:1、在刚才那个目录的DOS窗口里敲jar cvf hello.jar He llo.class

2、观察结果。如图2-4

图2-4

看看有没有生成一个叫做hello.jar的文件,用winrar打开有没有Hello.c lass这个文件呢?如果有的话就好了,其实jar命令还可以打很多格式的包哦。上一节我们配置JDK的时候,是不是把CLASSPATH里面配置了一个lib的目录,那里面也有很多jar包。所以说jar命令,是大家要掌握的一个命令。

下一个介绍国际化的命令,JDK里只有一个这样的命令native2ascii,该命令将本地编码字符(既非Latin-1,又非Unicode字符)的文件,转换为Unicode编码字符文件。这是一个处理多国语言字符的命令,都转换为Unicode编码了,就容易处理了。这样开发国际化的软件,是非常方便的。

实践:1、在任意目录里面建立两个文件,一个叫gb2312.txt,另一个叫ascii.txt

在gb2312.txt里面输入“百家拳软件项目研究室”这段话。之后保存。

2、在dos里面进入文件所在的目录。敲native2ascii -encodi

ng gb2312 gb2312.txt ascii.txt 。

3、打开ascii.txt看看是什么结果呢?里面的有很多符号吧

\u767e\u5bb6\u62f3\u8f6f\u4ef6\u9879\u76ee\u7814\u7a76\u5ba4 这些就

“百家拳软件项目研究室”这段话的Unicode编码。

好了这节课介绍了java代码的编写和jdk的一些命令。相信大家应该有所了解了吧!但是我们要学习一门技术的话,也不能只会编hel

lo world啊。下一节我们将介绍java语言的基础

全新java初学者实践教程3(Java SE5.0版)----基本语法1

作者:100jq

上回课,我们学习了并实践操作了一个Hello World的例子,大家显然是没有解渴。不

过,回过头来有些同学问了。“你写了一大堆,是出字了。不过我不明白是什么意思啊!

这个不用着急。下面我为大家解释一下这段程序。

1 /*

2 简单的HelloWorld 程序

3 */

4 public class Hello{

5 //main方法

6 public static void main (String args[]) {

7 System.out.println ("Hello World!"); //输出字符串“Hello World!”

8 }

9 }

程序中的1-3 行是注释行

/*

简单的HelloWorld 程序

*/

“/*……*/”是多行注释,而“//”是单行注释的意思。

第4行

声明类名为Hello,保存时要以Classname.java保存。类名(Classname)是在源文件中指明的,源文件编译后可在源代码所在的目录里生成一个classname·class 文件。在本例题中,编译器创建了一个称为Hello.class 的文件, 它包含了公共类Hello 的编译代码。

public class Hello{

第5行是一个单行注释

第6行

是程序执行的起始点。java技术解释器必须发现这一严格定义的点,否则将拒绝运行程序。C和C++语言,也采用main()做为程序的起点。但是与java

有些不同,以后的课程会介绍的。

第7行

声明如何使用类名、对象名和方法调用。它使用由System 类的out 成员引用的PrintStreamout对象的println()方法,将字串“Hello World!”打印到标准输出上。

System.out.println (“Hello World!”);

分号“;”是java语言语句的分隔符

第8-9行

那两个花括号是分别和第4行和第6行的花括号配对

数据类型的概述

数据类型对于任何一门计算机语言来说都是重要的,因为变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在java语言里,数据类型分为两大类:

一、基本数据类型。二、复合数据类型(对象数据类型)。

基本数据类型又分4类8种。如下:

◆逻辑型:boolean。

◆文本型:char。

◆整型:byte,short,int和long。

◆浮点型:double和float。

复合数据类型就有很多种了,他们都是从Object这个类继承下来的。

下面我想重点的讲一个问题:

文字类型的char和String,这两个都是文本类型。但是不同之处,

1、char是基本数据类型,而String不是,但是String是非常有用的。

2、char是一个16位的unicode(国际码)字符,用单引号引上。例如,

char c = …100jq?;

String是一个类。字符串在java里是对象。在java SE 5中有三个类可以表示字符串:

String,StringBuffer和StringBuilder。StringBuilder是jdk1.5的特性,在jdk1.5之前的版本中没有。字符串要放在双引号中。字符串中的字符也是Unicode 。

String对象表示的字符串是不能修改的。如果要对字符串修改,应该使用S tringBuffer和StringBuilder类。

实践:

public class Assign {

public static void main (String args []) {

// 声明整数型变量

int x, y;

// 声明并赋值给一个单精度浮点数变量

float z = 3.414f;

// 声明并赋值给一个双精度浮点数变量

double w = 3.1415;

// 声明并赋值给一个布尔类型的变量

boolean truth = true;

// 声明字符型变量

char c;

// 声明字符串型变量

String str;

//声明并赋值给一个字符串型变量

String str1 = "bye";

// 为字符型变量复值

c = 'A';

// 给字符串型变量赋值

str = "Hi out there!";

// 给整型变量赋值

x = 6;

y = 1000;

System.out.println(x);

System.out.println(z);

System.out.println(w);

System.out.println(truth);

System.out.println(c);

System.out.println(str);

System.out.println(str1);

}

}

错误的赋值举例:

y = 15.454; //y是个整型数

w = 456; //w是个双精度数

将这个程序用上节课的方法,编译执行。就可以看到结果了。

这是基本数据类型的例子点击此处下载

这节课,我们基本了解了java的数据类型的知识。也知道了基本数据类型的概念。但是对象型的数据呢?java是面向对象的语言啊,光靠基本数据类型也无法描述客观的世界啊。因为我们不可能说,桌子、椅子是整数,还是字符。所以对象型的数据类型是非常必要的,也是理解面向对象概念的基础之一。请看下节

全新java初学者实践教程4(Java SE5.0版)----基本语法2

作者:100jq 上节课给大家留下一个问题,计算机要描述的是现实世界。光有基本数据类型,是不能满足我们的需要的。在这个大千世界里,任何东西都可以看做成对象,

它们当然不能都是整数和文字了。现在学习java的同学,一般会看到一些java 的教程里写的一个日期的例子。这个例子是个典型的例子。你们想啊,日期里面有很多属性啊,像是年,月,日。基本类型的数据就不能很好的描述它。就像是人,是一个类型。人有很多属性,头,躯干,四肢,这样的话,我们就更难用基本类型来描述了。

我们还是看看这个日期的例子吧!

public class MyDate {

private int day; //日

private int month; //月

private int year; //年

public MyDate(int day, int month, int year) {

this.day = day;

this.month = month;

this.year = year;

}

public MyDate(MyDate date) {

this.day = date.day;

this.month = date.month;

this.year = date.year;

}

public int getDay() {

return day;

}

public void setDay(int day) {

this.day = day;

}

public MyDate addDays(int more_days) {

MyDate new_date = new MyDate(this);

new_date.day = new_date.day + more_days;

return new_date;

}

public void print() {

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(int day),getDay() , addDays(int more_days), print().还有两个构造函数。

看下面的例子如何调用这个类的方法的:

public class TestMyDate {

public static void main(String[] args) {

MyDate my_birth = new MyDate(22, 7, 1964); //通过第一个构造

函数new了一个叫my_birth的对象,并在参数里面赋值

MyDate the_next_week = my_birth.addDays(7); //这个对象调用了a ddDays(int more_days)的方法,赋值给the_next_week的变量

the_next_week.print(); //调用print()方法

}

} 点击此处下载源码

调用一个类的方法,实际上是进行对象之间或用户与对象之间的消息传递。

实践:

1、编译上述两个类,直接编译TestMyDate.java就行。还记得怎么做吗?

进入DOS界面,到你存放这两个文件的目录下,敲java c TestMyDat

e.java

2、然后敲java TestMyDate 就OK了。

观察结果

总结:

今天我们理解了对象类型的数据类型,也知道了对象和对象之间的调用方式。

再为大家提供些代码吧。点击此处下载

全新java初学者实践教程5(Java SE5.0版)----基本类型变量和引用类型

变量

作者:100jq 上两次课我们知道了,java语言中的两种数据类型。这节课呢,我们对上两次课做一个补充,也加深一下理论知识的学习。理论的东西是很有用的啊。这节课介绍基本类型变量和引用类型变量。

java中数据类型分为两大类,上次课已经讲完了,是基本类型和对象类型。相应的,变量也就有两种类型:基本类型和引用类型。基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。引用类型,可是引用类型呢?它是一个对象类型的啊,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。

罗唆:

我们在学习计算机的过程中,所谓的难的东西,就是以前没有听过的概念,和不常用的思想。像是这个引用类型的概念就是以前不常用的,基本类型当然好理解不讲大家也知道。所以我们对于这样陌生的概念我们只要多琢磨一下就会明白的。

我们废话少说,接下来看看这两种类型变量的不同处理吧。基本类型自然是简单,声明是自然系统就给它空间了。例如,

int baijq; baijq=250; //声明变量baijq的同时,系统给baijq分配了空间。

引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么啊,整数,字符?我们看一个错误的例子:MyDate today;

today.day = 4; //发生错误,因为today对象的数据空间未分配。

那我们怎么给它赋值啊?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子:

MyDate today; //将变量分配一个保存引用的空间

today = new MyDate(); //这句话是2步,首先执行new MyDate(),给t oday变量开辟数据空间,然后再执行赋值操作。

小总结:刚才说了一大堆,其实就是一件事。如果是引用类型的变量,必须先得new一个对象出来。不new哪来的对象啊,不new哪有数据空间啊?没有数据空间怎么能访问呢?这回明白了吧!

我们还有个问题没有说,引用类型变量怎么赋值?这个就不是很难了。举个例子:

MyDate a,b; //在内存开辟两个引用空间

a = new MyDate(); //开辟MyDate对象的数据空间,并把该空间的首地址赋给a

b = a; //将a存储空间中的地址写到b的存储空间中

如图5-1

全新java初学者实践教程6(Java SE5.0版)----基本语法3

作者:100jq 这节课我们又要讲语法了,这是“百家拳软件项目研究室”这部教程的第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 While {

public static void main(String args[]) {

int n = 10;

while(n > 0) {

System.out.println("tick " + n);

n--;

}

}

}

do…while 语句

class DoWhile {

public static void main(String args[]) {

int n = 10;

do {

System.out.println("tick " + n);

n--;

} while(n > 0);

}

}

二者区别,do…while至少循环一次,而while的表达式要是为flas e的话可以一次也不循环。再通俗一点,do…while就算是括号里的是fl ase,人家最少也能do一次。

for语句

class ForTick {

public static void main(String args[]) {

int n;

for(n=10; n>0; n--)

System.out.println("tick " + n);

}

}

与上面那两个的区别,for循环执行的次数是可以在执行之前确定的。通俗一点说吧,看这个例子for(n=10; n>0; n--)就是在括号里的时候,就已经知道要循环10次了。

还有啊,for循环的部分可以为空的

class ForVar {

public static void main(String args[]) {

int i;

boolean done = false;

i = 0;

for( ; !done; ) {

System.out.println("i is " + i);

if(i == 10) done = true;

i++;

}

}

} 循环语句的例子下载

2.分支语句

if/else语句

class IfElse {

public static void main(String args[]) {

int month = 4; // April

String season;

if(month == 12 || month == 1 || month == 2)

season = "Winter";

else if(month == 3 || month == 4 || month == 5) season = "Spring";

else if(month == 6 || month == 7 || month == 8) season = "Summer";

else if(month == 9 || month == 10 || month == 11) season = "Autumn";

else

season = "Bogus Month";

System.out.println("April is in the " + season + ".");

}

}

//这段程序输出:

//April is in the Spring.

// 注意“||”是或运算

switch语句

class Switch {

public static void main(String args[]) {

int month = 4;

String season;

switch (month) {

case 12:

case 1:

case 2:

season = "Winter";

break;

case 3:

case 4:

case 5:

season = "Spring";

break;

case 6:

case 7:

case 8:

season = "Summer";

break;

case 9:

case 10:

case 11:

season = "Autumn";

break;

default:

season = "Bogus Month";

}

System.out.println("April is in the " + season + ".");

}

} 分支语句代码下载

switch语句适合于条件非常多的逻辑

请看上述语句可以混合使用,请看下载例子

循环语句的例子下载

分支语句代码下载

综合使用的代码下载

如有问题请登陆论坛

全新java初学者实践教程7(Java SE5.0版)----基本语法4

作者:100jq 昨天我们说有4类程序控制语句,但是才讲了2个。今天讲跳转语句。异常处理语句我们找一节专题来讲。

循环跳转语句:break [label] //用来从语句、循环语句中跳出。

continue [label] //跳过循环体的剩余语句,开始下一次循环。

这两个语句都可以带标签(label)使用,也可以不带标签使用。标签是出现在一个语句之前的标识符,标签后面要跟上一个冒号(:),标签的定义如下:label:statement;

实践:

1、break语句

class Break {

public static void main(String args[]) {

boolean t = true;

first: {

second: {

third: {

System.out.println("Before the break.");

if(t) break second; // break out of second block

System.out.println("This won't execute");

}

System.out.println("This won't execute");

}

System.out.println("This is after second block.");

}

}

}

// 跳出循环

class BreakLoop {

public static void main(String args[]) {

for(int i=0; i<100; i++) {

if(i = = 10) break; // terminate loop if i is 10 System.out.println("i: " + i);

}

System.out.println("Loop complete.");

}

} 5个break跳出循环的例子下载

//跳出switch

class SampleSwitch {

public static void main(String args[]) {

for(int i=0; i<6; i++)

switch(i) {

case 0:

System.out.println("i is zero.");

break;

case 1:

System.out.println("i is one.");

break;

case 2:

System.out.println("i is two.");

break;

case 3:

System.out.println("i is three.");

break;

default:

System.out.println("i is greater than 3.");

}

}

} 这个在昨天的分支语句中,我们就已经学到了。

2、continue语句

class Continue {

public static void main(String args[]) {

for(int i=0; i<10; i++) {

System.out.print(i + " ");

if (i%2 = = 0) continue;

System.out.println("");

}

}

}

//带标签的continue

class ContinueLabel {

public static void main(String args[]) {

outer: for (int i=0; i<10; i++) {

for(int j=0; j<10; j++) {

if(j > i) {

System.out.println();

continue outer;

}

System.out.print(" " + (i * j));

}

}

System.out.println();

}

} 此例子打包下载

全新java初学者实践教程8(Java SE5.0版)----jdk5的拆箱与装箱

作者:100jq 前几次课的讲解,我们了解了这样几个问题。java的两种数据类型,和一些程序控制语句。今天,我们还是要通过一些例子。对上述东西有一个更深的理解。

我们现在知道了,所有对象型的数据类型的基类是https://www.360docs.net/doc/3710806480.html,ng.Object 。而写java程序的时候非常多的工作都是在写这些类,和实现里面的方法。而偏偏就有那么8种基本类型和他们不一样。以至于让你来回在这两种之间转换,这是很让人头疼的事情。java中int,long,char这样的类型不是对象型。因此java里提供了一种叫做包装类(wrapper)的东西,使基本类型,有着相应的对象类型Integer,L ong,Character等。这样就可以,先把基本类型的东西,转成对象来用,然后再转回去。来来回回,千锤百炼。

到了jdk5.0的时候呢,就不用了。看下面的例子:实践:

public class Test1 {

public static void main(String[] args) {

// 装箱

int i = 0;

Integer integer = i;//i这么一个基本类型的数,可以赋值给Integer型的变量

// 简单的拆箱

int j = integer; //integer这种原始类型的数,也能赋值给j这个原始类型的变量

Integer counter = 1; // 装箱

int counter2 = counter; // 拆箱

while (counter < 100) {

System.out.println("计数 "+counter++); //看啊,counter这个对象型的数,还能自动增加

}

}

}

在幕后JVM已经自动执行了转换,同理Boolean和boolean之间也可以,自动拆箱装箱。但是,Integer和int毕竟还是有着不同的。看下面例子:

public class Test2 {

public static void main(String[] args) {

Integer i1 = 256;

Integer i2 = 256;

if (i1 = = i2)

S ystem.out.println("相等!");

else

S ystem.out.println("不相等!");

}

} 结果输出的是“不相等!”,两个对象比较,它们在内存中开辟的是两个地址怎么能相等呢?警告:你可千万不能依赖这个结果,请把i1和i2的值,改成100。(请看Test3.java)看看什么结果,令人惊讶的是改了个数,居然输出了“相等!”。

这是因为JVM可以选择要尝试这段代码的最佳优化,并对两个Integer对象使用一个实例,这样的话“==”就会返回true了。在自动装箱时对于值从–128到127之间的值,使用一个实例。上述例子打包下载

这种装箱与拆箱机制对,程序流程控制语句,也有很大影响:

public class Test4 {

public static void main(String[] args) {

Boolean arriving = true;

Integer peopleInRoom = 0;

int maxCapacity = 100;

while (peopleInRoom < maxCapacity) {

if (arriving) {

System.out.printf("很高兴见到你.%d号先生\n",peopleInRoom);

peopleInRoom++;}

else {

peopleInRoom--;

}

}}}另外一个从unboxing获得好处的语句是switch。在jdk5.0之前的JVM,swit ch接受int、short、character或者byte值,而在unboxing的操作中,你现在也可以为它赋予新引入的enum之外的Integer,Short,Char以及Byte值。Enum的值,我们在后面的教程会详细讲述。上述例子打包下载

全新java初学者实践教程9(java SE5.0版)----jdk5的数组

作者:100jq 今天我们讲个不一样的概念――数组,数组也没什么不好理解的,就是一组数。不过这组数有点特性。今天我们的任务就是,了解这个有特性的这组数。下面我们具体讲一下它有哪些特性:

1、数组中的元素是同一类型。数组的长度在创建时确定,并且在创建后不变。解释一下声明一个数组int i[5]; 这就是int类型,名字叫i的数组。里面的数都必须是int类型。并且长度在创建时确定了是5。

2、在java语言中,数组就是一个对象,所以创建数组与创建对象一样也是用new关键字来创建。举个例子,s = new char[20]; p = new Point[50];

3、数组在被创建后,其元素被系统自动初始化了。字符元素被初始化为‘\ u0000’,而对于对象数组都被初始化为null。如果你不初始化的话,在内存是找不到它的位置的。

4、数组中的第一元素记做第0个,i[0]是数组i 的第一个元素。

说了这么些,我们还是得练练啊

实践:

public class TestArrays {

public static void main(String[] args) {

// 第1,2步: 声明并初始化数组变量

int[] array1 = { 2, 3, 5, 7, 11, 13, 17, 19 };

int[] array2;

// 第3步: 显示数组初始化值

System.out.print("array1 is ");

printArray(array1);

System.out.println();

// 第4步: array2引用array1

array2 = array1;

// 更改array2

array2[0] = 0;

array2[2] = 2;

array2[4] = 4;

array2[6] = 6;

// 打印array1

System.out.print("array1 is ");

printArray(array1);

System.out.println();

// 第5步: 声明一个整数类型的二维数组

int[][] matrix = new int[5][];

// 第6步: 将这个矩阵构成三角形

for ( int i = 0; i < matrix.length; i++ ) {

matrix[i] = new int[i];

for ( int j = 0; j < i; j++ ) {

matrix[i][j] = i * j;

}

}

// 第7步打印矩阵

for ( int i = 0; i < matrix.length; i++ ) {

System.out.print("matrix[" + i + "] is ");

printArray(matrix[i]);

System.out.println();

}

}

public static void printArray(int[] array) {

System.out.print('<');

for ( int i = 0; i < array.length; i++ ) {

// 打印一个元素

System.out.print(array[i]);

// 输出最后一个元素的时候不输出逗号

if ( (i + 1) < array.length ) {

System.out.print(", ");

}

}

System.out.print('>');

}

} 此源码和其它例子打包下载

在jdk5.0中,我们发现了一些更简单的方法,打印一维数组时,用toString(a rray)方法,

打印二维数组时,用deepToString(array)方法。这样的话就剩了我们又是循环又是判断的。我们看个例子吧:实践:

import java.util.Arrays;

public class ArraysTester {

private int[] ar;

public ArraysTeste r(int numValues) {

ar = new int[numValues];

for (int i=0; i < ar.length; i++) {

ar[i] = (1000 - (300 + i));

}

}

public int[] get() {

return ar;

}

public static void main(String[] args) {

ArraysTester tester = new ArraysTester(50);

int[] myArray = tester.get();

// 比较两个数组

int[] myOtherArray = tester.get().clone();

if (Arrays.equals(myArray, myOtherArray)) {

System.out.println("这两个数组是相等的!");

} else {

System.out.println("这两个数组是不相等的!");

}

// 填上一些值

Arrays.fill(myOtherArray, 2, 10, new Double(Math.PI).intValue()); myArray[30] = 98;

// 打印数组

System.out.println("这是一个未排序的数组...");

System.out.println(Arrays.toString(myArray));

System.out.println();

// 数组排序

Arrays.sort(myArray);

// 打印被排序的数组用toString()

System.out.println("这是一个被排序的数组...");

System.out.println(Arrays.toString(myArray));

System.out.println();

// 得到特殊值的索引

int index = Arrays.binarySearch(myArray, 98);

System.out.println("98 被定位在第" + index + "个位置上"); String[][] ticTacToe = { {"X", "O", "O"},

{"O", "X", "X"},

{"X", "O", "X"}};

//打印二维数组用deepToString()

System.out.println(Arrays.deepToString(ticTacToe));

String[][] ticTacToe2 = { {"O", "O", "X"},

{"O", "X", "X"},

{"X", "O", "X"}};

String[][] ticTacToe3 = { {"X", "O", "O"},

{"O", "X", "X"},

{"X", "O", "X"}};

if (Arrays.deepEquals(ticTacToe, ticTacToe2)) {

System.out.println("Boards 1 和2 相等.");

} else {

System.out.println("Boards 1 和2 不相等.");

}

if (Arrays.deepEquals(ticTacToe, ticTacToe3)) {

System.out.println("Boards 1 和3 are 相等.");

} else {

System.out.println("Boards 1 和3 are 不相等.");

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java基础教程(毕向东老师讲的)

1.基本常识: 命令提示符 dir 列出文件md 创建文件夹rd 删除文件夹(doc 里面删除出文件夹必须保证这个文件夹是空的,del 命令可以删掉文件夹)cd 进入文件夹里cd.. 返回上一级目录cd\ 退到根目录echo kobe>1.txt 创建文件del 1.txt 删除文件 2.java 的跨平台性 用java编写的软件在不同的操作系统上可以完成(C++ 不行),在每个系统上装上java 虚拟机就可以运行java程序 3.java 环境搭建 Jre java 运行环境(包括虚拟机)jdk java 开发工具包 4.java 环境变量配置 直接设置:打开“我的电脑”的“属性”,选择“高级”菜单,点击下方的“环境变量”按钮。 D:\Java\jdk1.6.0_14\bin 目录添加到用户变量的path中(已经有的变量值不能删除)%% :动态的获取某一环境变量的值

环境变量临时配置方式: set 可以查看和编辑环境变量的值 Start 打开新的DOC 命令窗口 5.HelloWorld 想在任何目录下运行class 文件就建立一个临时classpath 环境变量:放原来的class 文件的路径,具体演示方法在下面:

设置完以后set classpath= 就表明对环境变量清空 Set classpath=c\; 在classpath 中找不到就到当前目录 Set classpath=c\ 只在classpath中找要运行的class文件(不加分号比较好,推荐) Path 跟classpath 相反,path 先在当前目录下寻找,要是没找到就去path环境变量中去找 (Set paht=c:\Windows cmd--->write.exe 写字工具弹出来) 6.注释 // 表明单行注释 /* 多行注释 */ 多行注释中不能包含多行注释 7.标示符

Java语言入门教程

Java语言入门教程 引言 您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机 程序?无论您是想自己写出游戏程序的14岁孩子,还是对计算机编程已经好奇了20年的70岁老人,这篇文章都适合您。在本文中,我将通过教您用Java程序设计语言编程使您了解计算机程序的原理。 在讲授计算机编程的知识之前,我首先做如下假设: ?我假设您目前对计算机编程一无所知。如果您已经懂一些编程知识的话那么本文的开始部分对您来说就会显得十分简单。尽可放心跳过这些章节,从新知识处开始学习。 ?我假设您对计算机的使用有一些了解。具体说就是我假设您已经知道如何编辑、复制、删除和重命名文件,以及如何获取有关您的系统的信息等等。 ?为简单起见,我假设您的机器运行Windows95、98、2000、NT或XP操作系统。使用其他操作系统的用户将这里学到的概念运用到自己的系统中应 该也是比较容易的。 ?我假设您有学习的欲望。 进行Java编程需要的所有工具都可以轻松在网上免费获得。网上还有大量的Java学习资料,所以学完本文以后您可以很容易去学习更多内容以继续提高水平。在这里学习的Java编程在编译器、开发环境、阅读材料等等上没有任何花销。学会了Java再学习其他的语言就变得容易了,所以这里是个不错的起点。 交待完这些事情,我们就准备好了。让我们开始吧! 编程术语 记住,我假定您不懂编程。下面是一些术语,它们将有助于您的理解:?计算机程序——计算机程序是一组指令,告诉计算机应该怎么做。指令可 以告诉计算机将几个数相加,或比较两个数字并根据比较的结果作出决 定,如此之类。计算机程序只是面向计算机的一组指令而已,正如菜谱是 厨师的指令,乐谱是乐师的指令一样。计算机准确地执行这些指令的同时 也就完成了有用的工作,如计算支票簿收支,或者在屏幕上显示一个游戏,或运行一个字处理程序。 ?编程语言——为了能使计算机辨识您给它的指令,这些指令需要以一种计算机能够理解的语言书写,即编程语言。有很多计算机编程语言:Fortran、Cobol、Basic、Pascal、C、C++、Java、Perl,正如有很多人类语言一样。 它们都是用不同的方式来表达类似的概念。 ?编译器——使用人可以阅读的编程语言(如Java)写好程序后,还要用编译器将其翻译成计算机可执行的形式。您很可能在您的计算机上见到过

Java程序设计基础教程

Java程序设计基础教程 第一章概述 本章技能目标 (1)了解Java语言的由来、特点、家族成员及实现机制。 (2)熟悉JDK开发环境的安装与配置。 (3)会使用Eclipse开发第一个Java应用程序。 重点和难点 开发环境的配置与使用。 1.1Java语言简洁 1.1.1Java语言的由来 Java是由SUN公司开发而成的新一代编程语言。 Oak。 咖啡(Java)。 Java大家庭: (1)J2ME—即Java2 Micro Edition。 (2)J2SE—即Java2(Software Development Kit)Standard Edition。 (3)J2EE—即Java2 Enterprise Edition(可扩展的企业应用Java2平台)。 1.1.2Java语言的特点 面向对象与面向过程。 高级语言程序必须转换为机器语言程序才能执行,但不同的计算机系统所使用的机器语言不同。 一次编译,随处运行。 任何系统只有安装了Java虚拟机(Java Virtual Machine,JVM)后,才可以执行Java程序。 当JVM解释执行Java程序时,Java实时编译器(Just-In-Time,JIT)会将字节码译成目标平台对应的机器语言的指令代码。编译器会产生一种具备结构中立性的对象文件格式,即Java字节码文件。 在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,之面向虚拟机。 Java字节码可在任何安装了Java虚拟机的平台上运行。 每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码。字节码由虚拟解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后再特定的机器上运行。其执行过程如图1-1所示。 1.2开发环境配置与使用 1.2.1JDK的安装与配置 在开发Java应用程序前必须首先下载并安装JDK。目前JDK最新版本是1.6。 2.认识JDK (1)bin目录。提供了工具程序,包括javac、java、javadoc、appletviewer等程序。 1)javac用于将Java源代码编译成字节码。其语法为: Javac [option] source 其中,[option]可包括以下几项: ①-classpath<路径>,指定将使用的类路径,以搜索.class文件。 ②-d<目录>,制定用于存放经过编译的.class文件的目录。“.”表示当前目录。 Source是以扩展名.java结尾的一个或多个文件名。 2)java用于执行java字节码。其语法为: Java [option] classname [arguments] 其中,[option]可包括以下几项: ①-classpath<路径>,指定将使用的备用类路径。

java基础教程笔记

JAVA基础教程笔记 第一章:java语言概述 J2se:J2SE(Standard Edition)就是Java2的标准版,主要用于桌面应用软件的编程 J2ee:J2ME(micro edition),又称为微缩版,主要应用于嵌入是系统开发,如手机和PDA的编程 Jsme:J2EE(Enterprise Edition)是Java2的企业版,主要用于分布式的网络程序的开发 类库:属性和方法,是对具体的一种抽象 OOA,OOP,OOD. Java和C和c++语言都是跨平台的语言 1.c和c++是源码型平台无关性语言。 2.java是目标型的平台无关性语言。 Java的执行方式和c语言的执行方式的区别? JVM:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。 什么叫做环境变量? 环境变量的设置,变量名,变量值(jdk所安装的位置),幻灯片有相关内容 第二章:java程序结构 Java程序的结构: 1./*这是一个简单的Java程序示例程序*/ 2.package mypack; 3.importjava.util.*; 4.public class Example { 5.public static void main (String args[ ]) { 6.System.out.println("Java欢迎您!"); 7.} 8.} args[ ]:主函数调用时候传入的参数 final varTypevarName[=value],声明一个常量的时候!比如说声明一个圆周率:3.14 java的基本数据类型-记忆 true 和false 在java语言中,true和false的值是什么?0或1…….? Byte:本身是整形,是一个字节,在32位机和64位机上是不会改变的。 Unicode:唯一码是两个字节, 背景:用两个字节表示一个汉字

java基础教程

第一章Java语言的产生及其特点 1.1Java产生的历史与现状 1.1.1Java产生的历史 Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。 1.1.2Java的现状 Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet 应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。一时间,“连Internet,用Java编程”,成为技术人员的一种时尚。虽然新闻界的报导有些言过其实,但Java作为软件开发的一种革命性的技术,其地位已被确立,这表现在以下几个方面: 1.计算机产业的许多大公司购买了Java的许可证,包括 IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。这一点说明,Java已得到了工业界的认可。 2.众多的软件开发商开始支持Java的软件产品。例如:Borland公司正在开发的基于Java的快速应用程序开发环境Latte,预计产品会在1996年中期发布。Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java 开发环境JavaWorkshop已经发布。数据库厂商如: Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台)。 3.Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是把Internet用于企业内部的信息系统,它的优点

Java基础教程清华大学出版社第2版部分习题答案

Java基础教程(清华大学出版社第2版)部分习题答案 第一章 【答案】答案见教材<略>。 第二章 1. 请说明注释的作用。 【答案】答案见教材<略>。 2. 判断下列那些是标识符? (1) 3class (2) byte (3) ? room (4) Beijing (5) beijing 【答案】(1)(2)(3)不是标识符,因为标识符不能已数字开始,也不能是保留关键字(如byte),不能以?开始。 3. 请指出下列声明字符变量ch的语句是否存在错误?如果有,请改正。 (1)char ch = 'A'; (2)char ch = '\u0020'; (3)char ch = 88; (4)char ch = 'ab'; (5)char ch = "A"; 【答案】(4)错,因为关键字char是用于声明字符变量,不可声明字符串变量。 4. 如果int x=1,y=-2,n=10;那么,表达式x+y+(--n)*(x>y&&x>0?(x+1):y)的值是什么类型?结果是多少? 【答案】int型,值为17。 5. 如果int k=1,那么'H'+k的类型是什么?下面语句是否存在差错?如果有,请改正。 (1)int k=1; (2)char ch1,ch2; (3)ch1='H'+k; (4)ch2=98; 【答案】'H'+k的类型为int型。 (3)有错。'H'+k为int型,ch1为char型,将高精度赋给低精度类型时必须实行强制转换。 6. 请指出下面程序在编译时是否会出现错误。如果有,请改正。 public class doubleTointExample { public static void main(String args[ ]) { int a; double b=1,c=2; a=(int)(b+c); System.out.println("a="+a); } }

java基础教程pdf

java基础教程pdf Java的学习,如何从入门到精通,我有六条建议,只要牢牢掌握了这六条,你想不成为大神都难。 第一你需要一个领路人; 第二你需要看书; 第三你需要写代码; 第四你需要写代码; 第五你需要写代码; 第六重要的事情说三遍。 其实想要学好Java并不是很难,我来试着梳理一下一个Java应该系统掌握的东西。 1、入门基础 JAVA语言基础、循环、数组; 了解类和对象; OOP封装、继承、多态; java.util.*包下的常用类讲解; JDK语言包的常用函数; 数据库基础及JDBC; IO流操作,多线程及Socket。 前端基础

HTML基本标签; CSS样式表;JAVASCRIPT; Ajax; jQuery; 状态管理Session和Cookie;动态网页技术; JSP数据交互; JSTL和EL表达式;Servlet、Filter、Listener;分页和文件上传。 主流技术应用 Spring应用 Hibernate应用 Struts2应用 Redis应用 4丶模拟实际项目开发SpringMVC的应用 Redis+Mysql的查询优化设计Nginx的使用 Mysql集群方案

通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于存储,IO,这些有个大概的了解。这时候,千万不要深入了解多线程和socket,谨记谨记。 通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果,那么就深入学习JS、CSS。不大感兴趣的话,就浅尝辄止,并重点学习Servlet、Filter、Listener。重点学习,重点学习,重点学习。重要的话说三遍! 通过第三阶段了解目前Java领域使用率很高的三大框架,了解他们的大概功能,并加以使用。通过使用SSH开发一个简易CRM之类的项目来加强了解,理清楚框架的大致原理。并了解Redis相关的指令及数据结构,应用到CRM里。 通过第四个阶段了解更简单易用的SpringMVC,应用和存储集群相关的概念及实现方案。让自己具备一个设计高可用,可扩展的项目框架视野。这样对于后面继续专研SpringCloud / Dubbo、zookeeper这些RPC相关的框架有很大的好处。 最后,你想自学的话,我提到的这些东西都能搜到对应的资料,无非多踩点坑罢了。但是,看文档or项目永远进步不了。一定要上手敲,想再多也不如动手。 个人还是建议培训班,有不少培训班请到的大神确实很厉害,会给你带来质

Java基础教程

Java基础教程(程序及语法) /************************************************** 这是个最基本的JA V A程序,最基本的JA V A程序必须有一个类 **************************************************/ //最基本的JA V A程序必须有一个类,在这里是clas base01 class base01 { //在JA V A中,程序的入口也为main函数 //main()函数前的限制符顺序必须为public static void,参数必须为String类型的数组//以下写法将不被通过 public void static main(String[] args) { System.out.println("Hello World!"); } } ********************************************************** java源文件的命名规则 在同一个JA V A文件中可以定义多个类,但是只有一个类能定义为public 而且如果一个类被定义为public,这个文件的文件名必须和该public类 的名字相同。 对于本类,文件必须命名为base02 ***********************************************************/ class A { int a; }; class B { int b; }; public class base02 {

public static void main(String[] args) { System.out.println("Hello World!"); } } Java基础教程(程序及语法3) class code01 { public static void main(String[] args) { //JA V A的数据类型。请注意大小写 //一个字节的整型 byte e=3; System.out.println(e); //两个字节的整型 short h=4; System.out.println(h); //四个字节的整型 int f=4; System.out.println(f); //八个字节的整型 long g=5; System.out.println(g); //4个字节的浮点数 float a=11.3f; System.out.println(a); //8个字节的浮点数(更加精确) double b=12.3d; System.out.println(b); //两个字节的单个字符。注意定义字符的时候不能用双引号,只能用单引号char c='s'; String ss="xiongyong"; System.out.println(c); //bool变量,用于判断真假。注意:true和false不能大写。

Java基础入门教程(适合所有初学者)

JVAV基础入门教程 第1章Java语言概述与面向对象思想1 1.1Java语言的发展1 1.1.1Java语言的产生1 1.1.2Java语言的发展1 1.2Java语言的特点2 1.3面向对象与面向过程的差异3 1.3.1面向过程思想回顾4 1.3.2面向对象思想介绍4 1.4面向对象程序设计中的主要概念和特征4 1.4.1主要概念5 1.4.2主要特征5 *1.5Java与C++的差异5 1.6本章小结5 习题5 第2章Java语言开发环境6 2.1JDK6 2.1.1JDK的简介6 2.1.2JDK的构成6 2.1.3JDK的使用6 2.2IDE8 2.2.1IDE简介8 2.2.2JBuilder9 2.2.3Eclipse9 2.2.4相关资源9 2.3Project管理9 2.3.1Project的含义9 2.3.2可行的Project组织模式9 2.3.3主要开发工具的Project目录10 2.4本章小结10 习题10 第1章Java语言概述与面向对象思想 1.1Java语言的发展 1.1.1Java语言的产生 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling 用Java开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。这种浏览器名称为HotJava,并于1995年同Java语言一起,正式

Java基础入门教程(适合所有初学者)

java 入门学习大全 来源:QQ群418355531获取更多资料可加群[java 入门培训-java 入门试学7天] 第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生1 1.1.2 Java语言的发展1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结 5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8

2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式 9 2.3.3 主要开发工具的Project目录10 2.4 本章小结 10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling用Java开发了一个实时

《Java语言程序设计基础教程》习题解答 (1)

第1章 Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPA TH环境变量的说法不正确的是:() A. CLASSPA TH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPA TH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很

javaee基础教程习题答案

JAVAEE基础教程课后部分编程题答案 2-14 public class aa { public static void main(String[] args) { // TODO Auto-generated method stub double x=34.5; double y=68.4; double z=x+y; System.out.println("x+y="+x+"+"+y+"="+z);} } 3-19 (一)从大到小 插入排序法 public class Sort { public static void main(String[] args) { int[] A={30,1,-9,70,25}; for(int i=1;i0;j--){ if(A[j]>A[j-1]){ int temp; temp=A[j-1]; A[j-1]=A[j]; A[j]=temp; } } } System.out.println("利用插入排序方法的结果是:"); for(int i=0;i0;i--){ max=0; for(int j=1;j<=i;j++){ if(A[max]>A[j]) max=j;

相关主题
相关文档
最新文档