<p>第2章Java语法基础JAVA</p>
讯享网
内容提要:
・标识符、分隔符和关键字
・常量和变量
・Java的数据类型
・运算符、表达式和语句
-条件语句
-循环语句
■跳转语句
2011年7月8日星期五
2011年7月8日星期五
斗2.1标识符、分隔符和关键字人旷代
■2.1.1Java标识符与注释
Java语言中,为各种变量、方法和类等起的
名字称为标识符。Java语言标识符的组成有一
定的规则,如标识符必须以字母、下划线(_)
或美元符(\()开头,后面可以跟任意数目既</p> <p>字母、数字、下划线(_)或美元符(\))。标
识符的长度没有限制,标识符可以由编程者自
己指定,但是要遵循一定的规则。
2011年7月8日星期五
Java语言规定标识符命名要符合下列命
JAVA
名规则:
(1)标识符应以字母、下划线、美元符\(开头,不能以</p> <p>数字开头;</p> <p>(2)标识符可以由字母、下划线、美元符或数字组合</p> <p>而成。在实际编程时,在命名标识符时,应该使其在</p> <p>一定程度上反映它所表示的变量、常量、类名和对象</p> <p>名的实际意义。</p> <p>(3)Java标识符大小写敏感,长度无限制。</p> <p>(4)系统的关键字(又叫保留字)不能作为标识符。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.L2Java关键字</p> <p>Java中一些赋以特定的含义、并用做专门用</p> <p>途的单词称为关键字(keyword);所有Java关</p> <p>键字都是小写的,TURE、FALSE、NULL等都不是</p> <p>Java关键字;goto和const虽然从未使用,但也</p> <p>作被为Java关键字保留。true、false、null虽</p> <p>用做专门用途,但不是Java关键字。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.L3Java分隔符</p> <p>>Java分隔符组成:</p> <p>分号一“广、花括号一“{}"、空格一“”</p> <p>>Java分隔符作用:</p> <p>-Java语句必须以分号作为结束标记</p> <p>-Java允许用花括号“{}”将一组语句括起</p> <p>来,形成一个语句块(block)</p> <p>-Java程序源代码中各组成部分之间可以插入</p> <p>任意数量的空格,包括换行。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.1.3Java分隔符</p> <p>Java语句块(block)在程序设计时经常使用,主要用于下列</p> <p>几个方面:</p> <p>(1)在定义类时,类体必须采用语句块形式;</p> <p>(2)在定义方法时,方法体必须采用语句块的形式;</p> <p>(3)在定义循环语句时,循环体可以语句块的形式,采用将</p> <p>0~多条语句集合到一起,作为一个整体进行处理;</p> <p>(4)语句块可以嵌套,嵌套层数无限制,以实现较复杂的功</p> <p>台匕</p> <p>2011年7月8日星期五</p> <p>配「〜『JAVA</p> <p>“2.2常量和变量</p> <p>■2.2.1常量</p> <p>在程序运行过程中,其值不能被改变的量称为常量。</p> <p>Java中常用的常量有不同的类型:布尔型常量、字符型</p> <p>常量、整数型常量、浮点型常量和字符串型常量。</p> <p>布尔型常量包括true和false,分别代表真和假;字符</p> <p>型常量用一对单引号括起来的单个字符表示,如匕,</p> <p>’1,等;整数型常量可以采用八进制、十进制和十六进制</p> <p>表示。八进制的常量用以零开头的数字表示,如011代</p> <p>表十进制的9;十六进制的数用以Ox开头的数字表示,</p> <p>如0x11代表十进制的17。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.2・2变量</p> <p>■程序执行中数值可变的数据称为变量。变量包</p> <p>括变量名和变量值。</p> <p>■Java中的变量必须先声明后使用。在使用每一</p> <p>个变量之前,必须清楚地为每一个变量提供一</p> <p>个名字和类型。这个变量的名字必须是一个合</p> <p>法的标识符,对应一定数量的内存存贮单元,其</p> <p>单元数视变量类型而定。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>y变量声明格式</p> <p>数据类型标识符匚确省值]</p> <p>例如:</p> <p>inti;</p> <p>i=5;</p> <p>或缩写成</p> <p>inti=5;</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>使用变量的注意事项</p> <p>-变量命名不能重复(不同条件下)</p> <p>■Java区分大小写</p> <p>■变量必须先定义,再使用</p> <p>-只有定义过,才能为其分配相应数量的存储单元</p> <p>-一旦定义,变量类型才能确定,才能检查其运算的</p> <p>合法性</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.3Java的数据类型</p> <p>Java语言的数据类型如图2T所示。</p> <p>.-整数J^!(bytgshort,int,long)</p> <p>「数值型</p> <p>浮点^S!(float,double)</p> <p>基本数据翘4字符型(char)</p> <p>L布尔型(boolean)</p> <p>「类(class)</p> <p>I引用数据翘</p> <p>I接口(interfec6</p> <p>【数组</p> <p>图2-1Java语言的数据类型</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>Javat定义了四类/八种基本数据类型:</p> <p>(1)逻辑型——boolean;</p> <p>(2)字符型—char;</p> <p>(3)整数型——byte,short,int?long;</p> <p>(4)浮点数型——float,doubleo</p> <p>每种数据类型都有其固定的表达数据范围和字段</p> <p>长度,不受操作系统的影响。</p> <p>2011年7月8日星期五</p> <p>JBSI</p> <p>JAVA</p> <p>2.3」逻辑布尔型</p> <p>使用关键字boolean来定义逻辑布尔型变量,boolean</p> <p>类型适于逻辑运算,一般用于程序流程控制。boolean</p> <p>类型数据只允许取值true或false,不可以0或非0的整</p> <p>数替代true和false。通过下面的例子来说明boolean</p> <p>型变量的定义和用法。</p> <p>booleanb=false;</p> <p>if(b==true){</p> <p>//dosomething</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>[23,2字符型</p> <p>町har型数据用来表示通常意义上“字符”</p> <p>-字符常量是用单引号括起来的单个字符</p> <p>■charc='A';</p> <p>■Java字符采用Unicode编码,每个字符占两个字</p> <p>节,因而可用十六进制编码形式表示</p> <p>■charcl="a';</p> <p>・Java语言中还允许使用转义字符、来将其后的字</p> <p>符转变为其它的含义</p> <p>■charc2=' T;〃代表换行符</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>y2.3.3整数型</p> <p>(1)整数型常量</p> <p>Java语言中的整数型常量分为三种:</p> <p>>十进制整数,如123,456,0o</p> <p>>八进制整数,以0开头,017代表十进制整数15,</p> <p>011代表十进制整数9。</p> <p>>十六进制整数,以Ox或0X开头,如0x2E代表</p> <p>十进制整数46,0x123代表十进制整数291。</p> <p>(2)整数型变量</p> <p>Java语言中的整数型变量分为四种:byte,</p> <p>short,int,long。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.3.3整数型</p> <p>■Java各整数类型有固定的表数范围和字段长度,</p> <p>而不受具体操作系统的影响,以保证Java程序</p> <p>的可移植性:</p> <p>类型占用存储空间表数范围</p> <p>byte1字节-128~127</p> <p>short2字节-215~215-1</p> <p>int4字节-231ru231-1</p> <p>long8字节-263~263-1</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.34浮点型(实型)</p> <p>Java浮点类型有固定的表示范围和字段长度,表</p> <p>2-3列出各类型所在内存的字节数和表示范围。</p> <p>类型占用存储空间表数范围</p> <p>float4字节-3.403E38-3.403E38</p> <p>double8小-1.798E308-1.798E308</p> <p>2011年7月8日星期五^</p> <p>&Java基本数据类型变量声明和赋需“</p> <p>publicclassDataType{</p> <p>publicstaticvoidmain(Stringargs[]){</p> <p>booleanb=true;〃声由boolean型变量并赋值</p> <p>intx,尸99;〃声明int型变量</p> <p>floatf=12.34f;//声明float型变量并赋值</p> <p>doubled=3.1415;〃声明double型变量并赋值</p> <p>charc;〃声明char型变量</p> <p>c=fk;〃为char型变量赋值</p> <p>x=999;〃为int型变量赋值</p> <p>System.out.println(nb=n+b);</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.3.5引用数据类型</p> <p>・Java语言中除8种基本数据类型以外的数据类</p> <p>型称为引用类型</p> <p>・引用类型数据以对象的形式存在</p> <p>-引用类型变量的值是某个对象的句柄,而不</p> <p>是对象本身</p> <p>-声明引用类型变量时,系统只为该变量分配</p> <p>引用空间,并未创建一个具体的对象</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>&Java引用类型应用举例</p> <p>publicclassTestarray{</p> <p>publicstaticvoidmain(Stringargs[]){</p> <p>int[]s;</p> <p>s=newint[10];</p> <p>for(inti=0;i<10;i++){</p> <p>s[i]=3*i+2;</p> <p>System.out.println(s[i]);</p> <p>}}}</p> <p>2011年7月8日星期五</p> <p>、2.4运算符、表达式和语句JAW</p> <p>瀛」运算符(按照运算符功能分)</p> <p>1.算术运算符:+,—,*,/,%,++,——;</p> <p>如:3+2;a-b;i++;-i;</p> <p>2.关系运算符:〉,〈,〉二,〈二,==,!=;</p> <p>如:a>3;i==0;n!=-l;</p> <p>3.布尔逻辑运算符:!,&,|,,&&,||;</p> <p>如:b=true;!(b);b&&b;</p> <p>2011年7月8日星期五</p> <p>&运算符JAVA</p> <p>4.位运算符:〉〉,〈〈,〉〉〉,一」「;</p> <p>如:a=;a«3=;</p> <p>a»3=a»>3=00010011;</p> <p>5.赋值运算符:二,扩展赋值运算符:+=,—</p> <p>*二,/二等;</p> <p>如:1=3;1・=2等效于i=I・2</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>6.条件运算符:?:;</p> <p>条件运算符?:为三元运算符,它的一般形式:</p> <p>x?y:z</p> <p>其中x为boolean类型表达式。其规则是:先计算x的值,</p> <p>若为true,则整个三元运算的结果为表达式y的值,否则</p> <p>整个运算结果为表达式z的值。例如:</p> <p>intscore=50;</p> <p>Stringtype=score<60?"不及格":"及格”;</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>7.其它运算符:包括分量运算符.,下标运算符口,</p> <p>实例运算符instanceof,内存分配运算符new、</p> <p>强制类型转换运算符(类型)、方法调用运算符</p> <p>()等。</p> <p>2011年7月8日星期五</p> <p>义Instanceof运算符应用</p> <p>重-----------------------</p> <p>■classInstanceOfDemo{</p> <p>■publicstaticvoidmain(Stringargs[]){</p> <p>■InstanceOfDemobob=newInstanceOfDemo();</p> <p>■if(bobinstanceofInstanceOfDemo){</p> <p>■System.out.println("bob是InstanceOfDemo的实例");</p> <p>■)</p> <p>■else{</p> <p>■System.out.println("bob不是InstanceOfDemo的实例!”);</p> <p>■)</p> <p>■)</p> <p>■)</p> <p>2011年7月8日星期五</p> <p>&instance"运算符应用…</p> <p>程序的执行结果如图2-9所示。</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>2.4.2表达式</p> <p>达式是符合一定语法规则的运算符和操作数的序列</p> <p>a</p> <p>5.0+a</p> <p>(a-b)*c-4</p> <p>i<30&&i%10!=0</p> <p>・表达式的类型和值</p> <p>-对表达式中操作数进行运算得到的结果称为表达式的值</p> <p>-表达式的值的数据类型即为表达式的类型</p> <p>・表达式的运算顺序</p> <p>-首先应按照运算符的优先级从高到低的顺序进行</p> <p>-优先级相同的运算符按照事先约定的结合方向进行</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>4运算符的优先次序</p> <p>表达式的运算按照运算符的优先顺序从高到低</p> <p>进行,同级运算符从左到右进行:</p> <p>优先次序运算符</p> <p>1[].(params)expr++expr-</p> <p>2++expr--expr+expr-expr~!</p> <p>3new(type)expr</p> <p>4*/%</p> <p>5+—</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>运算符的优先次序</p> <p>—"</p> <p>»»>«</p> <p>7<><=>=instanceof</p> <p>8——!—</p> <p>9&</p> <p>10</p> <p>111</p> <p>12&&</p> <p>13II</p> <p>149・-♦</p> <p>15=+=-=*=/=%==</p> <p>16&==<<=>>=>>>=</p> <p>2011年7月8日星期五</p> <p>,2.4.3语句和块JAVA</p> <p>・语句</p> <p>语句简单地说等价于自然语言的句子。一个语句组成</p> <p>了一个执行的完整单元。如:</p> <p>weight=123.45;〃赋值语句</p> <p>i++;〃增量语句</p> <p>System.out.println(weight);〃方法调用语句</p> <p>Integera=newInteger(4);〃对象创建语句</p> <p>2011年7月8日星期五</p> <p>,2.4.3语句和块JAVA</p> <p>•块</p> <p>块是一组处在和"}之间的零条或者多条语句,</p> <p>它可以使用在程序的任何地方。下面的例子给出了两个块,</p> <p>每一个块中包含了一条语句:</p> <p>if(Character.isUpperCase(aChar))</p> <p>{System.out.println("Thecharacter"+aChar+"isuppercase.");}</p> <p>else</p> <p>{System.out.println("Thecharacter"+aChar+"islowercase.");}</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>、2.4.4控制流程语句</p> <p>Java编程语言提供了几个控制流程语句,如表所示。</p> <p>表2-HJava的控制流程语句</p> <p>语句关键字</p> <p>循环语句while,do-while,fbr</p> <p>判断语句if-else,switch-case</p> <p>异常处理try-catch-finally,throw</p> <p>跳转语句break,continue,label:,return</p> <p>2011年7月8日星期五</p> <p>JAVA</p> <p>\)2.5条件语句
Java语言中有两种类型的条件语句:if和
switcho
if语句的语法格式为:
if(表达式)
{语句块}
else
{语句块}
2011年7月8日星期五
JAVA
if语句有如下三种具体形式:
形式1if(boolean类型表达式)语句A
功能:当表达式值为真(true)时,执行语句A,否则跳过语句
A,流程如图所示。
例如:
intscore=95;
if(score>=90)
{System.out.println(“优秀的感觉真好!”);}
if(score<60)
{System.out.printing还要努力呦!”);}
2011年7月8日星期五
JAVA
if语句有如下三种具体形式:
形式2if(boolean类型表达式)语句Aelse语句B
功能:表达式为true,执行语句A;表达式为false,执行语
句Bo其流程图如图2-11所示。
例如:
inttestscore=76;chargrade;
if(testscore>=90)
{grade=A;}
else{grade=F;}
2011年7月8日星期五
JAVA
*if语句有如下三种具体形式:
形式3if(boolean类型表达式1)语句1
elseif(表达式2)语句2
••••••
elseif(表达式n)语句n
else语句n
其流程如图2・13所示。
2011年7月8日星期五
JAVA
if语句有如下三种具体形式:
形式3流程图
2011年7月8日星期五
JAVA
if语句有如下三种具体形式:
形式2if(boolean类型表达式)语句Aelse语句B
功能:表达式为true,执行语句A;表达式为false,执行语
句Bo其流程图如图2-11所示。
例如:
inttestscore=76;chargrade;
if(testscore>=90)
{grade=A;}
else{grade=F;}
2011年7月8日星期五
JAVA
]if语句举例:
publicclassIfElse{
publicstaticvoidmain(String[]args){
inttestscore=76;
chargrade;
if(testscore>=90){grade=‘A’;}
elseif(testscore>=80){grade=‘B’;}
elseif(testscore>=70){grade=‘C’;}
elseif(testscore>=60){grade=’D’;}
2011年7月8日星期五
JAVA
■if语句举例:
else{grade=‘F’;}
System.out.println(nGrade=”+grade);
})
使用JCreator编译执行程序运行效果如图2・14所示。
2011年7月8日星期五
JAVA
2.5.2switch语句
switch语句的使用格式是:
switch(表达式)
{case值1:{语句块1}
break;
case值2:{语句块2}
break;
case值N:{语句块N}
break;
[default:缺省语句块]
2011年7月8日星期五
JAVA
switch语句举例:
publicclassSwitchDemo{
publicstaticvoidmain(String[]args)
{intmonth=8;
switch(month)
case1:System.out.println(nJanuary”);break;
case2:System.out.println(nFebruaryn);break;
2011年7月8日星期五
JAVA
j|if语句举例:
case11:System.out.println(nNovembern);break;
case12:System.out.println(nDecembern);break;
}}}
这个switch语句计算它的表达式,在这个例子中
是计算month的数值,然后计算适当的case语句。使
用JCreator编译执行程序运行效果如图2-15所示。
2011年7月8日星期五
JAVA
2.6循环语句
循环语句功能:在循环条件满足的情况下,反复执行特
定代码,被反复执行的程序代码称为循环体。
循环语句有下面的四个部分组成:
(1)初始化部分(init_statement)
(2)循环条件部分(testexp)
(3)循环体部分(body_statement)
(4)迭代部分(alterstatement)
2011年7月8日星期五
JAVA
2.6循环语句:
Java的循环语句共有三种:for循环、while
循环和do-while循环.程序流程如图所示。
表达式1
循环体
循
体
坏条件表达或二A
循环体
二丁假
表达式3
(a)for语句(b)while语句©do-while语句
2011年7月8日星期五
JAVA
2.6.1for循环
for造句提供了一个简便的方法来进行循
环。For语句的语法如下:
for(表达式1;表达式2;表达式3)
语句块
首先计算表达式1,接着执行表达式2,若表
达式2的值=true,则执行语句块,接着计算表
达式3,再判断表达式2的值。依此重复下去,
直到表迂式2的值=£己尿o
2011年7月8日星期五
JAVA
for循环语句应下
publicclassForLoop
{publicstaticvoidmain(Stringargs[])
{intresult=0;
for(inti=l;i<=10;i++)
{result+=i;}
System.out.println(nresult=n+result);
2011年7月8日星期五
JAVA
for循环语句应下
使用JCreator编译执行程序运行效果如图2-
17所不。
注意:可以在for循环的初始化语句中声明一个局部变
量。这个变量的作用域只是在for语句的块中,它可以
用在终止条件语句和增量表达式中。
2011年7月8日星期五
JAVA
2.6.2while循环
当条件保持为true的时候,你可以使用while语句持续执
行语句块。while语句的通常语法为:
while(表达式)
语句块
首先,while语句执行表达式,它将返回一个boolean数
(true或者false),如果表达式返回true,while语为执行
相应的语句。while语句继续测试表达式并执行块代码直
氧表达式返向falseo
2011年7月8日星期五
JAVA
।While语句用法举例
publicclassWhileLoop
{publicstaticvoidmain(Stringargs[])
{longresult=1;
inti=1;
while(i<=10)
{result=result*i;
i++;}
System.out.println(nresult=n+result);}}
2011年7月8日星期五
JAVA
Whi1e语句用法举例
该程序通过while循环求从1加到10的阶乘。使
用JCreator编译执行程序运行效果如图所示。
2011年7月8日星期五
JAVA
[2.6.3do-while语句
Java编程语言提供了另外一个语句,它总艮while语
句相似,BPdo-while语句。
Do-while的语法为:
do{
语句块
while(表达式);
不象while语句,do-while语句是先执行循环中的
语句后再计算表达式的,所以do-while语句块至少被执
行一次。
2011年7月8日星期五
JAVA
do-whi1e语句用法举例
publicclassDoWhileLoop
{publicstaticvoidmain(Stringargs[])
{longresult=1;
inti=1;
do{result=result*i;
i++;}
while(i<=20);
System.out.println(nresult=“+result);
})
2011年7月8日星期五
JAVA
do-whi1e语句用法举例
该程序使用do・while语句求从1加到20的阶乘。使
用JCreator编译执行程序运行效果如图所示。
while语句与do…while语句的区别:当第一次执行时,若
表达式二0时,则while语句与do…while有所不同,do…
while执行一次后面的语句,而while不执行。
2011年7月8日星期五
JAVA
2.7跳转语句
Java编程语言支持下面的三

种跳转语句:
•break语句;
•continue语句;
•return语句。
2011年7月8日星期五
JAVA
2.7.1break语句
作用:使流程从当前的语句块内跳转出米,
如茬switch语句中,便流程跳转出当前的
switch语句,继续执行switch语句下面的一
个语句,在循环语句中从某个循环体内跳出
,接着执行循环语句下面的语句。
break语句分为下面两种情况:未带标
志形式的break语句和带标志膨式的break语
句。
2011年7月8日星期五
JAVA
2.7.1break语句
(1)break语句用于终止某个语句
块的执行
break;
2011年7月8日星期五
JAVA
.2.7.1break语句
(2)break语句出现在多层嵌套语句块中时,可以通过标
签指明要终止的是哪一层语句块。
label1:
label!:
label3:
breaklabel!;
2011年7月8日星期五
JAVA
Breaki举例
publicclassBreakDemo
publicstaticvoidmain(String[]args)
{inta[]={1,2,3,4,5,6,7,8,9,10};
intsearchfbr=5;
inti=0;
booleanfbundlt=false;
for(;i<a.length;i++)
{if(a[i]==searchfbr)
{fbundlt=true;
break;
2011年7月8日星期五
JAVA
2.7跳转语句
if(fbundlt){
System.out.println(MFound”+searchfbr+“atindex”+i);}
else(
System.out.println(searchfbr+“notinthearrayn);}
}}
使用JCreator编译执行程序运行效果如图2-10所示。
2011年7月8日星期五
JBSI
2.7.2continue语句
continue语句用于跳过某个循环语句块的一次执行;
continue语句出现在多层嵌套的循环语句体中时,可以
通过标签指明要跳过的是哪一层循环。
下面程序使用continue语句计算0〜10之间的奇数之和。
publicclassContinueTest{
publicstaticvoidmain(Stringargs[])
{intsum=0;
for(inti=0;i<10;i++)
{if(i%2==0)
2011年7月8日星期五
JAVA
2.7.2continue语句
continue;
sum=sum+i;}
System.out.println(”0〜10之间的奇数之和曰+sum);
})
使用JCreator编译执行程序效果如图所示。
2011年7月8日星期五
JAVA
2.7.3return语句
可以使用return语句来退出当前的方法,控制流程返
回到调用方法的下一个语句,继续该程序的执行。这个
return语句宥两种形式:一种是返回一个数值,另,卜一种
没有返回数值。为了返回一个数值,简单地,可以将数值
放置在return关键字后面即可。例如:
return++count;
由return返回的数值类型必须匹配方法声明返回的数值类
型。当方法被声明void,return的使用就木返回一个数宿
2011年7月8日星期五
JAVA
2.7.3return语句
例如:
publicvoidget(Stringname){
if(name==null)
return;
〃语句块
2011年7月8日星期五
本章小结
本
作
序
言
耒
为
计的
础
主
程
设
基
语
怕
,
符
言
隔
的
语
分
符
绍
键
要
识
了
标

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199132.html