Java编程基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java程序设计基础第一节变量和数据类型所有Java变量都具有一个数据类型。变量的类型决定了变量的值以及参与的操作。变量定义的一般形式为:typevariable_list;其中的type是某种有效的Java类型,variable_list是变量列表,它由一个或多个变量名组成。当有多个变量时,各变量之间用逗号隔开,变量名必须是合法的Java标识符。Java语言提供了两种变量类型:基本类型和复合类型。基本类型是那些简单的不能被分解的类型,有时也被称为简单类型。Java基本类型包括数值型、布尔型和字符型三种。参见表1。表1Java的基本变量类型基本变量类型长度说明Byte8bit字节长度整数Short16bit短整数Int32bit一般整数Long64bit长整数Float32bit单精度浮点数Double64bit双精度浮点数Char16bit单字符BooleanN/A布尔值(true或false)复合类型在Java中也叫做引用类型。事实上,复合类型数据的值是指向实际数据的指针。数组、类、接口都是复合类型。Java语言中变量名的约定与一般标识符相同,需要区别于程序语言中的保留字,并在其作用域内与其他变量不重名。为习惯起见,变量名以小写字母开头(类名以大写字母开头)。若要在Java程序中使用变量,首先必须说明该变量。例如:IntiX,iY=0,iZ;StringsBig,sCity=Beijing;第二节运算符和表达式运算符是表达式中常用的特殊符号。算术运算和相等及大小的测定式是常用的表达式例子。由于它们会返回一个值,因此可以将它的结果赋值给一个变量,或者在其他Java语句中测定该值。Java中的运算符包括算术运算符,参见表2关系运算符,参见表3条件运算符,参见表4位运算符,参见表5逻辑运算符,参见表6表2算术运算符运算符用法说明+op1+op2加(或是字符串的连接)-op1-op2减*op1*op2乘/op1/op2除%op1%op2余数++++op;op++递增1----op;op--递减1表3关系运算符运算符用法如果满足以下条件,则返回trueop1op2op1大于op2=op1=op2op1大于等于op2op1op2op1小于op2=op1=op2op1小于等于op2==op1==op2op1等于op2!=op1!=op2op1不等于op2表4条件运算符运算符用法如果满足以下条件,则返回true&&op1&&op2与||op1||op2或!!op1非表5位运算符运算符用法说明op1op2将op1右移op2op1op2将op1左移op2op1op2将op1右移op2(无符号)&op1&op2二进制与|op1|op2二进制或^op1^op2二进制异或~~op二进制非表6赋值运算符运算符用法等价于+=op1+=op2op1=op1+op2-=op1-=op2op1=op1-op2*=op1*=op2op1=op1*op2/=op1/=op2op1=op1/op2%=op1%=op2op1=op1%op2=op1=op2op1=op1op2=op1=op2op1=op1op2=op1=op2op1=op1op2&=op1&=op2op1=op1&op2|=op1|=op2op1=op1|op2^=op1^=op2op1=op1^op2Java各运算符的优先级定义如下:.,[],()++,--,!,-,instanceofnew,(type)*,/,%+,-,,,==,!=&^|&&||?:=,+=,-=,*=,/=,%=,^=&=,|=,=,=,=表达式是实际完成某项工作的Java语句的最简单的形式,是能够返回值的语句。一个表达式包含有一个或多个操作,操作的对象称作运算元,而操作本身是通过运算符来体现的。只有一个运算符称作一元运算符。而二元运算符是具有两个运算元的运算符。表达式在计算时完成一个或多个操作,最终得到一个结果。除去特别声明外,表达式的结果是一个右值,即不能出现在赋值运算的左边,而结果的数据类型则由参加运算的数据类型来决定。当表达式中有两个或多个运算符时,该表达式称作复杂表达式。其中运算符执行的先后顺序由它们的优先级和结合性决定。最简单的表达式只有一个变量式常量。这个运算元没有运算符。例如,下面是几个简单的表达式:3.1415926chinaPersonNamea+b!var这里不对Java表达式做详细地介绍,感兴趣则可以查阅相关的书籍或资料。第三节控制语句Java的控制语句包括条件、循环和转移三种。1.条件语句条件语句也称为选择语句,用于实现选择结构,它包括if和switch两个语句。(1)if语句if语句的一般格式为:if(expression)statement;elsestatement;其中的语句项statement可以是一个单独的语句,也可以是用一对{}括起来的语句块。Else从句是可选的。注意在Java中if语句的条件判断表达式的值必须是一个布尔类型。上面if语句和else子句的语句项中可以包含另一个if语句,就是说可以实现多重嵌套的if语句。If(bEngineOn==true)System.out.println(Engineisalreadyon.);else{System.out.println(NowstartingEngine.);If(gasLevel=1)BengineOn=true;ElseSystem.out.println(Lowongas!Can’tstartengine.);}(2)switch语句switch语句根据表达式的值来执行多个操作中的一个,它的一般格式如下:switch(expression){casevalue1:statement1;break;casevalue2:statement2;break;…casevalueN:statemendN;break;[default:defaultStatement;]}表达式expression可以返回任一简单类型的值(如整型、实型、字符型),switch语句把表达式返回的值与每个case子句中的值相比。如果匹配成功,则执行该case子句后的语句序列。case子句中的值value1必须是常量,而且所有case子句中的值是不同的。default子句是任选的。当表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句。如果表达式的值与任一case子句中的值都不匹配且没有default子句,则程序不作任何操作,而是直接跳出switch语句。break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。因为case子句只是起到一个标号的作用,用来查找匹配的入口处从此处开始执行,对后面的case子句不再进行匹配,而是直接执行其后的语句序列,因此该在每个case分支后,要用break来终止后面的case分支语句的执行。在一些特殊情况下,多个不同的case值要执行一组相同的操,这时可以不用break。case分支中包括多个执行语句时,可以不用大括号{}括起。switch语句的功能可以用if-else来实现,但在某些情况下,使switch语句更简炼,可读性强,而且程序的执行效率提高。2.循环语句循环语句也称为迭代语句,用于实现需要重复执行的控制结构,它包括while、for和do-while三个语句。循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止,一个循环一般应包括四部分内容:初始化部分(initialization):用来设置循环的一些初始条件,如计数器清零等。循环体部分(body):这是反复循环的一段代码,可以是单一的一条语句,也可以是复合语句。迭代部分(iteration):这是在当前循环结束,下一次循环开始时执行的语句,常常用来使计数器加1或减1。终止部分(termination):通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。(1)while语句while语句实现“当型”循环,它的一般格式为:[initialization]while(termination){body;[iteration;]}当布尔表达式(termination)的值为true时,循环执行大括号中语句。并且初始化部分和迭代部分是任选的。while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句。这是“当型”循环的特点。例如:intiCount=0;while(iCountiArray.length&&iArray[iCount]!=0){iArray1[iCount]=(float)iArray[iCount++];}(2)do-while语句do-while语句实现直到型循环,它的一般格式为:[initialization]do{body;[iteration;]}while(termination);do-while语句首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句,直到布尔表达式的结果为false。与while语句不同的是,do-while语句的循环体至少执行一次,这是“直到型”循环的特点。例如:intiX=1;do{System.out.println(Looping,round+iX);iX++;}while(iX=5)下面是上一个程序段的输出:Loop,round1Loop,round2Loop,round3Loop,round4Loop,round5(3)for语句for语句也用来实现“当型”循环,它的一般格式为:for(initialization;termination;iteration){body;}initialization是对循环的开始进行初始化的一个表达式。如果有一个循环指数,那么这个表达式可以对它进行说明和初始化,例如:intiLoopIndex=0。在for循环中的这部分中说明的变量均属该循环本身内部的变量,当循环完成后,它们便不存在。termination是在每次通过循环之后和循环指数递增之前进行的测试。该测试必须是布尔表达式或布尔函数,它可以返回一个布尔值,比如iLoopIndex10。如果测试结果返回true,便执行该循环。如果测试结果是false,该循环便停止执行。iteration是对任何表达式或函数的调用。通常情况下,递增用于改变循环指数的值,使循环的状态更接近于返回false,从而退出该循环。在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。例如:for(i=0,j=10;i<j;i++,j--){……}初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。3.转移语句转移语句用于实现控制的转移,它包括break、continue和return三个转移语句。(1)continue语句continue语句用来结束本次循环,跳过循环体中下面尚未执的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件判断前,还要先执行迭代语句。它的格式为:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continueouterLable;例如:outer:for(inti=0;i<10;i++){∥外层循环for(intj=0;j<20;j++){∥内层循环if(j>i){……continueouter;}……}……}该例中,当满足j>i的条件时,程序执行完相应的语句后跳转至外层循环,执行外层循环的迭代语句i++;然后开始下一次循环。(2)return语句return语句从当前方法中返回到调用该方法的语句处,并为方法返回一个返回值,语句继续程序的执行。返回语

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功