版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语法基础
2.1标识符、分隔符和关键字
2.1.1Java标识符与注释
Java语言中,为各种变量、方法和类等起的名字称为标识符。Java语言标识符的组成有一定的规则,如标识符必须以字母、下划线(_)或美元符($)开头,后面可以跟任意数目的字母、数字、下划线(_)或美元符($)。标识符的长度没有限制,标识符可以由编程者自己指定,但是要遵循一定的规则。
Java语言规定标识符命名要符合下列命名规则:
(1)标识符应以字母、下划线、美元符$开头,不能以数字开头;(2)标识符可以由字母、下划线、美元符或数字组合而成。在实际编程时,在命名标识符时,应该使其在一定程度上反映它所表示的变量、常量、类名和对象名的实际意义。(3)Java标识符大小写敏感,长度无限制。(4)系统的关键字(又叫保留字)不能作为标识符。2.1.2Java关键字
Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword);所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;goto和const虽然从未使用,但也作被为Java关键字保留。true、false、null虽用做专门用途,但不是Java关键字。
2.1.3Java分隔符
Java分隔符组成:
分号--“;”、花括号--“{}”、空格--“”Java分隔符作用:Java语句必须以分号作为结束标记Java允许用花括号“{}”将一组语句括起来,形成一个语句块(block)Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。2.1.3Java分隔符Java语句块(block)在程序设计时经常使用,主要用于下列几个方面:(1)在定义类时,类体必须采用语句块形式;(2)在定义方法时,方法体必须采用语句块的形式;(3)在定义循环语句时,循环体可以语句块的形式,采用将0~多条语句集合到一起,作为一个整体进行处理;(4)语句块可以嵌套,嵌套层数无限制,以实现较复杂的功能。2.2常量和变量
2.2.1常量在程序运行过程中,其值不能被改变的量称为常量。Java中常用的常量有不同的类型:布尔型常量、字符型常量、整数型常量、浮点型常量和字符串型常量。布尔型常量包括true和false,分别代表真和假;字符型常量用一对单引号括起来的单个字符表示,如‘a’、‘1’等;整数型常量可以采用八进制、十进制和十六进制表示。八进制的常量用以零开头的数字表示,如011代表十进制的9;十六进制的数用以0x开头的数字表示,如0x11代表十进制的17。
2.2.2变量
程序执行中数值可变的数据称为变量。变量包括变量名和变量值。Java中的变量必须先声明后使用。在使用每一个变量之前,必须清楚地为每一个变量提供一个名字和类型。这个变量的名字必须是一个合法的标识符,对应一定数量的内存存贮单元,其单元数视变量类型而定。变量声明格式数据类型标识符[=确省值]例如:
inti;i=5;
或缩写成
inti=5;使用变量的注意事项变量命名不能重复(不同条件下)Java区分大小写变量必须先定义,再使用只有定义过,才能为其分配相应数量的存储单元一旦定义,变量类型才能确定,才能检查其运算的合法性2.3Java的数据类型
Java语言的数据类型如图2-1所示。
图2-1Java语言的数据类型
Java中定义了四类/八种基本数据类型:(1)逻辑型----boolean;(2)字符型----char;(3)整数型----byte,short,int,long;(4)
浮点数型----float,double。每种数据类型都有其固定的表达数据范围和字段长度,不受操作系统的影响。2.3.1逻辑布尔型
使用关键字boolean来定义逻辑布尔型变量,boolean类型适于逻辑运算,一般用于程序流程控制。boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。通过下面的例子来说明boolean型变量的定义和用法。
booleanb=false; if(b==true){ //dosomething }2.3.2字符型
char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符charc='A';Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示charc1='\u0061';Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义charc2='\n';//代表换行符2.3.3整数型
(1)整数型常量Java语言中的整数型常量分为三种:十进制整数,如123,456,0。八进制整数,以0开头,017代表十进制整数15,011代表十进制整数9。十六进制整数,以0x或0X开头,如0x2E代表十进制整数46,0x123代表十进制整数291。(2)整数型变量Java语言中的整数型变量分为四种:byte,short,int,long。2.3.3整数型Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性:类型占用存储空间表数范围byte1字节
-128~127short2字节
-215~215-1
int4字节
-231~231-1long8字节
-263~263-12.3.4浮点型(实型)
Java浮点类型有固定的表示范围和字段长度,表2-3列出各类型所在内存的字节数和表示范围。
类型占用存储空间表数范围float4字节
-3.403E38~3.403E38double8字节
-1.798E308~1.798E308publicclassDataType
{publicstaticvoidmain(Stringargs[]){ booleanb=true; //声明boolean型变量并赋值 intx,y=99; //声明int型变量
floatf=12.34f; //声明float型变量并赋值
doubled=3.1415; //声明double型变量并赋值
charc; //声明char型变量
c='\u0031'; //为char型变量赋值
x=999; //为int型变量赋值System.out.println("b="+b);
…}}
Java基本数据类型变量声明和赋值
2.3.5引用数据类型
Java语言中除8种基本数据类型以外的数据类型称为引用类型
引用类型数据以对象的形式存在引用类型变量的值是某个对象的句柄,而不是对象本身
声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象
Java引用类型应用举例publicclassTestarray{publicstaticvoidmain(Stringargs[]){ int[]s; s=newint[10]; for(inti=0;i<10;i++){ s[i]=3*i+2; System.out.println(s[i]); }}}2.4运算符、表达式和语句
2.4.1运算符(按照运算符功能分)
算术运算符:+,―,*,/,%,++,――;
如:3+2;a-b;i++;--i;关系运算符:>,<,>=,<=,==,!=;
如:a>3;i==0; n!=-1;布尔逻辑运算符:!,&,|,^,&&,||;如:
b=true; !(b); b&&b;运算符
位运算符:〉〉,〈〈,〉〉〉,—,l,^,~;如:
a=10011101; a<<3=11101000;a>>3=11110011a>>>3=00010011;赋值运算符:=,扩展赋值运算符:+=,―=,*=,/=等;如:i=3; I-=2等效于i=I-2运算符条件运算符:?:;条件运算符?:为三元运算符,它的一般形式:x?y:z其中x为boolean类型表达式。其规则是:先计算x的值,若为true,则整个三元运算的结果为表达式y的值,否则整个运算结果为表达式z的值。例如:
intscore=50;Stringtype=score<60?“不及格”:“及格”;运算符其它运算符:包括分量运算符.,下标运算符[],实例运算符instanceof,内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符()等。Instanceof运算符应用
classInstanceOfDemo{publicstaticvoidmain(Stringargs[]){ InstanceOfDemobob=newInstanceOfDemo(); if(bobinstanceofInstanceOfDemo){System.out.println(“bob是InstanceOfDemo的实例"); }
else{ System.out.println("bob不是InstanceOfDemo的实例!"); }}}Instanceof运算符应用程序的执行结果如图2-9所示。
2.4.2表达式
表达式是符合一定语法规则的运算符和操作数的序列
a 5.0+a (a-b)*c-4 i<30&&i%10!=0表达式的类型和值对表达式中操作数进行运算得到的结果称为表达式的值表达式的值的数据类型即为表达式的类型表达式的运算顺序首先应按照运算符的优先级从高到低的顺序进行优先级相同的运算符按照事先约定的结合方向进行运算符的优先次序表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:优先次序运算符1[].(params)expr++expr--2++expr--expr+expr-expr~!
3new(type)expr
4* / % 5+ - 6>> >>><< 7<><=>=instanceof
8== != 9& 10^ 11| 12&& 13|| 14?: 15=+=-=*=/=%=^= 16&=|=<<=>>=>>>= 运算符的优先次序2.4.3语句和块
●语句语句简单地说等价于自然语言的句子。一个语句组成了一个执行的完整单元。如:weight=123.45;//赋值语句i++;//增量语句System.out.println(weight);//方法调用语句Integera=newInteger(4);//对象创建语句2.4.3语句和块●
块
块是一组处在“{”和“}之间的零条或者多条语句,它可以使用在程序的任何地方。下面的例子给出了两个块,每一个块中包含了一条语句:if(Character.isUpperCase(aChar)){System.out.println("Thecharacter"+aChar+"isuppercase.");}else{System.out.println("Thecharacter"+aChar+"islowercase.");}2.4.4控制流程语句
Java编程语言提供了几个控制流程语句,如表所示。
表2-11Java的控制流程语句语句关键字
循环语句while,do-while,for
判断语句if-else,switch-case
异常处理try-catch-finally,throw
跳转语句break,continue,label:,return2.5条件语句
Java语言中有两种类型的条件语句:if和switch。
if语句的语法格式为:if(表达式){语句块}else{语句块}if语句有如下三种具体形式:
形式1if(boolean类型表达式)语句A功能:当表达式值为真(true)时,执行语句A,否则跳过语句A,流程如图所示。
表达式语句A=F=T例如:intscore=95;if(score>=90){System.out.println("优秀的感觉真好!");}if(score<60){System.out.println(“还要努力呦!”);}if语句有如下三种具体形式:形式2
if(boolean类型表达式)语句Aelse语句B
功能:表达式为true,执行语句A;表达式为false,执行语句B。其流程图如图2-11所示。例如:inttestscore=76;chargrade;
if(testscore>=90){grade=A;}else{grade=F;}if语句有如下三种具体形式:形式3if(boolean类型表达式1)语句1
elseif(表达式2)语句2……elseif(表达式n)语句nelse语句n其流程如图2-13所示。if语句有如下三种具体形式:形式3流程图if语句有如下三种具体形式:形式2
if(boolean类型表达式)语句Aelse语句B
功能:表达式为true,执行语句A;表达式为false,执行语句B。其流程图如图2-11所示。例如:inttestscore=76;chargrade;
if(testscore>=90){grade=A;}else{grade=F;}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';}if语句举例:
else{grade='F';}System.out.println("Grade="+grade);}}使用JCreator编译执行程序运行效果如图2-14所示。2.5.2switch语句
switch语句的使用格式是:switch(表达式){case值1:{语句块1}break;case值2:{语句块2}break;
…case值N:{语句块N}break;[default:缺省语句块]}switch语句举例:
publicclassSwitchDemo{publicstaticvoidmain(String[]args){intmonth=8;switch(month){case1:System.out.println("January");break;case2:System.out.println("February");break;…
if语句举例:case11:System.out.println("November");break;case12:System.out.println("December");break;}}}
这个switch语句计算它的表达式,在这个例子中是计算month的数值,然后计算适当的case语句。使用JCreator编译执行程序运行效果如图2-15所示。
2.6循环语句
:循环语句功能:在循环条件满足的情况下,反复执行特定代码,被反复执行的程序代码称为循环体。循环语句有下面的四个部分组成:(1)初始化部分(init_statement)(2)循环条件部分(test_exp)
(3)循环体部分(body_statement)
(4)迭代部分(alter_statement)
2.6循环语句
:
Java的循环语句共有三种:for循环、while循环和do-while循环.程序流程如图所示。2.6.1for循环
for语句提供了一个简便的方法来进行循环。For语句的语法如下:for(表达式1;表达式2;表达式3)
{语句块}首先计算表达式1,接着执行表达式2,若表达式2的值=true,则执行语句块,接着计算表达式3,再判断表达式2的值。依此重复下去,直到表达式2的值=false。for循环语句应用
publicclassForLoop{
publicstaticvoidmain(Stringargs[]){intresult=0;for(inti=1;i<=10;i++) {result+=i;}System.out.println("result="+result); }}for循环语句应用使用JCreator编译执行程序运行效果如图2-17所示。注意:可以在for循环的初始化语句中声明一个局部变量。这个变量的作用域只是在for语句的块中,它可以用在终止条件语句和增量表达式中。
2.6.2while循环
当条件保持为true的时候,你可以使用while语句持续执行语句块。while语句的通常语法为:
while(表达式){语句块}首先,while语句执行表达式,它将返回一个boolean数(true或者false),如果表达式返回true,while语句执行相应的语句。while语句继续测试表达式并执行块代码直到表达式返回false。While语句用法举例
publicclassWhileLoop{publicstaticvoidmain(Stringargs[]) {longresult=1; inti=1;while(i<=10){result=result*i;i++;} System.out.println("result="+result);}}While语句用法举例该程序通过while循环求从1加到10的阶乘。使用JCreator编译执行程序运行效果如图所示。
2.6.3do-while语句
Java编程语言提供了另外一个语句,它跟while语句相似,即do-while语句。Do-while的语法为:
do{语句块}while(表达式);不象while语句,do-while语句是先执行循环中的语句后再计算表达式的,所以do-while语句块至少被执行一次。do-while语句用法举例
publicclassDoWhileLoop{publicstaticvoidmain(Stringargs[]){longresult=1;inti=1;do{result=result*i;i++;}while(i<=20); System.out.println("result="+result);}}do-while语句用法举例
该程序使用do-while语句求从1加到20的阶乘。使用JCreator编译执行程序运行效果如图所示。
while语句与do…while语句的区别:当第一次执行时,若表达式=0时,则while语句与do…while有所不同,do…while执行一次后面的语句,而while不执行。2.7跳转语句
Java编程语言支持下面的三种跳转语句:l
break语句;l
continue语句;l
return语句。
2.7.1break语句
作用:使流程从当前的语句块内跳转出来,如在switch语句中,使流程跳转出当前的switch语句,继续执行switch语句下面的一个语句,在循环语句中从某个循环体内跳出,接着执行循环语句下面的语句。break语句分为下面两种情况:未带标志形式的break语句和带标志形式的break语句。2.7.1break语句(1)break语句用于终止某个语句块的执行
{…… break;……}
2.7.1break语句(2)break语句出现在多层嵌套语句块中时,可以通过标签指明要终止的是哪一层语句块。
label1:{…… label2: {……label3: {…… breaklabel2; …… } } }Break语句应用举例
publicclassBreakDemo{publicstaticvoidmain(String[]args){inta[]={1,2,3,4,5,6,7,8,9,10};intsearchfor=5;inti=0;booleanfoundIt=false;for(;i<a.length;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能项目策划书
- 2013年6月26日下午广州市公务员面试真题
- 第四章第四节幼儿的同伴关系(教案)-《幼儿心理学》(人教版第二版)
- 四川省公务员面试模拟2
- 七年级思想品德上册知识点归纳
- 简单装修合同范本22篇
- 2024年机械设备的购销合同(1720字)
- 2024年房屋场地租赁合同范本文库
- 2014年06月21日上午内蒙古面试真题
- 2024年农村林业承包的合同模板
- 兽医病理学智慧树知到期末考试答案章节答案2024年浙江农林大学
- 《心系国防 有你有我》国防教育主题班会课件
- 大学生生涯发展展示 (修改版)
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
- 教科版小学科学六年级上学期期中考试检测试卷与答案(共5套)
- 模具设计与制造生涯规划报告
- 大隐静脉消融术手术
- 弘扬科学家精神
- 2024年四川省自然资源投资集团有限责任公司招聘笔试参考题库附带答案详解
- 1.1信息社会及其特征课件高中信息技术粤教版必修2
- 2022智慧健康养老服务与管理专业人才培养调研报告
评论
0/150
提交评论