收藏 分销(赏)

Java程序设计-3哈工大全部PPT参考幻灯片.ppt

上传人:丰**** 文档编号:10509071 上传时间:2025-05-31 格式:PPT 页数:40 大小:208.99KB 下载积分:12 金币
下载 相关 举报
Java程序设计-3哈工大全部PPT参考幻灯片.ppt_第1页
第1页 / 共40页
Java程序设计-3哈工大全部PPT参考幻灯片.ppt_第2页
第2页 / 共40页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,#,Java,程序设计,孟凡超,哈尔滨工业大学,(,威海,),计算机科学与技术学院,mfc,1,2,辛运帏,饶一梅,马素霞,.Java,程序设计,(,第二版,).,清华大学出版社,2006.,参考资料,2,2025/5/31 周六,第,1,章 概述,第,2,章 标识符和数据类型,第,3,章 表达式和流程控制语句,第,4,章 数组、向量和字符串,第,5,章 进一步讨论对象和类,第,6,章,Java,语言中的异常,第,7,章,Java,的图形用户界面设计,第,8,章,Swing,组件,第,9,章,Java Applet,第,10,章,Java,数据流,第,11,章 线程,第,12,章,Java,网络功能,课程内容,3,2025/5/31 周六,3.1,表达式,3.2,流控制,第,3,章 表达式与流程控制,4,2025/5/31 周六,3.1,表达式,表达式:,表达式由,运算符,和,操作数,组成,对操作数进行运算符指定的操作,并得出一个,结果,。,Java,运算符:,算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、数组下标运算符等。,操作数:,常量、变量、方法调用等。,5,2025/5/31 周六,3.1,表达式,1.,操作数,常量,在,Java,语言中,主要是利用,final,关键字来进行常量定义。当常量被定义后,是不允许修改的。,例如,:,final,double PI=3.1415926;,final,String USERNAME=“mfc”;,常量定义需要注意内容:,在定义常量的时候,就需要对其进行初始化,此后,应用程序中无法再次对这个常量进行赋值。,final,关键字不仅可以用来修饰,基本数据类型,常量,还可以用来修饰,对象的引用,或,方法,。,常量的命名一般采用大写字符。,6,2025/5/31 周六,3.1,表达式,final,关键字与,static,关键字同时使用,例如:,final,long CURRENT_TIME=system.currentMillis();,static final,long CURRENT_TIME=system.currentMillis();,不使用,static,修饰:,如果建立常量时直接赋一个固定值,那么这个常量的值是固定不变的,即多个对象中的值也是相同的。如果建立常量时是采用函数或对象,那么每次建立对象时给其常量的初始化值就有可能不同。所以,只使用,final,的,Java,常量定义并不是恒定的。,使用,static,修饰:,在创建对象之前就会为这个变量在内存中创建一个存储空间,以后创建对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。,7,2025/5/31 周六,3.1,表达式,变量,变量是存储数据的基本单元,它可以用作表达式中的操作数,变量在使用前先要说明。,变量说明基本格式:,类型,变量名,=,初始值,;,其中,类型是指变量所属的类型,既可以是简单类型,如,int,float,等,也可以是类类型。,变量说明地方:,方法内。,自动变量,/,局部变量,/,临时变量。,类定义内。,类成员变量。,8,2025/5/31 周六,3.1,表达式,变量初始化,Java,程序中不允许将未经过初始化的变量用作操作数。,类中定义变量的初始化:,创建一个对象后,使用,new,运算符分配存储空间时,系统按如下表中的值进行初始化成员变量。,类型,初始值,byte,(byte)0,short,(short)0,int,0,long,0L,float,0.0f,double,0.0,char,u0000(null),boolean,false,所有引用类型,null,9,2025/5/31 周六,3.1,表达式,变量作用域,类中定义成员变量的作用域是整个类。,方法中定义的局部变量的作用域是从该变量的说明处开始到包含该说明的语句块结束处,块外是不可使用的。,块内说明的变量将屏蔽其所在类定义的同名变量。但是同一块中如果定义两个同名变量则将引起冲突。,10,2025/5/31 周六,3.1,表达式,11,2025/5/31 周六,3.1,表达式,2.,运算符,算术运算符,加,(+),、减,(,),、乘,(*),、除,(/),、取模,(%),,完成整型或浮点型数据的算术运算。,+,、,,分别表示加,1,和减,1,操作。,+i,和,i+,的执行顺序不同,,+i,在使用之前加,1,,,i+,先使用再加,1,。,i,和,i,的情况类似。,例如:,5/2,/,结果是,2,5%2,/,结果是,1,10.5/2,/,结果是,5.25,10.5%2,/,结果是,0.5,12,2025/5/31 周六,3.1,表达式,int i=0;,int j=+i;,System.out.println(“i=”+i+”;j=”+j);,i=1;j=1,int i=0;,int j=i+;,System.out.println(“i=”+i+”;j=”+j);,i=1;j=0,int i=0;,int j=-i;,System.out.println(“i=”+i+”;j=”+j);,i=-1;j=-1,int i=0;,int j=i-;,System.out.println(“i=”+i+”;j=”+j);,i=-1;j=0,13,2025/5/31 周六,3.1,表达式,关系运算符,关系运算符是二元运算符,用来比较两个值,其结果是一个逻辑值。,包括大于,(),、大于等于,(=),、小于,(),、小于等于,(=),、等于,(=),、不等于,(!=)6,种。,名称,运算符,运算规则,运算对象,表达式实例,运算结果,小于,满足则为真,不满足则为假,整型、浮点型、字符型,23,true,小于等于,=,6,ab,false,大于等于,=,7.8=5.6,true,等于,=,9=9,true,不等于,!=,8!=8,false,14,2025/5/31 周六,3.1,表达式,逻辑运算符,逻辑运算符用来连接关系表达式,对关系表达式的值进行逻辑运算,因此逻辑运算符的运算对象必须是逻辑型数据,其表达式的运行结果也是逻辑型数据。,包括逻辑与,(&),、逻辑或,(|),和逻辑非,(!),三种,,&,和,|,是二元运算符,!是一元运算符。,对象,1,(a),对象,2(b),!a,a&b,a|b,false,false,true,false,false,false,true,true,false,true,true,false,false,false,true,true,true,false,true,true,15,2025/5/31 周六,3.1,表达式,例,要判断一年,(year),是否为闰年,其条件是:能被,4,整除但不能被,100,整除,或者能被,400,整除。逻辑表达式:,(year%4=0&year%100!=0)|year%400=0,16,2025/5/31 周六,3.1,表达式,位运算符,位运算符用来对二进制位进行操作,包括按位取反,(,),、按位与,(&),、按位或,(|),、异或,(),、右移,(),、左移,(),,位运算只能对整型和字符型数据进行操作。,byte b=30;,system.out.println(b);,-31,byte b=-30;,system.out.println(b);,29,byte a=24,b=13;,system.out.println(a,8,byte a=24,b=-13;,system.out.println(a,16,17,2025/5/31 周六,3.1,表达式,Java,中二进制数表示,Java,中使用补码来表示二进制数,在补码表示中最高位为符号位,,正数,的符号为是,0,,,负数,的符号位是,1,。,正数的补码:,与原码相同。,负数的补码:,符号位为,1,,其余位为该数绝对值的原码按位取反,然后整个数加,1,。,例如,30(byte,型,),的补码:,00011110,。,-30(byte,型,),的补码是,11100010,:因为是负数,则符号位为“,1,”,其它位为,30,的原码,0011110,,整个为,10011110,;,10011110,按位取反为,11100001,;再加,1,,则,-30,的补码为,11100010,。,18,2025/5/31 周六,3.1,表达式,已知一个数的补码,如何求原码?,如果补码的符号位为,”0”,,表示是一个正数,所以补码就是该数的原码。,如果补码的符号位为,”1”,,表示是一个负数,求原码的操作可以是:符号位为,1,,其余各位取反,然后再整个数加,1,。,例如,,一个数的补码为,11100010,,则原码为,10011110,(-30),:,因为符号位为,”1”,,表示是一个负数,所以该位不变,仍为,”1”,,其余,7,位,1100010,取反后为,0011101,,再加,1,,所以是,10011110,。,11100010,10011101,10011110,19,2025/5/31 周六,3.1,表达式,-30,的运算过程:,-30,的补码:,11100010,按位取反:,00011101,对应的十进制数:,29,24&-13,的运算过程:,24,的补码:,00011000,-13,的补码:,11110011,按位与:,00010000,对应的十进制数:,16,20,2025/5/31 周六,3.1,表达式,24-13,的运算过程:,24,的补码:,00011000,-13,的补码:,11110011,异或:,11101011,对应的十进制数:,-21,对应的原码:,10010101,-301,的运算过程:,-30,的补码:,11100010,右移,1,位:,11110001,对应的原码:,10001111,对应的十进制数:,-15,-30=”,.a=4,等价于,a=a4,。,“=”,.a=4,等价于,a=a=”,.a=,等价于,a=4,。,赋值语句:,var=var op expression,(,其中,,var,是变量,,op,是算术运算符或位运算符,,expression,为表达式,),可以表示为,var op=expression,22,2025/5/31 周六,3.1,表达式,条件运算符,(?=),:,是三元运算符,它一般形式为:,表达式,?,语句,1,:,语句,2,;,表达式得到一个逻辑值,根据该值得真假决定执行什么操作。如果为真,(true),,执行语句,1,,否则执行语句,2(,语句,1,和语句,2,需要返回相同的类型,且不能是,void),。,例如:,int,a=100,b=90;,System.out.println(ab?(a+=10);(b+=10);,110,点运算符,(.),实例运算符,(instanceof),new,运算符,数组下标运算符,(),23,2025/5/31 周六,3.1,表达式,运算符的优先级,高,低,.,(),+,-,!,instanceof,new(type),*,/,%,+,-,=,=,=,24,2025/5/31 周六,3.1,表达式,3.,表达的提升和转换,转换原则:,变量和表达式可以转换为更一般的形式,而不能转换为更受限的形式。如果变量类型至少与表达式类型一样,(,即位数一样多,),,就可以认为表达式是赋值相容的。,25,2025/5/31 周六,3.1,表达式,4.,数学函数,数学函数包:,java.math;,math.sin().,math.cos().,math.tan().,math.round().,四舍五入运算。,math.ceil(i),。大于等于,i,的最小整数。,math.floor(i).,小于等于,i,的最大整数。,math.sqrt(i).i,的平方根。,math.exp(i).e,的指数,e,i,。,math.log(i).10,的对数,log i,。,math.max(a,b).,返回,a,和,b,中的最大者。,math.min(a,b).,返回,a,和,b,中的最小者。,math.random().,返回,0.0,到,1.0,之间双精度的一个随机数。,26,2025/5/31 周六,3.2,控制流,语句:,语句是,Java,的最小执行单位,语句间以分号,(;),作为分隔符。语句分为简单语句和复合语句,简单语句就是通常意义下的一条语句,即单语句;而复合语句是一对花括号“,”和“,”括起来的语句组,也称为块,块后没有分号。,常见语句:,表达式语句,块,分支语句,循环语句,27,2025/5/31 周六,3.2,控制流,1.,表达式语句,在,Java,程序中,表达式可以当作一个值,有的表达式也可以当作语句。,customer=,new,Customer();,point=new Point();,x=12;,x+;,System.out.println(“hello world!”);,28,2025/5/31 周六,3.2,控制流,2.,块,块是一对花括号“,”和“,”括起来的语句组。,Point,point=new Point();,int x=point.x;,29,2025/5/31 周六,3.2,控制流,3.,分支语句,分支语句根据一定的条件,动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。分支语句有两种:,if,语句和,switch,语句。,if,语句,基本格式,if(,逻辑表达式,),语句,1;,else,语句,2;,30,2025/5/31 周六,3.2,控制流,if,语句的常见形式,if,(,逻辑表达式,),/,逻辑表达式为,true,时要执行的语句,;,if,(,逻辑表达式,),/,逻辑表达式为,true,时要执行的语句,;,else,/,逻辑表达式为,false,时要执行的语句,;,31,2025/5/31 周六,3.2,控制流,if(,逻辑表达式,1),/,逻辑表达式,1,为,true,时要执行的语句,;,else if(,逻辑表达式,2),/,逻辑表达式,2,为,true,时要执行的语句,;,else,/,前面的逻辑表达式全为,false,时要执行的语句,;,32,2025/5/31 周六,3.2,控制流,switch,语句,switch,(,表达式,),case,c1,:,语句组,1,;,break,;,case,c2,:,语句组,2,;,break,;,case,ck,:,语句组,k,;,break,;,default,:,语句组,;,break,;,注:,表达式的计算结果必须是,int,型或字符型,即,int,型赋值相容的。,Java,规定,switch,语句不允许使用浮点型或,long,型表达式。,c1,c2,ck,是,int,型或字符型常量,,default,子句是可选的,最后一个,break,语句可以不写。,33,2025/5/31 周六,3.2,控制流,4.,循环语句,Java,提供三种循环语句:,for,语句、,while,语句和,do,语句。,for,语句,for(,初始语句,;,逻辑表达式,;,迭代语句,),循环体语句,;,for,语句的语义是:,先执行初始语句,判断逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。这个过程一直进行下去,直到逻辑表达式的值为假时,循环结束,转到,for,之后的语句。,for,语句中定义的循环控制变量只在该块内有效。,34,2025/5/31 周六,3.2,控制流,while,语句,while(,逻辑表达式,),循环体语句,;,while,语句的语义是:,计算逻辑表达式,当逻辑表达式为真时,重复执行循环体语句,直到逻辑表达式为假时结束。如果第一次检查时逻辑表达式为假,则循环体语句一次也不执行,如果逻辑表达式始终为真,则循环不会终止。,35,2025/5/31 周六,3.2,控制流,do,语句,do,循环体语句,;,while(,逻辑表达式,),do,语句的语义是:,首先执行循环体语句,然后判定逻辑表达式的值,当表达式为真时,重复执行循环体语句,直到表达式为假时结束。不论逻辑表达式的值是真是假,,do,循环中的循环体都至少执行一次。,36,2025/5/31 周六,3.2,控制流,break,与,continue,语句,break,语句:,break,语句可用于三类语句中,一类是,switch,语句中,一类是,for,、,while,及,do,等循环语句中,还有一类是块语句中。,在,switch,语句及循环语句中,,break,的语义是跳过本块中余下的所有语句,转到块尾,执行其后的语句。,37,2025/5/31 周六,3.2,控制流,在块中和标号配合使用,语法格式为:,break,标号;,其语义是跳出标号所标记的语句块,继续执行其后的语句。,38,2025/5/31 周六,3.2,控制流,continue,语句,在循环语句中,,continue,可以立即结束当次循环而执行下一次循环。,39,2025/5/31 周六,3.2,控制流,continue,语句可以和标号一起使用,其语法格式为:,continue,标号,;,它立即结束标号标记的那重循环的当次循环,开始执行下一次循环。,40,2025/5/31 周六,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服