比较实用的Java基本语法.docx

上传人:b****0 文档编号:9803830 上传时间:2023-05-21 格式:DOCX 页数:15 大小:23.45KB
下载 相关 举报
比较实用的Java基本语法.docx_第1页
第1页 / 共15页
比较实用的Java基本语法.docx_第2页
第2页 / 共15页
比较实用的Java基本语法.docx_第3页
第3页 / 共15页
比较实用的Java基本语法.docx_第4页
第4页 / 共15页
比较实用的Java基本语法.docx_第5页
第5页 / 共15页
比较实用的Java基本语法.docx_第6页
第6页 / 共15页
比较实用的Java基本语法.docx_第7页
第7页 / 共15页
比较实用的Java基本语法.docx_第8页
第8页 / 共15页
比较实用的Java基本语法.docx_第9页
第9页 / 共15页
比较实用的Java基本语法.docx_第10页
第10页 / 共15页
比较实用的Java基本语法.docx_第11页
第11页 / 共15页
比较实用的Java基本语法.docx_第12页
第12页 / 共15页
比较实用的Java基本语法.docx_第13页
第13页 / 共15页
比较实用的Java基本语法.docx_第14页
第14页 / 共15页
比较实用的Java基本语法.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

比较实用的Java基本语法.docx

《比较实用的Java基本语法.docx》由会员分享,可在线阅读,更多相关《比较实用的Java基本语法.docx(15页珍藏版)》请在冰点文库上搜索。

比较实用的Java基本语法.docx

比较实用的Java基本语法

Java的基本符号(token)

Java的单词符号有五种:

关键字、标识符、常量、分隔符和操作符。

Java的字符集

Java采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见的ASCII码的区别在于:

unicode使用16位二进制而不是8位来表示一个字符。

unicode字符集中增加了许多非拉丁语字符。

标识符

Java标识符必须以字母,数字,美元符号"$",下划线"_"组成,标识符第一个字符不可用数字。

Java语言对字母的大小写是敏感的,在语法中严格区分大小写。

关键字

关键字是为特定目的而保留的保留字,程序员不要将关键字作为自己的标识符。

Java的关键字有:

abstractbooleanbreakbytecasecatchcharclasscontinuedodoubleelseextendsfalse

findfinallyfloatforimplementsimportinstanceofintinterfacelongnativenewnull

packageprivatepublicreturnshortstaticsuperswitchsynchronizedthisthrowtruetryvoidwhile

常量

常量可分为整型常量,浮点数常量,字符常量,字符串常量和布尔常量。

整型常量:

可分为int型和long型两种,缺省为int型,long型数值后加L。

整型常量可用10、8和16进制表示。

如:

123(十进制)052(八进制)0x3c(十六进制)

浮点数常量:

有单精度和双精度之分,缺省为双精度,单精度在数值后加f。

另外,浮点数常量也可用普通计数法和科学计数法来表示。

如:

1.23f1.1E-2

字符常量:

用‘‘括起来的一个字符。

如‘a‘,‘H‘。

使用16位的unicode字符集。

Java语言可使用转义字符‘“‘来标记特殊字符。

如‘“n‘表示换行符。

字符串常量用""包括,如"HelloWorld"。

布尔常量只有两个值,true和false。

分隔符

分隔符起分隔单词符号的作用。

包括分号";"、花括号"{}"和空白符号。

Java的注释

Java的注释有三种形式:

单行注释

如:

//Commentononeline

多行注释

如:

/*Commentonone

  ormorelines*/

文档注释

如:

/**Document

  Comment*/

Java的数据类型和变量

Java的基本数据类型

Java的基本数据类型有8种,见下表:

数据类型类别宽度(位)取值范围

boolean逻辑型1true/false

char文字型16

byte整数类型8-27~27-1

short整数类型16-215~215-1

int整数类型32-231~231-1

long整数类型64-263~263-1

float浮点型32

double浮点型64

Java的变量

Java的变量在使用前必须声明。

如intradios,color;

Java为所有基本数据类型的变量作了预定义(预设置的值)。

类型名booleancharbyteshortintlongfloatdouble

预置值false‘“u0000‘(byte)0(short)000L0.0f0.0

数据类型的转换

Java是一种强类型的语言,在赋值和参数传递时,都要求类型的匹配。

类型转换有三种情况:

自动转换、强制转换和使用类的方法转换。

自动转换:

