JAVA基础知识Word格式文档下载.docx
- 文档编号:20975141
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:48
- 大小:197.34KB
JAVA基础知识Word格式文档下载.docx
《JAVA基础知识Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA基础知识Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
char
class
const
continue
default
do
double
else
extends
final
finally
float
For
goto
If
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
Java的可移植性意味着可一次性编写和编译程序,然后在许多不同的处理器和操作系统上运行。
可移植性对于Internet应用程序来说很重要,因为经常从服务器上将第3章中演示的名为applet的Java程序下载到客户端系统来执行。
下载的代码必须在不需要重新编译的情况下即可在各种计算平台上运行。
如果要访问WorldWideWeb,虽然可能没有注意,但是肯定已经下载并执行了JavaApplet。
使用字节码和解释程序(interpreter)可以获得Java的可移植性。
编译Java程序时,会产生字节码。
随后Java字节码就会在专门为各种计算平台设计的解释程序的控制下执行。
此解释程序称为Java虚拟机(JavaVirtualMachine,JVM)。
字节码和JVM组合意味着在不知道它将使用哪种计算平台的情况下即可编写Java程序。
例如,可以在MicrosoftWindows系统上编写程序,但是随后应该让该程序在使用UNIX操作系统的Sun工作站上执行。
图2-1显示如何产生Java字节码。
编写的程序称为源文件,而且文件名带有像HelloWorldWide.java中的java扩展名。
编译源文件时,会产生字节码文件,字节码文件名带有像HelloWorldWide.class中的class扩展名。
字节码文件由JVM来执行。
如果您的计算机上安装有Java开发工具包(JavaDevelopmentKit,JDK),则可从命令行来编译Java源代码文件。
JDK由Java编译器、预先编写的数百个类和JVM组成。
可以从SunWeb站点上免费下载JDK的最新版本,网址为:
。
您还可以使用几种优秀的集成开发环境(IntegratedDevelopmentEnvironments,IDE)中的一种环境来开发使用Java的OO软件。
这些IDE通过提供可与JDK交互作用的成熟编辑器来改进开发效率。
编辑器可以提供各种工具,包括色彩编码以指示Java程序的各部分。
另外,还提供有功能强大的调试和图形开发工具。
表2-2列出几家JavaIDE供应商,他们提供产品以及可以在Web上找到有关这些产品的信息的位置。
您在本书中看到的所有Java示例都是使用RealJ编写并测试的。
第3章详细演示如何使用SunMicrosystem的Forte。
JVM
HellowWorldWideWeb.class
字节码文件
Java源代码
HellowWorldWideWeb.java
字节码编译器
图2-1编译Java
表2-2集成开发环境软件
供应商
产品
URL
Allaire
Kawa
Borland
Jbulider
HeliosSoftware
TextPad
IBM
VisualAge
Oracle
JDeveloper
Realj
www.realj.ocm
SunMicrosystems
Forte
Symantec
VisualCafé
2.2构建Java类
编程惯例是通过编写代码以显示消息“HelloWorld”来开始了解一种新语言。
因为Java是面向对象的语言,因此各源代码文件实际上都可以定义类。
对于您的第一个Java类,可以继续使用此惯例,但是应将消息扩充为“HelloWorldWideWeb”。
在第一个示例中,可以命名类HelloWorldWideWeb并将代码存储在名为HelloWorldWideWeb.java的文件中。
程序清单2-1显示HelloWorldWideWeb.java列表。
看一下程序清单2-1中的类列表且用以下代码来显示。
第一行称为类头,因为它描述包含在源代码文件中的类。
程序清单2-1HelloWorldWideWeb.java列表
PublicclassHelloWorldWindeWeb
{
//thisclasshasonemethodnamedmain
publicstaticvoidmain(String[]args)
System.out.println("
HelloWorkdWideWeb"
);
}
该
程序输出如下:
HollWorldWideWeb
关键字public表示该类是可公共访问的,意味着每个人都可以使用它。
关键字class表示这行代码是类头,HelloWorldWideWeb是类名,也是标识符。
Java标识符是类名、方法名或变量Java中标识符的规则很简单。
●它们可以为所选择的任意长度。
●它们可以包括空格之外的任何字符。
●它们必须以字母表中的字母、美元符号($)或下划线字符(_)作为开头。
Java使用打开花括号({}和关闭花括号())来描绘代码块。
Java类中的所有代码被封装为一个代码快,该代码块本身可以包含其他块。
在程序清单2-1显示的代码中,代码块以第一个打开的花括号开始,并以最后一个关闭的花括号结束,这显示在下面的代码中:
//thisclasshasonemethodnamedmain
publicstaticvoidmain(String[]args)
{
System.out.printIn("
HelloWorldWideWeb"
}
Java使用代码块来组织语句。
稍后您将看到Java如何将代码块用于方法、循环和if语句。
注意HelloWorldWideWeb.java代码具有一组辅助的打开和关闭花括号,这组花括号用来定义第一个代码块中的代码块。
方法的第二个代码块将在后面的段落中进行介绍。
Java区分大小写。
例如,Java区分public和Public以及class和Class(在这2个案例中,小写版本是正确的关键字)。
如果已经用不区分大小写的语言编写了代码,那么在输入Java代码时一定要细心。
另外,该编译器不要求缩排代码,但是好的编程设计习惯主张缩排代码,如本文中的示例所示。
该编译器还允许将一个语句扩充到多行上——不需要连行符(注意不能在字符串字面值——双引号中的一个值的中间中断一行。
要这样做,必须使用下一章中讲述的连接运算符)。
在HelloWorldWideWeb代码中,注释行紧跟在类头和打开的花括号的后面。
可使用注释行向编译器忽略的代码中添加解释。
Java注释由一个双正斜杠//开始,而且它自己可以占据一行,也可以用在某行代码的结尾。
Java具有2个其他格式的注释语句。
第一个称为多行注释,该注释由/*开始,由*/结束。
第二个称为文档注释,也可以扩充到多行上。
不过,它由/**开始,由*/结束。
在本文中,许多Java编辑器都将Java注释显示为绿色。
通常在每一个源代码的开头都有注释行,以便为该类提供内部文档。
有时候就像在HelloWorldWideWeb中一样,也可以在方法的开头编写注释,如下面的代码中所示:
类中的Java代码通常由变量定义和一个或多个方法组成。
HelloWorldWideWeb示例没有变量,但是它有一个名为main的方法。
回想一下,调用方法是为了执行某操作以提供某项服务。
类都有一个名为main的方法,就像HelloWorldWideWeb一样,将类文件加载到内存中之后就会自动调用此方法;
main方法是执行的对象。
这意味着将HelloWorldWideWeb.class文件加载到内存中之后,main方法就开始运行。
方法由方法头开始,方法头类似于先前显示的类头。
下面的代码由一个方法头开始。
publicstaticvoidmain(String[]args)
编写方法头是为了标识该方法并描述它的某些特征。
注意,在此头中public、static和void是关键字。
这些关键字和该方法头的语法将在第3章和第2部分中介绍。
目前需要知道public意味着任何其他程序均可调用此方法,该方法具有公有的可访问性;
Static意味着此方法与实例无关;
void意味着该方法不会返回值。
此main方法包含一个单一语句,执行此语句即可显示您的消息。
System.out.printIn("
此语句与您在Java中看到的许多语句一样,也会调用另一个方法执行显示消息的任务。
System.out是一个对象,它可以提供完成各种任务的方法。
其中的一个方法printIn会显示传递给它的文本。
在此示例中,会将包含在圆括号中的称为参数的信息发送给printIn方法,该方法随后会显示它。
由于该参数包含在引号之间("
),所以Java会将它识别为一个字符串字面值。
字面值是指调用的在一个语句中定义的某个值。
该参数带有一个分号,表明该语句结束。
所有的Java语句均以分号结尾。
实用练习1
(1)HelloWorldWideWeb.java中包含的所有Java示例均可从上下载。
(2)在系统上创建一个名为Chapter2Exercise1的文件夹并将HelloWorldWideWeb.java复制到此文件夹中。
(3)使用教师推荐的软件编译并运行HelloWorldWideWeb.java。
(4)对HelloWorldWideWeb.java代码进行修改,以便将您的姓名显示在第一行上,将您的课程名称和所在的班级显示在第2行上。
2.3使用Java变量和数据类型
可声明一个变量来包含数据。
变量是可以包含数据的内存位置的名称。
例如,可以编写下面的语句同时添加2个值。
a=b+c
在此示例中,a、b和c都是变量。
它们是包含数据内存位置的名称。
例如,如果变量b包含数字2,c包含数字4,随后执行了此语句之后,a就会包含数字6。
图2-2显示执行了该语句之后的这3个变量。
变量c
6
4
2
内存
变量a
变量b
图2-2包含数据的变量
所有的变量均有数据类型、名称和值。
其中的每一特征均按照下面的列表进行定义:
●数据类型。
数据类型指定变量可以包含的数据的类型。
与某些语言不同,Java的数据类型很特殊。
例如,不能将包含小数点的数字存储到只存储整数值的变量中。
下一节将介绍特定的数据类型。
●名称。
变量名是由编程人员创建的、用来引用该变量的标识符。
●值。
每个变量均引用包含数据的一个内存位置。
可以指定此值。
如果您不为该变量赋值,那么Java就会将默认值赋给它。
数字变量初始化为零,字符变量初始化为null,布尔变量初始化为false。
null是表示什么也没有的一个值。
2.3.1声明和初始化变量
声明一个变量之前,必须指定该变量将使用的数据类型。
Java具有8个原语数据类型,这些数据类型列在表2-3中。
为了将它们与更加复杂的数据类型(如类名)区分开来,将这些数据类型称为原语数据类型,第3章将介绍更加复杂的数据类型。
表2-3Java原语数据类型
分类
类型
值范围
大小
不带小数位的数字
1.int
+或–2.1万亿
4个字节
2.short
+或–32,000
5个字节
3.long
+或–9E18
6个字节
4.byte
+或–127
7个字节
带小数位的数字
5.double
+或–1.79E308
8个字节,15个小数位
6.float
+或–3.4E38
4个字节,7个小数位
其他
7.boolean
true或false
8.char
任意字符
2个字节
可使用前4个数据类型来包含不带小数的数字数据(int、short、long和byte)。
使用接下来的2个数据类型来包含带有小数的数字数据(double和float)。
原语数据类型boolean只包含2个可能值中的一个:
true或false。
许多Java编辑器将这些值显示为蓝色;
不过,从技术上讲布尔值是常量而不是关键字。
对包含单一字符文本的变量使用原语数据类型char。
要显示具有一个以上字符的文本,请使用String类,在后面的章节和第3章中将进行研究。
下面的示例重点介绍char、int、double和boolean数据类型及其用法。
要声明某个Java变量,可先编写数据类型,再编写要使用的名称。
记住每个Java语句均以一个分号结束。
charc;
inti;
doubled;
Booleanb;
接下来可以添加代码,以初始化变量,同时为每个变量赋值。
下面的语句将字符值A赋给变量c,将整数值1赋给i,将值2.5赋给d,将值true赋给b。
注意字符字面值A使用单引号。
字符串使用双引号。
c='
A'
;
i=1;
d=2.5;
b=true;
也可以编写代码,以便在一个语句中声明并初始化该变量。
要这样做,请使用赋值运算符的等号。
此运算符会将等号右侧的值赋给在左侧命名的变量。
例如,下面的语句声明前面的变量,然后将它们初始化为指出的值:
charc='
inti=1;
doubled=2.5;
Booleanb=true;
Java假定不带有小数的数字字面值(如1)的数据类型为int。
如果要编写带有小数的数字字面值,如1.1,Java就会假定数据类型为double。
这通常不会引起问题,除非您正在尝试初始化带有字面值的float变量。
随后必须在该字面值的后面写一个F,告诉Java它的数据类型值是float而不是double,如下面的示例中所示:
floatf=1.2F;
可以在一个语句中声明具有同一数据类型的多个变量。
例如,如果x、y和z的数据类型将为double,可以像在下面的代码中一样声明它们:
doublex,y,z;
您通常会使用变量保存数据。
先编写数据类型,再为变量选择名称,从而声明变量。
可以在声明变量时就对它进行初始化,或者以后使用赋值语句对它进行初始化。
2.3.2更改数据类型
查看表2-3中列出的原语数据类型,注意6个数字数据类型具有不同的容量。
例如,数据类型为byte的变量可以保存的最大值为127,但是数据类型为int的变量可保存的最大值为2.1万亿。
同样,数据类型为float的变量的容量为3.4E38,但是数据类型为double的变量的容量为1.79E308,后者的容量显然更大。
编写算术表达式(如a=b+c)时,Java会假定该表达式中的所有变量的数据类型均相同。
如果它们不相同,Java就会在内部将容量较小的那些变量的数据类型提升为该表达式中使用的容量较大的变量的数据类型。
在示例a=b+c中,假定变量a和c的数据类型为int,但是声明b的数据类型为double并使用下面的代码对它进行了初始化:
inta;
doubleb=3;
intc=5;
a=b+c;
因为变量b和c具有不同的数据类型,所以Java会在内部将变量c的数据类型int提升为数据类型double,然后完成加法操作。
现在所得的结果的数据类型为double。
不过,在完成加法操作之后,Java会试图将结果赋给变量a,a的数据类型为int。
由于数据类型int的容量要比double的容量小得多,所以编译器会生成一条错误消息,表明可能由于该语句而导致结果不准确。
这意味着所得的值中可能缺少重要数字。
可以使用一种称为强制转换的技术覆盖该编译器的缺点。
要将一个值强制转换为另一种数据类型,可将所需的数据类型括在圆括号内,然后写在包含该值的变量的左侧。
例如,可以将变量b的内容从double强制转换为int,方法是重新编写下面的加法语句:
a=(int)b+c;
强制转换操作(int)会将变量b的内容从数据类型double强制转换为数据类型int,然后完成加操作并将结果赋给变量a。
变量b实际上没有发生变化;
为了进行计算暂时将它的内容给了数据类型int。
注意假设您能承受此操作中出现的任何误差。
Java编译器已经警告过您存在潜在性错误,您已经使用强制转换接受了此潜在性错误。
2.3.3使用常量
声明常量通常很有用,常量是具有不变值的一个变量,它不会改变。
使用常量以包含某些值,如公司名称、税务ID或电话号码,它们不变动或很少变动。
用于声明常量的代码与用于声明变量的代码相同,只是前者在数据类型前面加上关键字final,如下面的代码所示。
但是,必须在声明它们的同一个语句中对常量初始化。
按照约定,应该用大写字母编写常量名称。
如果名称由一个以上的单词组成,还应该用带下划线的字符将单词分开。
例如,要为7%的销售税率声明一个常量,则可编写:
finaldoubleSALES_TAX_RATE=7.5;
此代码声明一个名为SALES_TAX_RATE、数据类型为double的变量,将它初始化为7.5,并使它成为final,表示不能更改该值。
2.3.4使用引用型变量
您已经知道Java变量保存数据。
实际上,Java有两种变量:
原语变量和引用变量。
到目前为止,您已经学习了原语变量。
声明的原语变量的数据类型为8种原语数据类型中的任意一种,而且实际上包含在其中放置的数据。
相比较而言,引用变量将类名用作数据类型并引用或指向该类的一个实例。
引用变量实际上不包含数据;
但是它会引用包含数据的某个类的一个实例。
例如,您可能已经注意到字符串数据(字符集合)不属于8种Java原语数据类型中的任意一种。
但是字符串数据包含在String类(Java提供的一个类)的一个实例中。
在本章的最后一节中将介绍Java数组,数组包含数据且需要使用引用变量来访问。
就像声明原语变量那样声明String引用变量,首先指定数据类型为类名String,然后指定要使用的变量名称。
可以编写下面的代码,从而声明数据类型为String的引用变量s:
Strings;
此代码会创建一个名为s的变量,但是不会将它初始化为一个值。
它也不会指向一个String实例。
实际上,它不会指向任何地方,而且也不会有值。
可以将某个值赋给String变量,就像赋给原语变量值一样。
下面的代码会将字符“HelloAgain”赋给名为s的String变量:
s="
HelloAgain"
也可以声明一个String引用变量并执行一步操作为它赋值,就像为原语变量赋值一样:
Strings="
先前您编写了下面的代码声明了名为c的一个char原语变量:
charc='
然后在本节中您知道了如何编写下面的代码声明一个String引用变量:
注意,变量c是包含字符值‘A’的一个原语变量,而变量s是指向包含“HelloAgain”的String类的一个实例的引用变量。
图2-3以图形的形式来显示此区别。
String实例
Hello
Again
S
C
A
引用变量s
原语变量c
●
图2-3对照原语变量和引用变量
图2-3显示实际上包含‘A’的变量c,但是变量s指向或引用包含“HelloAgain”的String类的一个实例(再次提请您注意,字符字面值使用单引号,但是字符串字面值使用双引号)。
当您想要对多个值进行比较时,原语变量和引用变量之间的区别尤为重要。
另外还可以使用引用变量为引用它们的实例调用方法。
第3章更加详细地研究这些方法并演示如何调用String类中的方法。
2.3.5创建一个Java类来演示变量
用来演示声明变量和常量的Java类列在程序清单2-2中,名为VariableDemo.java。
程序清单2-2VariableDemo.java列表
publicclassVariableDemo
publicstaticvoidmain(String[]args)
//declareva
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 基础知识
![提示](https://static.bdocx.com/images/bang_tan.gif)