资源描述
第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,class,上述语句中,用双引号括起来的就是字符串常量,再比如:Nicetomeetyou!Yt-(¥)1n2n3(1、2、3各占据一行)尤其需要注意的是,单个的字符加上双引号也是字符串常量,如:N(字符串常量)N(字符常量)字符串常量一般都是用来给字符串变量赋初值的。,3.1.4变量,在程序执行过程中其值可以改变的数据,称为变量。每个变量都必须有对应的名称来标识它,即变量名。变量名由程序设计者自己命名,但要注意必须是合法的标识符。另外,为了提高程序可读性,一般都会根据变量意义或特征取对应英文单词或简写等。根据变量数据的特点,决定其数据类型,在Java中,一个变量只能属于某种确定的数据类型,并且在定义该变量时就要给出声明,这样就确定了该变量的取值范围,同时也确定了对该变量所能执行的操作或运算。,八种基本的数据类型,整型:byte、short、int、long实型:float和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类型的值赋给float类型变量。前者的转换不会破环原有值,这种转换一般系统会自动进行,而后者的转换很可能会破环原有值,这种转换需要程序员在程序中明确指出,即进行强制转换。,类型转换,longa=10;(常量10的默认类型为int,系统会自动将其转换为long类型并存至a中)floatf=11.5;shortb;b=(short)f;(强制转换),3.2基本数据类型,3.2.1布尔型,布尔类型用关键字boolean来标识,其取值范围就是:true(逻辑真)和false(逻辑假),是最简单的数据类型。布尔类型的数据可以参加逻辑运算,并构成逻辑表达式,其结果也是布尔值,常用来作为分支、循环结构中的条件表达式。,booleanflag1=true;booleanflag2=35;booleanflag3=1;,3.2.2整型,1byte2short3int4long,【例3-1】数据溢出演示。publicclassTestpublicstaticvoidmain(Stringargs)bytea=20;shortb=20000;shortc=200000;System.out.println(清华大学的院系数量:+a);System.out.println(清华大学的在校生人数:+b);System.out.println(海淀区高校在校生总人数:+c);,【例3-2】演示常量的不同进制表示。publicclassTestpublicstaticvoidmain(Stringargs)bytea=10;/十进制shortb=010;/八进制intc=0 x10;/十六进制System.out.println(a的值:+a);System.out.println(b的值:+b);System.out.println(c的值:+c);,3.2.3浮点型,【例3-3】演示单精度浮点型的使用。publicclassTestpublicstaticvoidmain(Stringargs)floatpi=3.1415f;floatr=6.5f;floatv=2*pi*r;System.out.println(该圆周长为:+v);,【例3-4】演示双精度浮点型的使用。publicclassTestpublicstaticvoidmain(Stringargs)doublepi=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=aj=i+100;i=j*10;,自增自减语句,特别地,对于形如i=i+1;这样的赋值语句,可以将其简写为i+;或者+i,并称之为自增语句,同样还有自减语句i-;或者-i;,它们等价于i=i-1;语句。我们把“+”和“-”叫做自增和自减,它们写在变量的前面与后面有时是有区别的!,【例3-5】自增赋值语句。publicclassTestpublicstaticvoidmain(Stringargs)inti,j,k=1;i=k+;j=+k;System.out.println(i=+i);System.out.println(j=+j);,复合赋值语句的复合赋值运算,+=加后赋值-=减后赋值*=乘后赋值/=除后赋值%=取模后赋值,【例3-6】复合赋值语句。publicclassTestpublicstaticvoidmain(Stringargs)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);System.out.println(j=+j);System.out.println(k=+k);,3.3.2条件表达式,条件表达式的一般形式为:Exp1?Exp2:Exp3首先计算Exp1,当表达式Exp1的值为true时,计算表达式Exp2并将结果作为整个表达式的值,当表达式Exp1的值为false时,计算表达式Exp3并将结果作为整个表达式的值。,【例3-7】条件表达式示例。publicclassTestpublicstaticvoidmain(Stringargs)inti,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语言中共有六种关系运算:(大于)=(大于等于)z)?result:z;,3.5小结,本章讲述Java程序的基本组成元素及其语法,这是编程的绝对基础,虽然内容不难,但要掌握好也不易,尤其需要理解变量的涵义及其不同的数据类型。对于初学者而言,学习一门编程语言就好比学习一门外语,首先要掌握的就是它的语法,因此很多学好外语的规律同样也适用于学习编程语言,比如记忆、模仿、循序渐进,日积月累。,作业,123,
展开阅读全文