往往低精度类型到高精度类型能自动转换。

如:

byteb1=10,b2=20;

intb3=b1+b2;

强制转换:

高精度类型到低精度类型必须强制转换。

这时数据可能会丢失部分信息。

如:

charkey=(char)(12+55)//变量key被赋值为unicode值为67的字符‘c‘

方法转换:

Stringstr="123";

inta=Integer.parseInt(str);

使用Integer类的方法parseInt将String转换为对应的整数。

Java编程的习惯约定

为了提高程序的可读性,Sun公司推荐在Java编程时使用以下的习惯约定:

类名(classes):

有一个或若干个名词组成,开头大写,名词间的区分也用大写,其他小写。

如:

classAccountBook

classComplexVariable

接口(Interfaces):

规则同类名。

如:

InterfaceAccount

方法(methods):

由一个或多个动词组成,开头小写,动词间区分用大写,其他小写。

如:

balanceAccount()

变量:

小写字母开头,单词间用大写字母分隔

如:

currentCustomer

常量:

所有字母大写,单词间用下划线区分

如:

MAXIMUM_SIZE

Java的操作符

根据操作对象的个数操作符可分为一元、二元或三元操作符。

根据操作符的功能,又可分为算术、逻辑、关系等操作符。

算术操作符

一元:

+-++--

二元:

+-*/%

值得注意的是++和--操作符,

如:

inta,x=1,y=5;

a=++x;b=y++;

此时a的值为2(先加1,后赋值),b的值为5(先赋值,后加1)。

二元操作符两侧的操作对象数据类型不先自动进行类型转换,再进行操作。

赋值操作符与复合赋值操作符

可将变量=变量op表达式

写成变量op=表达式

如:

x+=20与x=x+20结果一致,但更简洁。

注意:

=与==的不同。

位操作符和移位操作符

位操作符

&(按位与)|(按位或)^(按位异或)

移位操作符

E<

E>>n右移n位,空位用原最高位的位值补足,相当于E/2

E>>>n右移n位,空位补0

关系操作符

关系操作符共六个:

>(大于)>=(大于等于)<(小于)<=(小于等于)!

=(不等于)==(相等)

关系操作符的结果为boolean型数据(true或false)。

注:

==操作符只有在比较双方均完全一致时,其值为true,如比较的是两个对象,即使两个对象的内容相同,结果也为false,

只有这两个对象为同一对象时才为true。

逻辑操作符

逻辑操作符的操作对象和结果均为boolean型,共六个:

(逻辑非)&&(逻辑与)||(逻辑或)

^(逻辑并或)&(逻辑与)|(逻辑或)

按位与‘&‘也可作为逻辑与使用,但未作优化,而‘&&‘操作符是经过优化的。

对‘|‘操作符也类似。

其他操作符

条件操作符E1?

E2:

E3

表达式E1若成立,执行表达式E2,否则执行E3。

逗号操作符

","可用于分隔语句。

如intx,y;

for(x=0,y=0;x<10;x++){...};

操作符的优先级和结合规则

优先级:

一元〉算术〉移位〉关系〉按位〉逻辑〉三元〉(复合)赋值〉逗号

结合规则:

除一元、三元和赋值操作符是自右至左结合外,其他均自左至右结合。

语句的分类

Java语句按是否改变运行的状态可分为执行语句(如表达式语句)和非执行语句(如声明语句)。

任何语句的末尾都以“;”结束。

执行语句按其组成可分三类:

空语句

只有一个语句结束符“;”,无任何内容。

基本语句(单语句)

独立的、完整的不能再分割为更小的可执行单元。

复合语句(块语句)

包含在{}内的一条或若干条语句。

Java的基本语句的结构可分为4类:

(1)顺序结构语句

(2)分支语句(3)循环语句(4)例外处理语句

后三种语句又称为流控制语句,我们将主要介绍分支语句和循环语句,而例外处理语句包括try、catch、finally以及throw语句。

这些语句是Java所特有的。

我们将在后面作专门的介绍。

分支语句

分支语句包括if-else,break,switch,return等语句。

分支语句提供了一种控制机制,使得程序可以跳过一些语句,转去执行特定的语句。

条件语句if-else.

if-else语句根据判定条件的真假来执行两种操作中的一种,其格式为:

 if(boolean-expression)

 statement1;

 else

 statement2;

其中,要注意的有:

布尔表达式boolean-expression是任意一个返回布尔型数据的表达式(这比C、C++的限制要严格)。

