




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序编写过程就是设计类、实现类,定义其属性、行为的过程。例1-1HelloWorldApp.java例1-2MyMusic.java例1-3ColorRect.java例1-4HelloWorld.java,一、Java程序的构成,从上面演示的程序可以看出,一般的Java源程序文件由以下三部分组成:1、Package语句(0句或1句)2、import语句(0句或多句)3、类定义说明:1、Package语句表示本程序所属的包。它只能有1句或没有。如果有,必须放在最前面。如果没有,表示属于默认包。,2、import表示引入其他类的库,便于使用。该语句可以有0句或多句,它必须放在类定义的前面。3、类定义是Java源程序的主要组成部分,每个文件中可以定义若干个类。Java程序中定义类使用关键字Class,每个类的定义由类头和头体两部分组成。类头除了声明类名之外,还可以说明类的继承特性,当一个类被定义为是另一个已存在的类(父类)的子类时,它就可以从其父类中继承一些已定义好的类成员而不必自己重复编码。类体部分用来定义属性和方法这两种类的成员,其中方法类似于其他高级语言中的函数,,而属性则类似变量。4、在java源程序中只能有一个公共类,应用程序中包含main方法,整个类定义由大括号括起来。在方法或属性前面可以加修饰符,如public、static、void等。5、语句是构成java程序的基本单位之一。每一条语句都由分号“;”结束,语句块可以使用。6、Java程序允许任意多的空白。7、/后的内容为注释。注释也可使用下列方式:/*.多行.*/或/*多行*/。,二、标识符、数据类型、变量与常量,2.1标识符任何一个变量、常量、方法、函数、对象和类都需要有一个名字,这些名字就是标识符。标识符由编程者自行确定。标识符要满足以下规定:1、标识符必须以字母、下划线或美元符号开头,不能以数字开头;2、在字母、下划线或美元符号后可以跟数字、字母、下划线或美元符号,没有长度限制;3、标识符区分大小写,如Abc不同于abc;4、标识符不能为关键字,但是它可以包含关,键字作为它名字的一部分,如thisone。有效标识符,如:identiferthisWtoUser_naIn$max$123q1qqq_$567maqwww_111无效标识符,如:12qqqqwooo#wowoclass98.3说明:类名首字母应大写;变量、方法、对象的首字母应小写;在标识符中的所有单词都应靠在一起,而且大写中间单词的首字母,如ThisIsClassName;常数初始化字符则全部大写。,2.2数据类型,JAVA编程语言有八个原始(基本)数据类型,分为以下四种:1、逻辑类booleanboolean用来表示布尔型(逻辑)数据的数据类型。Boolean型变量或常量的取值只有true和false两个。true代表“真”,false代表“假”。2、字符类char使用char类型可表示单个字符,用单引号括起来的一个字符,如q,H等。它在内存中占两个字节。,它表示的是Unicode集。Java也提供转义字符,以反斜杠()开头,将其后的字符转变为另外的含义。用“”引用的文字是字符串类型,不是字符类型。ddd:1到3位八进制数据所表示的字符rxxx:1到4位十六进制数据所表示的字符:单引号字符“:双引号字符:反斜扛字符r:回车n:换行f:进纸t:水平制表符b:退格,3、整数类byte、short、int、long四种整数类型byte(字节型)、short(短整型)、int(整型)、long(长整型)在内存中所占长度不同,分别是1,2,4,8字节。表示的范围是不一样的。整数默认为int类,如在其后有一个字母“L”或“l”则表示为长整型值。十进制整数,如123,-314,0八进制整数,要求以0开头,如012,-021十六进制整数,要求以0 x开头,如0 x12,4、浮点类double,float如果一个数包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数为浮点数。如果不明确指明浮点数的类型,则认为是double。如:3.141592.08E256.56ffloat为单精度(32位)、double为双精度(64位).,2.3常量与变量在Java中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。常量就是指在程序执行期间其值不能发生变化的数据,常量是固定的。如整型常量123,实型常量1.23,字符常量A,布尔常量true等。a.整型常量b.浮点型常量c.布尔常量d.字符常量如A、De.字符串常量如“ASD”、“A123”,变量的值则是可以变化的,它的定义包括变量名、变量类型和作用域几个部分。声明变量语句如下:类型变量名,变量名=变量初值例如:inta,b,c;doubled1=3.2,d2=0.0;注意以下几点:(1)变量名必须是一个合法的标识符。变量名应具有一定的含义,以增加程序的可读性。(2)变量类型可以为前面所说的任意一种数据类型。,(3)声明一个变量的同时也就指明了变量的作用域,变量的作用域指明可访问该变量的一段代码。(4)变量的分类:方法(语句块)局部变量、方法参数变量、例外处理参数变量、对象变量、实例变量、类变量等六种。局部(local)变量是在一个方法或语句块内定义的变量,也被称作自动(automatic)、临时(temporary)或栈(stack)变量。,当执行进入一个方法或语句块时,局部变量被创建,当执行离开该方法或语句块时,局部变量被清除,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。在成员函数方法内定义的变量对该成员变量是“局部的”,因而,你可以在几个成员函数方法中使用相同的变量名而代表不同的变量。在一个确定的域中,变量名应该是唯一的。通常,一个域用大括号“”和“”来划定。inta=0,方法参数变量(形参)传递给方法,它的作用域就是这个方法。例外处理参数变量传递给例外处理代码,它的作用域就是例外处理部分。对象变量就是一个类的对象,如:Studentaaa。实例变量和类变量指在类中声明的变量,而不是在类的某个方法中声明,它的作用域是整个类。如描述汽车类时,有颜色、长短、重量、排气量、品牌等属性值。一部具体的汽车这些值有的不会相同,但当描述某一品牌的汽车时,品牌就是固定的,每部车都相同。这种情况下,颜色、长短、重量、排气量就是实例变量,而品牌就是类变量。用关键字static来区别。如:staticx;,下面看一道考试题:一、简述变量的类型,并用一个简单、片段程序说明哪些变量属于的类型(10分)。,一、答:在面向对象编程中,变量可以分为6种类型,它们分别是:类变量、实例变量、局部变量、方法参数变量、对象变量、例外参数变量。如:Classaaaintx;staticinty;JButtontext;publicvoidsa(stringw)Intcc=0;上例中的x实例变量;y类变量;w方法参数变量;cc局部变量;text对象变量。,(4)下面是几个变量的声明:inta,b,c;/定义a,b,c为int型变量doubled,e;/定义d,e为double型变量floatf=2.5,g=5.8;/定义f,g为float型变量,并赋初值。其中,多个变量间用逗号隔开。(5)在Java程序中声明变量后,需给该变量赋值。可用赋值语句来初始化变量任何局部变量都不能没有初始值(否则,则无法通过编译)。,赋值方式如下:将已声明的变量名放在左边,然后是等号(),右边是有适当值的Java表达式。它的意思是“取得右边的值,把它复制到左边”。右边的值可以是任何常数、变量或者表达式,只要能产生一个值就行。但左边的值必须是一个明确的、已命名的变量。如:inta;/这是声明a=45;/这是赋值charc;/这是声明c=y;/这是赋值,相对于一个方法的“局部”变量,如果在初始化之前想使用它,编译器会提示出错,如下面这样就是不允许的:voidf()inti;i=i+1;当一个对象被创建时,实例变量在分配存储器的同时被值初始化。初始化值如表3-4所示。,下面给出几个Java程序的例子,使大家对数据类型进一步加深理解。【例1.5】Java中的数据类型【例1.6】Java中变量的作用域一【例1.7】Java中变量的作用域二【例1.8】Java中对象的初始化,三、运算符,按照运算符功能来分,基本的运算符分包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符等。3.1算术运算算术运算符包括加号(+)、减号(-)、乘号(*)、除号(/)、取模(%)、自增运算符(+)、自减运算符(-)等。在算术运算中,有以下值得注意的地方:(1)算术运算符的总体原则是先乘除、再加减,括号优先。(2)整数除法会直接砍掉小数,而不是进位。,(3)与C语言不同,对取模运算符%来说,其操作数可以为浮点数。如:37.2%10=7.2。(4)Java也用一种简写形式进行运算,并同时进行赋值操作。例如,为了将10加到变量x,并将结果赋给x,可用:x+=10。(5)Java对加运算符进行了扩展,使它能够进行字符串的连接,如abc+def,得到串abcdef。(6)前缀+、-与后缀+、-的区别:+i(前缀+)在使用i之前,使i的值加1,因此执行完+i后,整个表达式和i的值均为i+1;i+(后缀+)在使用i之后,使i的值加1,因此执行完i+后,整个表达式的值为i,而i的值变为i+1。,例子:intj=15,k=15;intx=+j;inty=k+;,结果:x16j16y15k16,inti=3;System.out.println(+i);,结果为4,i=4,inti=3;System.out.println(i+);,结果为3,i=4,inta=1;intb=2;intc=+b;intd=a+;c+;System.out.println(“a=”+a);System.out.println(“b=”+b);System.out.println(“c=”+c);System.out.println(“d=”+d);,结果:a=2b=3c=4d=1,-i在使用i之前,使i的减1,因此执行完-i后,整个表达式和i的值均为i-1;i-在使用i之后,使i的减1,因此执行完i-后,整个表达式的值为i,而i的值变为i-1。【例1.9】Java中算术运算符的使用,3.2关系运算关系运算符用来比较两个值,返回布尔类型的值true或false。关系运算符都是二元运算符,如下所示。op1op2op1大于op2ture=op1=op2op1大于等于op2tureop1op2op1小于op2tureb);e=(ab),/false/ture/ture/false,例如:intx5,y6;booleanbxy,运行结果:b=false,对“或运算”如果运算符左边的表达式的值为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对“与运算”,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。,【例1.11】Java中逻辑运算符的使用,逻辑表达式往往可用于表示比较复杂的条件,例如要判别某一年year是否为闰年,闰年的判别条件是:能被4整除但不能被100整除,或者能被400整除。,(year%4=0b=a2;/b=4,运算符同样是执行一个右移位,只是它执行的是不带符号的移位。也就是说对以补码表示的二进制数操作时,在带符号的右移中,右移后左边留下的空位中添入的是原数的符号位(正数为0,负数为1);在不带符号的右移中,右移后左边留下的空位中添入的一律是0。【例1.12】Java中位运算符的使用,假若对主数据类型执行任何算术运算或按位运算,“比int小”的数据(char、byte、short)在正式执行运算之前,那些值会自动转换成int,这样一来,最终生成的值就是int类型。整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。通常,表达式中最大的数据类型是决定了表达式最终结果大小的那个类型。例如:若将一个float值与一个double值相乘,结果就是double;如将一个int值和一个long值相加,则结果为long。,不是所有的数据类型都允许隐含自动转换。例如,下面的语句把long型数据赋值给int型数据,在编译时就会发生错误:longi=10;intj=i;这是因为当把占用位数较长的数据转化成占用位数较短的数据时,会出现信息丢失的情况,因而不能够自动转换。这时就需要利用强制类型转换,执行非兼容类型之间的类型转换。上面的语句写成下面的形式就不会发生错误:longi=10;intj=(int)i;,强制类型转换的格式是:(数据类型)变量名经过强制类型转换,将得到一个在“()”中声明的数据类型的数据,该数据是从指定变量所包含的数据转换而来的。值得注意的是,指定变量本身不会发生任何变化。将占用位数较长的数据转化成占用位数较短的数据时,可能会造成数据超出较短数据类型的取值范围,造成“溢出”。如:longi=10000000000;intj=(int)i;因为转换的结果已经超出了int型数据所能表示的最大整数(4294967295),造成溢出,产生了错误。,3.5其他运算符1三目条件运算符(?:)在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的,使用的形式是:x?y:z;上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。下面的例子实现了从两个数中找出较大的数的功能。inta=3,b=4;intmax=ab?a:b;max的值为4。,三目条件运算是可以嵌套的,如有以下的语句,则max表示的是a、b、c三个数中的最大值,其值为5。inta=3,b=4,c=5;intmax=(ab?a:b)c?(ab?a:b):c;2复合赋值运算符赋值运算符“=”的作用是将运算符右边表达式的值赋给左边的变量。复合赋值运算符的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牙刷刷毛调配工艺考核试卷及答案
- 络筒工艺改进方案工艺考核试卷及答案
- 石膏煅烧熟化时间工艺考核试卷及答案
- 特种底盘专业知识培训课件
- 电器组装工艺质量管理体系工艺考核试卷及答案
- 隔音板安装规范工艺考核试卷及答案
- 车辆内部基础知识培训课件
- 2025年焊工安全理论试题(附答案+解析)
- 盐水结晶工艺考核试卷及答案
- 2025年国学经典期末试题及答案
- DB1305∕T 45-2022 小麦品种冀麦325节水高产栽培技术规程(邢台市)
- 水利信息化水质监测系统单元工程质量验收评定表、检查记录
- 人教版六年级数学上册【全册教案】
- 合同法风险防范培训
- 管理会计学(第6版) 课件 郭晓梅 第1-3章 管理会计导论、成本性态分析与变动成本计算法、作业成本计算法
- 中小学教师专业技术岗位聘任考核方案
- 2024-2025学年高三上学期《为什么要上一个好大学?》主题班会课件
- 职业技术学校物联网应用技术专业调研报告
- GB/T 43934-2024煤矿土地复垦与生态修复技术规范
- 2023年某技术有限公司技术规范
- 秋季传染病预防课件幼儿园
评论
0/150
提交评论