版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计基础大连理工大学出版社第三章运算符与赋值3.2表达式与语句3.1运算符与表达式3.3数组3.4方法Java提供了丰富的运算符环境。Java有4大类运算符:算术运算、位运算、关系运算和逻辑运算。Java还定义了一些附加的运算符用于处理特殊情况。3.1
运算符与表达式算术运算符
3.1
运算符与表达式(续)位运算符
位运算是对操作数以二进制比特位为单位进行的操作和运算,位运算的操作数和结果都是整数类型。这些整数类型包括long,int,short,char及byte。
3.1 运算符与表达式(续)位运算符(续)3.1 运算符与表达式(续)位运算符(续)移位运算是将某一变量所包含的各比特位按指定的方向移动指定的位数3.1 运算符与表达式(续)位运算符(续)public
classMultByTwo{
public
static
voidmain(Stringargs[]){
inti;
intnum=0xFFFFFFE; num=num<<1; System.out.println(num); num=num<<1; System.out.println(num); }}3.1 运算符与表达式(续)从上面的程序运行结果可以看出每次左移都可以使原来的操作数翻倍,程序员们经常使用这个办法来进行快速的2的乘法。但是要小心,如果将1移进高阶位(31或63位),那么该值将变为负值。同样的,将值每右移一次,就相当于将该值除以2并且舍弃了余数。可利用这个特点将一个整数进行快速的2的除法。关系运算符
关系运算符决定值和值之间的关系3.1 运算符与表达式(续)关系运算符
Java中的任何类型,包括整数,浮点数,字符,以及布尔型都可用“==”来比较是否相等,用“!=”来测试是否不等。故常常用在if控制语句和各种循环语句的表达式中。一定要注意的是两个数是否相等是通过两个等号“==”进行判断,一个等号“=”表示赋值。3.1 运算符与表达式(续)逻辑运算符
逻辑运算符的运算数只能是布尔型,而且逻辑运算的结果也是布尔类型。
3.1 运算符与表达式(续)表达式与语句表达式是由变量、常量、对象、方法调用和操作符组成的公式。符合语法规则的表达式可以被编译系统理解、执行或计算,表达式的值就是对它运算后所得的结果。计算机程序是一组指令,告诉计算机如何做,其中的每个指令称为语句。语句由表达式后面加分号构成。3.1 运算符与表达式(续)所有的Java程序自动导入java.lang包。该包定义了一个名为System的类,该类封装了运行时环境的多个方面。System是一个系统类,它的完全类名是“java.lang.System”。使用System.out.println()和System.in.read()3.2 简单输入输出System同时包含三个预定义的流变量,in,out和err。System.out引用了System的一个静态成员“out”。在JRE启动时,System.out被初始化成标准输出对象。类似的还有System.err,代表标准错误。println是System.out的一个方法,它向标准输出(屏幕)打印出指定字符串,然后换行。例如:System.out.println("Hello,world!");System.in是inputStream的对象;System.out和System.err是PrintStream的对象。它们都是字节流,它们用来读写外设的字符。Java中,键盘输入由从System.in读取数据来完成。3.2 简单输入输出(续)JOptionPane类是Java类库提供的可供程序员使用的类,主要用于创建简单输入输出对话框,以完成简单的输入输出操作。要在程序中使用JOptionPane类,需使用如下语句在程序中引入该类:importjavax.swing.JOptionPane;import语句要出现在程序开头的地方,也就是类定义之前创建输入对话框的方法:JOptionPane.showInputDialog(Stringmessage)参数message用于指定对话框中的提示消息。该方法的返回类型为String类型,因此,如果用该方法输入数据时,需要进行字符串数值类型的转换。3.2 简单输入输出(续)消息对话框是有模式对话框(即未点击确定之时,不能对窗口进行任何动作),进行一个重要的操作之前,最后能弹出一个消息对话框。JOptionPane.showMessageDialog()是javax.swing包中的静态方法:JOptionPane.showMessageDialog(ComponentparentComponent,Stringmessage,Stringtitle,intmessageType)3.2 简单输入输出(续)创建一个消息对话框,其中参数parentComponent指定消息对话框所依赖的组件,消息对话框会在该组件的正前方显示出来;message指定对话框上显示的消息;title指定对话框的标题;messageType确定对话框的外观。messageType常量类型:
3.2 简单输入输出(续)3.3 数组数组是指一组相同类型数据的集合。数组提供了一种把相关数据集合在一起的便利方法,应用很广泛。
数组中的每个数据称为数组的元素,数组中的元素可以是任意类型的,既可以是基本数据类型,也可以是引用类型。
Java把数组作为对象来实现的,用new关键字创建数组,开辟其存储空间,数组名是一个引用变量。3.3 数组数组的声明和创建,2步骤1)声明数组变量及其类型(即每个元素所属的类型)2)使用new关键字创建数组,为数组对象分配存储空间数组的声明和创建语句可以写在一起:
数组类型[]数组名;数组类型数组名[];new数组类型[数组长度]数组类型[]数组名=new数组类型[数组长度];3.3 数组(续)数组初始化数组在创建之后,每个元素会自动赋予其数据类型的默认值,如数值类型将赋0值,boolean类型将赋false等。如果需要,可以对数组进行显式的初始化,在定义数组的时候就给数组的每个元素赋值:将所有的初始值用{}括起来,每个值之间用逗号“,”隔开。例如:int[]arr=newint[]{1,2,3};char[]chs=newchar[]{‘H’,’E’,’L’,’L’,’O’};元素的引用数组中的每个元素都有一个索引,或者称为下标,代表了元素在数组中所处的位置。索引的范围:0~数组长度-1元素的引用格式:设有:int[]arr={1,2,3}; 则数组名[元素的索引]3.3数组(续)7.1 基本数据类型的一维数组(续)数组与for循环的结合运用:以数组元素的索引值作为循环变量,结合循环结构实现遍历数组中的所有元素。一般格式:示例for(i=0;i<arr.length;i++){//对arr[i]的操作}3.3数组(续)实例运用从控制台输入若干整数,求其最大值和和值。用选择排序算法对数组进行升序排序。用冒泡排序算法对数组进行升序排序。3.3数组(续)对象数组的各个元素均为对象。对象数组的创建除了用new开辟内存空间之外,还需要进一步地为每一个元素(都是对象)赋引用值。例如:String[]hello=newString[3];hello[0]=“早上好”;hello[1]=“中午好”;hello[2]=“晚上好”;3.3数组(续)对象数组的各个元素均为对象。对象数组的创建除了用new开辟内存空间之外,还需要进一步地为每一个元素(都是对象)赋引用值。例如:示例String[]hello=newString[3];hello[0]=“早上好”;hello[1]=“中午好”;hello[2]=“晚上好”;3.3数组(续)数组的数组:理解多维数组的形成多维数组可以看做是数组的数组,即数组中的每一个元素又是一个数组。3.3数组(续)二维数组的定义例如:int[][]a=newint[3][2];
数组类型[][]数组名;数组类型[]数组名[];数组类型数组名[][];3.3数组(续)不规则的二维数组int[][]b=newint[3][];b[0]=newint[2];b[1]=newint[3];b[2]=newint[4];3.3数组(续)二维数组的初始化示例int[][]a={{1,2},{3,4}};int[][]b={{1},{2,3},{3,4,5}};3.3数组(续)二维数组元素的引用行标取值范围:0~第一维长度-1列标取值范围:0~第二维长度-1。示例数组名[行标][列标]3.4方法方法的定义、调用和返回
类的组成主要包括成员变量和成员方法2部分,成员变量描述属性,成员方法描述行为。对象所具有的行为能力都是通过方法体现的。
方法的定义
在Java中,方法是类的组成部分之一,每个方法都属于特定的类,方法的定义必须位于类体之中。方法定义的一般格式为:返回值类型方法名(形式参数列表){ //方法体}3.4方法(续)方法的定义、调用和返回(续)
左花括号{之前的部分为方法定义的头部,主要包括返回值类型、方法名和形参列表。方法名,必须是合法的标识符,应按照Java的命名规范进行命名,最好还能做到见名知意。返回值,如果方法执行完后会带回一个值,这个值就叫做返回值。返回值类型,表示该方法执行完毕后带回的值所属的类型,可以是基本数据类型,也可以是对象类型。但如果方法只是完成一定的操作而没有带回任何的值,则返回值类型应该声明为void。形式参数列表代表的是:使用这个方法实现一定功能时需要传递给方法的若干数据,可以是0个,也可是多个,各个参数之间要用逗号“,”分隔,每个参数都必须带上类型的声明。{和}之间是方法体,包含若干的可执行语句,用于实现方法的功能。方法定义时的可缺省部分这里并未列出,后面的章节将讨论到其它部分。3.4方法(续)方法的定义、调用和返回(续)
一个合法的方法声明
intadd(inta,intb){ intsum=0; sum=a+b; returnsum;}
add()方法实现求2个加数的和值,当需要使用该功能时,应调用add()方法,提供2个实际的加数分别传给形式参数a和b,方法体结束之前通过returnsum;语句将计算得到的和值带回给调用者。3.4方法(续)方法的定义、调用和返回(续)
方法的调用方法由类的对象,用圆点运算符“.”来调用,方法调用的格式为:对象名.方法名(实际参数列表)方法定义时,方法名后()中的参数称为形式参数,代表该方法在执行时需要哪些数据。在发生方法调用时,执行流程将转去执行方法体。3.4方法(续)方法的定义、调用和返回(续)
在调用方法时,应注意如下几点:实际参数应与形式参数的个数、类型、顺序均保持一致。实际参数的值将对应地传给形式参数。若方法定义时未定义任何形式参数,则调用方法时参数列表留空,但是()一定不能省。若方法定义时的返回值类型非void,则方法调用就相当于是同类型的一个值(因为有返回值的方法必会用return返回一个同类型的值)。若方法定义时的返回值类型为void,则方法调用一定不能出现在赋值运算符“=”的右边。3.4方法(续)方法的定义、调用和返回(续)
方法的返回
发生方法调用时会转去执行方法体,方法体执行完毕则从方法返回,表示方法调用结束,将返回到被调用处,如果有必要还可以返回值给调用者3.4方法(续)方法的定义、调用和返回(续)
方法的返回
(续)return语句的格式如下:return[表达式];其后的表达式是可以缺省的部分,是否缺省视方法是否返回值而定。如果方法定义时声明了返回值类型,就必须使用return表达式返回一个同类型的值。如果方法的返回值类型被声明为void,则方法体中不能用return表达式带回值。
3.4方法(续)方法的定义、调用和返回(续)关于方法的定义、调用和返回的补充说明:
调用类的成员方法,一般需要先创建类的对象(调用类的静态方法不用如此),再以对象名.方法名(实际参数列表)的格式调用。main()方法中可以创建自己所属的类自身的对象。3.4方法(续)方法的定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年沧州市新华区法检系统书记员招聘笔试参考试题及答案详解
- 2025年云南省法检系统书记员招聘考试试题及答案详解
- 2026年安徽省宣城市法检系统书记员招聘笔试参考试题及答案详解
- 2026年河北雄安新区工会系统招聘社会工作岗位人员2名考试备考题库及答案详解
- 2025年河北省秦皇岛市法检系统书记员招聘笔试试题及答案详解
- 2025年广东省深圳市法检系统书记员招聘笔试试题及答案详解
- 2026年甘肃省白银市法检系统书记员招聘笔试备考题库及答案详解
- 2025年陕西省榆林市法检系统书记员招聘考试试题及答案详解
- 2026江苏盐城市国有资产投资集团有限公司招聘102人笔试参考题库及答案详解
- 2025年安阳市殷都区法检系统书记员招聘笔试试题及答案详解
- GA/T 1215-2025中小学与幼儿园周边道路交通组织设计与交通设施设置规范
- 2026年四川省成都市中考语文真题(试题+答案)
- 2025年食品安全事故应急处置全流程培训
- 2026年淡水养殖高级水产工程师答辩题库
- 探秘南海IODP349基底玄武岩中钙质碳酸盐岩脉:岩石学与地球化学的深度剖析
- 上市公司收购方案
- 矿山安全教育培训课直播课件
- GB/T 14233.2-2025医用输液、输血、注射器具检验方法第2部分:生物学试验方法
- 2025年基本公共卫生服务项目(慢阻肺健康管理)培训试题(附答案)
- 供应商资质与实力评估体系模板
- GB/T 4662-2025滚动轴承额定静载荷
评论
0/150
提交评论