每个单一的语句后都必须有分号。

语句statement1,statement2可以是复合语句,这时要用花括号{}。

{}外面不加分号。

else子句是任选的。

若布尔表达式的值为true,则程序执行statement1,否则执行statement2。

if-else语句的一种特殊形式为:

if(expression1){

 statement1

 }elseif(expression2){

 statement2

 }……

 }elseif(expressionN){

 statementN

 }

else子句不能单独作为语句使用,它必须和if配对使用。

else总是与离它最近的if配对。

可以通过使用花括号{}来改变配对关系。

例3.1:

比较两个数的大小,并按从小到大的次序输出。

publicclassCompareTwo{

publicstaticvoidmain(Stringargs[]){

doubled1=23.4;

doubled2=35.1;

if(d2>=d1)

System.out.println(d2+">="+d1);

else

System.out.println(d1+">="+d2);

}

}

例3.2:

判断某一年是否为闰年。

闰年的条件是符合下面二者之一:

①能被4整除,但不能被100整除;②能被400整除。

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=1989; //method1

if((year%4==0&&year%100!

=0)||(year%400==0))

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

year=2000; //method2

booleanleap;

if(year%4!

=0)

leap=false;

elseif(year%100!

=0)

leap=true;

elseif(year%400!

=0)

leap=false;

else

leap=true;

if(leap==true)

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

}

}

该例中,方法1用一个逻辑表达式包含了所有的闰年条件,方法2使用了if-else语句的特殊形式。

多分支语句switch

switch语句是一种多分支选择语句,它可根据switch中表达式的值,来执行多个操作中的一个,它的一般格式如下:

switch(expression){

 casevalue1:

statement1;

     break;

 casevalue2:

statement2;

     break;

 …………

 casevalueN:

statemendN;

     break;

 [default:

 defaultStatement;]

}

表达式expression可以返回任一简单类型的值(如整型、字符型),多分支语句把表达式返回的值与每个case子句中的值(一个常量)相比。

如果匹配成功,则执行该case子句后的语句序列。

default子句是任选的。

当表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句。

如果表达式的值与任一case子句

中的值都不匹配且没有default子句,则程序不做任何操作,直接跳出switch语句。

break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。

switch语句的功能可以用if-else来实现,但在某些情况下,使用switch语句更简炼,且程序的执行效率提高。

例3.3根据考试成绩的等级打印出百分制分数段。

