Java编程基础知识.docx

上传人:b****8 文档编号:8960141 上传时间:2023-05-16 格式:DOCX 页数:58 大小:182.43KB
下载 相关 举报
Java编程基础知识.docx_第1页
第1页 / 共58页
Java编程基础知识.docx_第2页
第2页 / 共58页
Java编程基础知识.docx_第3页
第3页 / 共58页
Java编程基础知识.docx_第4页
第4页 / 共58页
Java编程基础知识.docx_第5页
第5页 / 共58页
Java编程基础知识.docx_第6页
第6页 / 共58页
Java编程基础知识.docx_第7页
第7页 / 共58页
Java编程基础知识.docx_第8页
第8页 / 共58页
Java编程基础知识.docx_第9页
第9页 / 共58页
Java编程基础知识.docx_第10页
第10页 / 共58页
Java编程基础知识.docx_第11页
第11页 / 共58页
Java编程基础知识.docx_第12页
第12页 / 共58页
Java编程基础知识.docx_第13页
第13页 / 共58页
Java编程基础知识.docx_第14页
第14页 / 共58页
Java编程基础知识.docx_第15页
第15页 / 共58页
Java编程基础知识.docx_第16页
第16页 / 共58页
Java编程基础知识.docx_第17页
第17页 / 共58页
Java编程基础知识.docx_第18页
第18页 / 共58页
Java编程基础知识.docx_第19页
第19页 / 共58页
Java编程基础知识.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java编程基础知识.docx

《Java编程基础知识.docx》由会员分享,可在线阅读,更多相关《Java编程基础知识.docx(58页珍藏版)》请在冰点文库上搜索。

Java编程基础知识.docx

Java编程基础知识

第2章Java编程基础知识

本章主要内容:

●了解Java编程语言

●定义Java类

●声明变量和常量

●编写计算语句

●编写判断语句

●编写循环

●声明和访问数组

第1章介绍面向对象的系统开发、基本的OO概念和OO词汇,使您对OO及其简单的历史有一定的了解。

在本章中,将介绍Java编程语言的基础知识。

本书假定您熟悉某些编程语言的基础知识。

虽然Java要求您了解新语法,但您可能熟悉许多Java语句,如,许多编程语言中类似的if-then-else语法和循环语句while和do。

本章介绍如何声明变量、如何编写计算语句、判断语句和循环以及如何声明和访问数组。

阅读完本章之后,您将了解基本的Java编程语法和识别Java与其他语言之间的区别。

并应能够设计和编写简单的Java类。

本章主要提供有关用Java编程的基础知识,第3章将Java作为面向对象的语言进行研究并提供对Java语法的引用。

2.1介绍Java

Java是一种相对年轻的语言,1995年中首次发布,但是在短期内它已经普及并被广泛地接受。

Java是由SunMicrosystems开发的,它被设计成为一种强大的、具有全面功能的、面向对象的开发语言,在任何计算平台上都很容易学习和使用。

另外,Java还支持在联网环境中开发应用程序。

Java的部分功能来自其大而有用的类库,类库包含有数百种预先写入的类,这些类可提供“完成从简单的数字格式化到建立网络连接和访问关系数据库这样的任务”的方法。

本章和后面的章节将演示提供的一部分类及其方法。

Java是面向对象的,这意味着它可以实现在第1章中所了解到的OO概念:

类、实例、方法、属性、封装、继承性和多态性。

通过采用OO模型,Java鼓励使用可以明显减少调试和维护等琐碎工作的优秀软件设计。

第3章更加详细地讨论Java的OO方面。

Java是简单的,因为它使用的关键字集合比其他大多数语言都要少。

关键字在编程语言中有特殊的含义,编写语句时使用它们。

COBOL和VisualBasic之类的关键字有数百个,但是Java只有48个关键字,这些关键字列在表2-1中。

在许多Java编辑器中,Java的关键字都显示为蓝色,如if和for。

在表2-1中,以粗体显示的关键字在本章中定义。

注意当前不使用const和goto。

表2-1Java关键字

abstract

boolean

break

byte

case

Catch

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

字节码编译器

图2-1编译Java

表2-2集成开发环境软件

供应商

产品

URL

Allaire

Kawa

Borland

Jbulider

HeliosSoftware

TextPad

IBM

VisualAge

Oracle

JDeveloper

Realj

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中一样,也可以在方法的开头编写注释,如下面的代码中所示:

//thisclasshasonemethodnamedmain

类中的Java代码通常由变量定义和一个或多个方法组成。

HelloWorldWideWeb示例没有变量,但是它有一个名为main的方法。

回想一下,调用方法是为了执行某操作以提供某项服务。

类都有一个名为main的方法,就像HelloWorldWideWeb一样,将类文件加载到内存中之后就会自动调用此方法;main方法是执行的对象。

这意味着将HelloWorldWideWeb.class文件加载到内存中之后,main方法就开始运行。

方法由方法头开始,方法头类似于先前显示的类头。

下面的代码由一个方法头开始。

publicstaticvoidmain(String[]args)

编写方法头是为了标识该方法并描述它的某些特征。

注意,在此头中public、static和void是关键字。

这些关键字和该方法头的语法将在第3章和第2部分中介绍。

目前需要知道public意味着任何其他程序均可调用此方法,该方法具有公有的可访问性;Static意味着此方法与实例无关;void意味着该方法不会返回值。

此main方法包含一个单一语句,执行此语句即可显示您的消息。

System.out.printIn("HelloWorldWideWeb");

此语句与您在Java中看到的许多语句一样,也会调用另一个方法执行显示消息的任务。

System.out是一个对象,它可以提供完成各种任务的方法。

其中的一个方法printIn会显示传递给它的文本。

在此示例中,会将包含在圆括号中的称为参数的信息发送给printIn方法,该方法随后会显示它。

由于该参数包含在引号之间("HelloWorldWideWeb"),所以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个变量。

6

4

内存

变量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='A';

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="HelloAgain";

先前您编写了下面的代码声明了名为c的一个char原语变量:

charc='A';

然后在本节中您知道了如何编写下面的代码声明一个String引用变量:

Strings="HelloAgain";

注意,变量c是包含字符值‘A’的一个原语变量,而变量s是指向包含“HelloAgain”的String类的一个实例的引用变量。

图2-3以图形的形式来显示此区别。

图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)

{

//declarevariables&initializethem

charc='A';

inti=1;

doubled=2.5;

booleanb=true;

finaldoubleSALESTAXRATE=7.5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2