【文档说明】java程序设计教程第3章Java程序基础课件.ppt,共(50)页,478.535 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45147.html
以下为本文档部分文字说明:
第3章Java程序基础本章学习目标掌握Java程序基本语法。理解数据类型及变量涵义。学会定义和正确使用各种变量。理解复合语句概念。3.1引言每一个Java程序都是按照一定规则编写而成,这些规则一般称之为程序语法,只有语法正确了
,程序才能通过编译系统的编译,进而也才能被计算机加以执行,本章重点介绍Java程序的基本概念和语法。3.1.1符号1.基本符号元素2.关键字3.标识符基本符号元素字母:A-Z,a-z,美元符号$和下划线(__)。数字:0-
9。算术运算符:+,-,*,/,%。关系运算符:>,>=,<=,!=,==。逻辑运算符:!,&&和||。位运算符:~,&,|,^,<<,>>,>>>。赋值运算符:=。其他符号:(),[],{}等等。关键字关键字是Java
语言本身使用的标识符,有其特定的作用。所有的Java关键字将不能被用作用户的标识符,关键字用英文小写字母表示。初学者不必刻意记忆以上关键字,在以后的使用过程中,自然会逐步掌握的。标识符本书中,标识符特指用户自定义的标识符。在Java语
言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。合法的标识符:a,b,c,x,y,z,result,sum,value,a2,x3,_a,$b等。非法的标识符:2a,3x,byte,clas
s,&a,x-value,new,true,@www等。标识符命名约定(1)一般标识符定义应尽可能“达意”,如value,result,number,getColor,getNum,setColor,setNum等。(2)final变量的标识符一般全
大写,如finaldoublePI=3.1415。(3)类名一般用大写字母打头,如Test,Demo。3.1.2分隔符1.空白符2.可见分隔符空白符在程序中主要起间隔作用,没有其他的意义。空白符包括空
格、制表符、回车和换行符等,程序各基本元素间通常用一个或多个空白符进行间隔。可见分隔符也是用来间隔程序基本元素的,这一点同空白符类似,但是不同的可见分隔符有不同的用法。Java语言中,主要有六种可见分隔符六种可见分隔符(1)“//”(2)“/*”和“*/”(3
)“;”(4)“,”(5)“:”(6)“{”和“}”3.1.3常量Java程序中使用的直接量称为常量,它是用户在程序中“写死”的量,这个量在程序执行过程中都不会改变,也称最终量(用final标识的量)。布尔值布尔类型的取值范
围就是true或false两个值,因而其常量值只能是true或false,而且true或false只能赋值给布尔类型的变量。不过,Java语言还规定布尔表达式的值为0可以代表false,而1(或其他非0值)则表示true。2.整数值整数常
量在程序中经常出现,习惯以十进制表示,如10、100等。如八进制或十六进制进行表示,用八进制时,需在数字前加0示意,而十六进制加0x(或0X)标识,譬如010(十进制值8)、070(十进制值56)、0x10(十进制值16)、0Xf0(十进制值240)。程序中出现的整数值默认分配四个字节的
空间进行存储,即其数据类型为int,但当整数值超出int的取值范围(详见书上表3-1)时,系统则自动用八个字节空间来存储,即其类型为long型,若要系统将数值不大的整数常量也用long类型来存储,可以在数值后添加L(或小写l)后缀,如22L。3.浮点数浮点数即通常所
说的实数,它包含有小数点,可以用两种方式进行表示:标准式和科学记数式。标准式是由整数部分、小数点和小数部分构成,如1.5、2.2、80.5等都是标准式的浮点数。科学记数法由一个标准式跟上一个以10为底的幂构成,两者间
需有E(或e)间隔开,如1.2e+6、5e-8和3E10等都是以科学记数法表示的浮点数。在程序中,一般浮点数的默认数据类型为double,即用8个字节空间来存放,当然也可以用F(或f)后缀来限定其类型为float,如55.5F、22.2f等。4.字符常量字符常量是指用一对单引号括起来的字符,如
‘A’、‘a’、‘1’、和‘*’等,事实上,所有的可见Ascii码字符都可以用单引号括起来作为字符常量。此外,Java语言还规定了一些转义字符,这些转义字符以反斜杠打头,将其后的字符转变为另外的含义。需要注意的是,反斜杠后的数字表示Unico
de字符集的字符,而不是Ascii码字符集。转义字符描述\xxx1到3位八进制数所表示的字符(xxx)\uxxx1到4位十六进制数所表示的字符(xxxx)\'单引号字符\"双引号字符\r回车\\反斜杠\n换行\b退格\f换页\t跳格Java转义字符表5.字符串常量System.
out.println("Hello,welcometoJavaprogramming.");上述语句中,用双引号括起来的就是字符串常量,再比如:"Nicetomeetyou!""Y\t-"(¥)"1\n2\n3"(1、2、3各占据
一行)尤其需要注意的是,单个的字符加上双引号也是字符串常量,如:"N"(字符串常量)'N'(字符常量)字符串常量一般都是用来给字符串变量赋初值的。3.1.4变量在程序执行过程中其值可以改变的数据,称为变量。每
个变量都必须有对应的名称来标识它,即变量名。变量名由程序设计者自己命名,但要注意必须是合法的标识符。另外,为了提高程序可读性,一般都会根据变量意义或特征取对应英文单词或简写等。根据变量数据的特点,决定其数据类型,在Java中,一个变量只
能属于某种确定的数据类型,并且在定义该变量时就要给出声明,这样就确定了该变量的取值范围,同时也确定了对该变量所能执行的操作或运算。八种基本的数据类型整型:byte、short、int、long实型:f
loat和double布尔型:boolean字符型:char变量定义byteage;(存放某人的年龄)shortnumber;(存放某大学人数)chargender;(存放某人性别)doublebalance
;(存放某帐户的余额)booleanflag;(存放布尔值)变量一经定义,系统将为其分配一定长度的内存存储空间,在程序中使用到该变量时,就需要在对应的内存中进行读数据或写数据,通常称这种操作为对变量的访问。3.1.5final变量final变量的定义形式与普通变量一样,但其所起作用却是类似于前
面讲的常量。定义final变量的方式有两种:1.定义的同时初始化finaldoublePI=3.14;2.先定义后初始化finaldoublePI;…PI=3.14;…提示在程序设计时,一般建议将程序中多次要用到的常量值定义为final变量
,这样在程序中就可以以final变量名来引用该常量值,以减少程序的出错概率,同时将来若常量值发生变化时也好调整。final变量与普通变量的本质区别是:后者在初始化后仍能对其进行赋值,而前者在初始化后就不能
再被赋值。3.1.6变量类型转换一般情况下,各种数据类型的变量间最好不要互相串用,但是在特定的情况下,存在进行变量类型转换的需要。比如将一个int类型的值赋给long类型变量,或将一个double类型的值赋给floa
t类型变量。前者的转换不会破环原有值,这种转换一般系统会自动进行,而后者的转换很可能会破环原有值,这种转换需要程序员在程序中明确指出,即进行强制转换。类型转换longa=10;(常量10的默认类型为int,系统会自动将其转换为long类型并存至
a中)floatf=11.5;shortb;b=(short)f;(强制转换)3.2基本数据类型数据类型名称数据类型标识占据存储空间取值范围布尔型boolean1bittrue(非0),或false(0)整型byte8bits(1Byte)-12
8~+127short16bits(2Bytes)-32768~+32767int32bits(4Bytes)-21亿~+21亿long64bits(8Bytes)-9.2×1018~+9.2×1018浮点型float32bit
s(4Bytes)7位精度double64bits(8Bytes)15位精度字符型char16bits(2Bytes)Unicode字符3.2.1布尔型布尔类型用关键字boolean来标识,其取值范围就是:true(逻辑真)和false(逻辑假),是
最简单的数据类型。布尔类型的数据可以参加逻辑运算,并构成逻辑表达式,其结果也是布尔值,常用来作为分支、循环结构中的条件表达式。booleanflag1=true;booleanflag2=3>5;boolean
flag3=1;3.2.2整型1.byte2.short3.int4.long【例3-1】数据溢出演示。publicclassTest{publicstaticvoidmain(String[]args){bytea=20;shortb=20000;shortc=2
00000;System.out.println("清华大学的院系数量:"+a);System.out.println("清华大学的在校生人数:"+b);System.out.println("海淀区
高校在校生总人数:"+c);}}【例3-2】演示常量的不同进制表示。publicclassTest{publicstaticvoidmain(String[]args){bytea=10;//十进制shortb=010;//八进制in
tc=0x10;//十六进制System.out.println("a的值:"+a);System.out.println("b的值:"+b);System.out.println("c的值:"+c);}}
3.2.3浮点型【例3-3】演示单精度浮点型的使用。publicclassTest{publicstaticvoidmain(String[]args){floatpi=3.1415f;floatr=6.5f;floatv=2*p
i*r;System.out.println("该圆周长为:"+v);}}【例3-4】演示双精度浮点型的使用。publicclassTest{publicstaticvoidmain(String[]args){doubl
epi=3.14159265358;doubler=6.5;doublev=2*pi*r;System.out.println("该圆周长为:"+v);}}3.2.4字符型Java语言用Unicode字符集来定
义字符型,一个字符占用两个字节的存储空间,这与C/C++不同。前面已经介绍过字符常量,下面再来看看字符型的变量定义:charch;//定义字符型变量chch=‘1’;//给ch赋初值为‘1’字符型变量在程序常被用作代号,比
如ch为‘1’代表成功,为‘0’代表失败;为‘F’表示女性,为‘M’表示男性等。在具体进行程序设计时,应注意灵活应用。3.3程序语句3.3.1赋值语句3.3.2条件表达式3.3.3运算3.3.4复合语句3.
3.1赋值语句赋值语句的一般形式为:variable=expression;在这里“=”不是数学中的等号,而是赋值运算符,其功能是将右边表达式的值赋(即传递或存入)给左边的变量,例如:inti,j;charc;i=100;c=‘a’
j=i+100;i=j*10;自增自减语句特别地,对于形如i=i+1;这样的赋值语句,可以将其简写为i++;或者++i,并称之为自增语句,同样还有自减语句i--;或者--i;,它们等价于i=i-1;语句。我们把“++”和“--”叫做自增和自减,它们写在变量的前面
与后面有时是有区别的!【例3-5】自增赋值语句。publicclassTest{publicstaticvoidmain(String[]args){inti,j,k=1;i=k++;j=++k;System.out.println("i="+i);System.out.println("j
="+j);}}复合赋值语句的复合赋值运算+=加后赋值-=减后赋值*=乘后赋值/=除后赋值%=取模后赋值【例3-6】复合赋值语句。publicclassTest{publicstaticvoidmain(String[]arg
s){inti=0,j=30,k=10;i+=k;//相当于i=i+k;j-=k;//相当于j=j-k;i*=k;//相当于i=i*k;j/=k;//相当于j=j/k;k%=i+j;//相当于k=k%(i+j);System.out.println("i="+i);Syste
m.out.println("j="+j);System.out.println("k="+k);}}3.3.2条件表达式条件表达式的一般形式为:Exp1?Exp2:Exp3首先计算Exp1,当表达式Exp1的值为true时,计算表
达式Exp2并将结果作为整个表达式的值,当表达式Exp1的值为false时,计算表达式Exp3并将结果作为整个表达式的值。【例3-7】条件表达式示例。publicclassTest{publicstaticvoidmain(String[]args){i
nti,j=30,k=10;i=j==k*3?1:0;System.out.println("i="+i);}}3.3.3运算(1)算术运算Java的算术运算有加(+)、减(-)、乘(*)、除(/)和取
模(%)运算。3/2结果为13/2.0结果为1.55%2结果为111%3结果为2(2)关系运算关系运算的结果为布尔值,即true或falseJava语言中共有六种关系运算:>(大于)>=(大于等于)<(小于)<=(小于等于)==(等于)!=(不等于)【例3
-8】关系运算示例。publicclassTest{publicstaticvoidmain(String[]args){inti=0,j=30,k=10;booleanb1,b2,b3;b1=i>k;b2=i<=j;b3=j/3!=k;System.out.println("b1=
"+b1+",b2="+b2+",b3="+b3);}}(3)逻辑运算Java语言中有三种逻辑运算:&&(与)、||(或)、!(非),参与逻辑运算的操作数为布尔类型值,最终结果也为布尔值。xyx&&yx||y!xtruefalsefalsetruefalsetruetruetruet
ruefalsefalsetruefalsetruetruefalsefalsefalsefalsetrue(4)位运算位运算指的是对二进制位进行计算,其操作数必须为整数类型或者字符类型。运算符用法功能&ope1&ope2按位与|ope1|ope2按位或~~ope1按位取反^ope1^ope2
按位异或<<ope1<<ope2左移>>ope1>>ope2带符号右移>>>ope1>>>ope2不带符号右移3.3.4复合语句语句是程序的基本元素,任何单独的一条语句都可以称之为简单语句,而复合语句是指由一条或多条的语句构成的语句块。在Java
语言中,复合语句是用大括号括起来的,可以将其从整体上看成是一条语句,复合语句主要用于流程控制结构中,如选择,循环等,它体现的是程序的一种结构性或者说是局部性,复合语句所包含的语句们要么都执行,要么都不执行,或者都被重复执行若干次。3.4应用举例【例
3-9】分析以下程序有哪些错误。publicclassTest{publicstaticvoidmain(String[]args){shorti,j;i=50000;j=2.5;System.out.println("i="+i+",j="+j)
;}}【例3-10】假设整型变量x的当前值为2,则复合赋值语句x/=x+1执行后x值为多少?【例3-11】分析以下程序段的功能。intx,y,z,result;…//x,y,z分别被赋值result=(x>y)?x:y;result=(r
esult>z)?result:z;3.5小结本章讲述Java程序的基本组成元素及其语法,这是编程的绝对基础,虽然内容不难,但要掌握好也不易,尤其需要理解变量的涵义及其不同的数据类型。对于初学者而言,学习一门编程语言就好比学习一门外语,首先要掌握的就是它的语法,因此很多学好外语的规律同样也
适用于学习编程语言,比如记忆、模仿、循序渐进,日积月累。作业123