publicclassGradeLevel{

publicstaticvoidmain(Stringargs[]){

System.out.println("“nOutPutis:

");

chargrade=‘C‘; //normaluse

switch(grade){

case‘A‘:

  System.out.println(grade+"is85~100");

break;

case‘B‘:

  System.out.println(grade+"is70~84");

break;

case‘C‘:

  System.out.println(grade+"is60~69");

break;

case‘D‘:

  System.out.println(grade+"is<60");

break;

default:

  System.out.println("inputerror");

}

}

}

break语句

在switch语中,break语句用来终止switch语句的执行。

使程序在switch语句后的第一个语句开始执行。

在Java中,可以为每个代码块加一个括号。

一个代码块通常是用花括号{}括起来的一段代码。

加标号的格式如下:

BlockLabel:

{codeBlock}

break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。

其格式为:

breakBlockLabel;

例如:

a:

{……  //标记代码块a

b:

 {……  //标记代码块b

c:

  {…… //标记代码块c

breaka;

……//willnotbeexecuted

   }

    ……//willnotbeexecuted

  }

    ……//willnotbeexecuted

 }

……//executefromhere

与C、C++不同,Java中没有goto语句来实现任意的跳转,因为goto语句破坏程序的可读性,而且影响编译的优化。

Java用break来实

现goto语句所特有的一些功能。

返回语句return

return语句用于从当前执行的方法中退出,并返回到调用该方法的语句处继续程序的执行。

返回语句有两种格式:

returnexpression

返回一个值给调用该方法的语句,返回值的数据类型必须与方法声明中的返回值类型一致。

可以使用强制类型转换来使类型一致。

return

当方法说明中用void声明返回类型为空时,可以使用这种格式,它不返回任何值。

不带参数的return语句有时可省略。

return语句通常用在一个方法体的最后。

循环语句

 循环语句包括while,do-while,for,continue等语句。

循环语句的作用是反复执行一段代码,直到满足循环终止条件为止,

一个循环一般应包括四部分内容:

初始化部分(initialization):

用来设置循环的一些初始条件,计数器清零等。

循环体部分(body):

这是反复循环的一段代码,可以是单一的一条语句,也可以是复合语句。

迭代部分(iteration):

这是在当前循环结束,下一次循环开始前执行的语句,常常用来使计数器加1或减1。

终止部分(termination):

通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。

下面分别介绍Java中的while语句,do-while语句和for语句。

while语句

while语句的一般格式为:

[初始化]

while(条件表达式E){

语句S; //循环体

}

当条件表达式E的值为true时,循环执行花括号中的语句S。

S中包括迭代部分。

while语句首先计算条件表达式E是否成立,当条件成立(true)时,才去执行循环中的语句。

所以有可能循环体一次也不执行。

do-while语句

do-while语句的一般格式为:

[初始化]

do{

语句S; //循环体

}while(条件表达式E);

do-while语句首先执行循环体,然后再计算终止条件,若结果为true,则循环执行语句S,直到条件表达式E的结果为false。

与while语句不同的是,do-while语句的循环体至少执行一次。

for语句

for语句的一般格式为:

for(初始表达式;条件表达式;迭代表达式){

语句S; //循环体

}

for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。

完成一次循环后,重新判断终止条件。

可以在for语句的初始化部分声明变量,它的作用域为整个for语句。

for语句通常用来执行循环次数确定的情况(如对数组元素进行操作)。

在初始化部分和迭代部分可以使用逗号语句来分隔多个操作。

例如:

for(i=0,j=10;i<j;i++,j--){

……

}

continue语句

continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。

也可以用continue跳转到括号指明的外层循环中,这时的格式为

continueouterLable;

例3.4:

下例分别用while、do-while和for语句实现累计求和。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

System.out.println("“n**whilestatement**");

intn=10,sum=0;  ∥initialization

while(n>0){    ∥termination

 sum+=n;    ∥body

 n--;      ∥iteration

}

System.out.println("sumis"+sum);

System.out.println("“n**do_whilestatement**");

n=0;        ∥initialization

sum=0;

do{

 sum+=n;    ∥body

 n++;      ∥iteration

}while(n<=10);  ∥termination

System.out.println("sumis"+sum);

System.out.println("“n**forstatement**");

sum=0;

for(inti=1;i<=10;i++){

 sum+=i;

}

System.out.println("sumis"+sum);

}

}

可以从中来比较这三种循环语句,从而在不同的场合选择合适的语句。

数组

数组是有序数据的集合,数组中的每个元素具有相同的类型。

数组名和下标可唯一地确定数组中的元素。

数组可分为一维数组和多维数组。

一维数组

声明方式:

typearrayName[];

或type[]arrayName;

type可以是Java中任意的数据类型,arrayName为数组名。

如:

intintArray[];

声明了一个名为intArray的整型数组,数组中的每个元素为int型数据。

Java在数组的声明中并不为数组元素分配内存,因此[]中不用指出数组中元素个数,即数组长度。

在访问数组的任何元素之前,我们必须为它分配内存空间,这可用new操作符,其格式如下:

arrayName=newtype[arraySize];

其中,arraySize指明数组的长度。

如:

intArray=newint;为该数组分配了3个int型整数所需的内存空间。

通常,这两部分可以合在一起,格式如下:

typearrayName[]=newtype[arraySize];

如:

intintArray[]=newint;

用new操作符为数组分配内存空间后,就可以引用数组中的每一个元素。

数组元素的引用方式为:

arrayName[index]

其中:

index为数组下标,它可以为整型常数或表达式。

如a,b(i为整型),c[6*I]等。

下标从0开始,一直到数组的长度减1。

对于上面例子中的intArray数组来说,它有3个元素,分别为:

intArray[0],intArray[1],intArray。

(注意:

没有intArray。

另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。

对于每个数组都有一个属性length指明它的长度。

例如:

intArray.length指明数组intArray的长度。

数组的初始化

对数组元素可以按照上述的例子进行赋值。

也可以在定义数组的同时进行初始化。

如:

inta[]={1,2,3,4,5};

用逗号(,)分隔数组的各个元素,系统自动为数组分配一定的内存空间。

例3.5:

数组的使用:

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

inti;

inta[]=newint;

for(i=0;i<5;i++)

a=i;

for(i=a.l

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

当前位置:首页 > 小学教育 > 语文

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

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