您好,欢迎访问三七文档
第三章数据类型、变量与表达式3.1数据类型3.2标识符与关键字3.3常量3.4变量3.5运算符与表达式3.6一个编程实例Review1:试着编写一个简单的javaapplication程序,当通过javaWelcome命令时,可以在命令行界面上打印一行语句:“WelcometoJavaWorld!!!”WelcometoJavaWorld!!!//welcome.java:thisapplicationprogramprintsWelcometoJavaWorldontheconsole!!!publicclassWelcome{Publicstaticvoidmain(String[]args){System.out.println(“WelcometoJavaWorld!!!”);}}Java程序至少包含一个类,每个类从类的声明开始,定义自己的数据和方法。•public为修饰符;•Class为保留字;•Welcome为类的名字注:保存的时候文件名要和类名一致,包括大小写编译源程序首先在命令提示符下,进入该文件的根目录用javac命令编译源文件,如:javacWelcome.java运行Java程序执行java命令就可运行Java程序,如:javaWelcome编写源程序(例MyFirstApplet.java)importjava.applet.*;importjava.awt.*;publicclassMyFirstAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(Hello!javaworld!,2,20);}}Review2:Applet程序的编写与运行编译源程序建立MyFirstApplet.html,将MyFirstApplet.class字节码文件放入其中。HTMLHEADTITLEMyFirstAppletprogram/TITLE/HEADBODYpappletcode=MyFirstApplet.classwidth=300height=200/applet/BODY/HTML浏览MyFirstApplet.html小窍门:为他人的阅读提供方便文档生成器(javadoc.exe)接受源文件(后缀为.java)输入,然后自动生成一个HTML文件,内容包括java源文件中的类、变量、方法、接口、异常等。实现步骤:在文档中利用/**….*/实现注释利用javadoc-dpathWelcome.java命令学习目标认识Java基本数据类型理解标识符、变量和常量使用赋值语句使用Java运算符并书写Java表达式编写简单的Java程序2.1数据类型数据类型的分类如下所示:数据类型基本数据类型复合数据类型数值型字符型:char布尔型:boolean整型:byte,short,int,long实型:float,double类:class数组和字符串接口:interface基本数据类型布尔型boolean布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:booleanb=true;字节型byte字节型以一个字节来表示有符号整数值,取值范围为-128~127。它有八进制、十进制和十六进制三种表示方式。定义如下:bytex=18;整型数据短整型(short):用2个字节表示整数值;整型(int):用4个字节表示整数值;长整型(long):用8个字节表示整数值。注:在声明长整型时,在整数后要加“L”或“l”以示区别。数据类型所占位数数的范围short16-215~215-1int32-231~231-1long64-263~263-1开动脑筋:编译结果是什么?publicclassByteTest{publicstaticvoidmain(String[]args){byteb;b=3;b=b*3;System.out.println(b);}}开动脑筋:编译结果是什么?publicclassByteTest{publicstaticvoidmain(String[]args){byteb;b=3;b=(byte)(b*3);System.out.println(b);}}字符型char字符(char)类型以2个字节表示一个字符。char类型的数据可以转换为整数类型、其值范围为0~65535。定义char类型字符时,要用一对单引号将字符括起来。如:charc=’x’;浮点型float与double是Java用来表示实数的两种数据类型。float是32位单精度浮点数,而double则是64位双精度浮点数。Float类型的数据其最后一个字符之后需加入“F”或“f”,如果数据其最后一个字符之后没有“F”或“f”,则默认为double类型的数值。再动动脑筋!publicclassFloatTest{publicstaticvoidmain(String[]args){floatf;f=1.3;System.out.println(f);}}再动动脑筋!publicclassFloatTest{publicstaticvoidmain(String[]args){floatf;f=1.3f;System.out.println(f);}}2.2标识符与关键字2.2.1标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。例子:合法标识符:identifier,userName,User_Name,_sys_val,$change非法标识符:2mail,room#,classJava语言对标识符的使用有如下规定:1、标识符可以由字母、数字、下划线(_)或美元符号($)组成。2、标识符必须以字母、下划线或美元开头。3、Java语言是区别大小写语言,Myfirst与myfirst分别代表不同的标识符。4、标识符不能与关键字(保留字)同名。5、使用标识符应该在一定的程度上反应出它所表示的变量、常量、类或对象和含义。2.2.2关键字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reservedword),也称为关键字,下面列出了java语言中的所有保留字:bstract,break,byte,boolean,catch,case,class,char,continue,default,double,do,else,extends,false,final,float,for,finally,if,import,implements,int,interface,instanceof,long,length,native,new,null,package,private,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,whilejava语言中的保留字均用小写字母表示。2.3常量整型常量十进制整数:如123,-456,0八进制整数:以0开头,如0123表示十进制数83,-011表示十进制数-9。十六进制整数:以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。浮点型常量浮点数常量也叫实常量。十进制数形式:由数字和小数点组成,且必须有小数点,如0.123,1.23,123.0科学计数法形式:如123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。float型(单精度浮点型)的值,必须在数字后加f或F,如1.23f。布尔型常量JAVA语言的布尔常量的取值要么为true、要么为false,它们分别表示真、假两种不同的状态。字符型常量字符常量是用单引号括起来的一个字符,如'a','A';字符串型常量字符串常量是用一对双引号括起来的一系列字符。如”Itisaniceday!”和”Java”;注意,‘c’不等于“c”。null常量null常量只有一个值,用null表示,表示对象的引用为空。自定义利用final数据类型常量名=数值FinalintA=12;2.4变量2.4.1变量的概念JAVA语言的变量用于存储值变化的量。它是在程序运行期间,系统为程序分配的一块内存单元,变量名为内存单元的名称,内存单元中所装载的数据就是变量的值。JAVA语言中的变量必须先定义后使用,定义变量包括指明变量的数据类型和变量名称,必要时还可以指定变量的初始数值。JAVA语言的变量的定义语句格式为:数据类型变量名表;inta,b,c;Peoplei,j;J=newpeople();i=j;变量有两种类型简单类型变量保存在堆栈中对象变量保存在堆中需要用new来分配空间变量名Int型变量名字节对象变量名32位地址对象实际存储空间一个进程有一个堆栈,独享堆栈大小有限制简单变量堆栈进程对象内容不放在堆栈stack中,放在堆heap中对象引用放在堆栈中对象变量堆栈进程堆2.4.2基本数据类型转换数据类型的转换有自动转变和强制转换两种形式。自动类型转换整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。自动类型转变,需要同时满足两个条件,第一是两种类型彼此兼容,第二是目标类型的取值范围大于源类型。例如,当byte型向int型转换时,由于int型的取值范围大于byte型,就会发生自动转换。不同类型数据间的优先关系如下:低------------------------------------------------------高byte,short,char-int-long-float-double强制类型转换当两种类型彼此不兼容,或者目标类型的取值范围小于源类型,自动转换无法进行,这时就需要进行强制类型转换。强制类型转换的通用格式如下:目标类型变量=(目标类型)值;高级数据要转换成低级数据,需用到强制类型转换如:inti=256;byteb=(byte)i;b=?表达式数据类型的自动提升如果在JAVA应用程序表达式中出现数据类型不一致的情形,那么JAVA运行时系统首先自动将低优先级类型的数据转换成高优先级类型的数据,然后才进行表达式值的计算。变量的作用域Java语言的变量有一定的生存周期和有效范围。Java语言用大括号将若干语句组成语句块,变量的有效范围是声明它的语句所在的语句块,一旦程序的执行离开了这个语句块,变量就变得没有意义,不能再使用了。2.5运算符与表达式2.5.1Java中的运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较。一般由一至三个字符组成,但Java将其视为一个符号。运算符有以下几种:·算术运算符·赋值运算符·比较运算符·逻辑运算符·位运算符算术运算符:+,―,*,/,%,++,――。例如:3+2;a-b;i++;--i;注意:(1)“+”除有字符串连接的功能外,还能将字符串与其他的数据类型相连组成一个新的字符串,条件是表达式中至少有一个字符串。如:”a”+68;,结果是”a68”。(2)++a是在变量参与参与运算之前自增1,然后用新值参与运算;而a++则是先用原来的值参与运算,然后再将自己加1。--a与a—与上述相类似。(3)除号“/”,整数除和小数除是有区别:整数之间做除法时,只保留整数部分而舍弃小数部分。Inta=4;3+a++;3+(++a);赋值运算符=,及其扩展赋值运算符如+=,―=,*=,/=等例如:i=3;i+=3;(i=i+3)比较运算符:,,=,=,==,!=例如:count3;I==0;n!=-1;逻辑运算符:!,&&,||,&,|,^位运算符:,,,&,|,
本文标题:变量与表达式
链接地址:https://www.777doc.com/doc-3543988 .html