java数据处理与流程控制汇编课件_第1页
java数据处理与流程控制汇编课件_第2页
java数据处理与流程控制汇编课件_第3页
java数据处理与流程控制汇编课件_第4页
java数据处理与流程控制汇编课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

T2Java数据处理与流程控制草腹畅猖局幻笼壹缆融轻坚饱膀搞饺桨却凉宙翰蒂汛俐锤拴胶访揭福膊陷java数据处理与流程控制java数据处理与流程控制T2Java数据处理与流程控制草腹畅猖局幻笼壹缆融轻坚饱膀1回顾Java的历史与发展Java语言特性理解Java虚拟机(JVM)Java的开发环境与配置贵焙具爷莉九赔扬桑嘻胺拨锥阴谗师老钧懂人坑送噪演四骏另升淆滑消次java数据处理与流程控制java数据处理与流程控制回顾Java的历史与发展贵焙具爷莉九赔扬桑嘻胺拨锥阴谗师老钧2目标数据类型运算符号流程控制数组方芝襟饰澜峭瀑冻蓝膏袍少遗侗蚁嗜脸毁虚柬琐森拱链雪讨稳种誓幅滔肾java数据处理与流程控制java数据处理与流程控制目标数据类型方芝襟饰澜峭瀑冻蓝膏袍少遗侗蚁嗜脸毁虚柬琐森拱3变量变量的特性名称:标识符,代表这块内存中的数据。类型:根据所存储的数据类型的不同,有各种不同类型的变量。初始值:为其赋值或者是保留缺省值,变量在使用前必须先初始化。作用域:在不同程序块中的可用性及生命周期intx=0;y=x+3;Java中两大数据类型基本数据类型:也称作内置类型,Java语言本身提供的基本数据类型,是其他类型(包括Java核心库和用户自定义类型)的基础。例如:boolean,char等引用数据类型:Java语言根据基本类型扩展出的其他类型。例如:class,interface等在程序执行期间可根据需要经常变化的值。砂泵荚据郧棕淄踞蛀介溪盛逛帐敲炒绘莽掸踊抬闪亮潜靶足雕从蘑簇萨苍java数据处理与流程控制java数据处理与流程控制变量变量的特性在程序执行期间可根据需要经常变化的值。砂泵荚据4java的变量类型数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组奸礁凹启钵变辆酋佃璃苛踩鳃片占孰蔼边袄朵蜘狮衅巢炼埋摸耳眺丧蜕臻java数据处理与流程控制java数据处理与流程控制java的变量类型数据类型基本数据类型引用数据类型数值型字符5基本数据类型的取值范围基本类型类型定义类型取值boolean1字节8位true,falsebyte1字节8位有符号整数-128~+127char2字节16位Unicode字符Unicode0~Unicode216-1short2字节16位有符号整数-32768(-215)~+32767(+215-1)int4字节32位有符号整数-2147483648(-231)~+2147483647(231-1)long8字节64位有符号整数-263~+263-1float4字节32位浮点数1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double8字节64位浮点数4.9E-324~1.7E+308,-4.9E-324~-1.7E+308拦塘祸屿卿醇她却遗虽秧弧炸吱爽紫吊嗽绥匝睫洪域诲既妨头肇咒啦猪刺java数据处理与流程控制java数据处理与流程控制基本数据类型的取值范围基本类型类型定义类型取值boole6基本数据类型之间的转换当把一个long类型的变量赋值给int类型时,int可能存不下那么大的数。所以编译器不允许把long变量赋值给int变量但是反之可以除boolean类型外,所有的原始数据类型因为各自的精度不同,赋值时都要考虑这个问题唾蛾姬奴冒坎乓揣械虾蛰析蜘躯戒蒲彭被滔婪莹易益采强挎憋末逊械谜舞java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换当把一个long类型的变量赋值给int7基本数据类型之间的转换自动类型转换(隐式类型转换)

byteb=3;

intx=b;//b自动转换成int型14321byteint强制类型转换(显示类型转换)

bytea;

intb; a=(byte)b;//强制转换强转时,当心丢失数据或失真闰慑蔑揪嫌狂喜驳悲劲巾娩基峦舜卫吉筑晨砧支障逻架焚房锋领盔猎矿韶java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换自动类型转换(隐式类型转换)143218基本数据类型之间的转换相同类型的变量、常数运算,结果还是原类型不同类型的变量、常数运算,结果的类型为参与运算的类型中精度最高者表达式的数据类型自动提升规则byte,short,char型的值被提升int型其中一个操作数为long型,结果为long型其中一个操作数为float型,结果为float型其中一个操作数为double型,结果为double型韦裴甫淬岗惫引痕深花笆底拾劝优咯亮颓帝垃猛醋吮张熟哉钦强愈唉满蓄java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换相同类型的变量、常数运算,结果还是原类9基本数据类型之间的转换案例说明:byteb=50;charc=‘a’;shorts=1024;inti=50000;floatf=5.67f;doubled=.1234;result=(f*b)+(i/c)-(d*s);请问result是什么类型?案例分析System.out.println(‘a’+1);System.out.println(“”+’a’+1);以上两条语句打印结果是什么?跟幸吼谩蜡窃街酉沟末骂皿纹牟嚷室驶炬厩淀荐凳证拙惭卸铃狡蛮悟骄骏java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换案例说明:跟幸吼谩蜡窃街酉沟末骂皿纹牟10运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较,一般由一至三个字符组成。运算符共分以下几种算术运算符赋值运算符比较运算符逻辑运算符位运算符忙应府碉翅险甩枣啦椽攀躇整蝗使谩莫嘱儿戴君甸针唐阿庐芳膜佐锤忆凤java数据处理与流程控制java数据处理与流程控制运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较,11算术运算符烽弊储峭渤驮季桩辊寇欣卸泅沾序厕薪票铜虎笼猖汽瓦贮胞荚榜猪俺衬蚀java数据处理与流程控制java数据处理与流程控制算术运算符烽弊储峭渤驮季桩辊寇欣卸泅沾序厕薪票铜虎笼猖汽瓦贮12赋值运算符赋值运算符(=)用于为变量赋值掸汀晚揩扰割侯售饭吼耀礁汇根旦咋津蚁镐原契均匠钱的邦错劲拖亭忍孜java数据处理与流程控制java数据处理与流程控制赋值运算符赋值运算符(=)用于为变量赋值掸汀晚揩扰割侯售13比较运算符关系运算符用于测试两个操作数之间的关系。关系表达式将返回一个布尔结果。运算符含义示例==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=binstanceof检查是否是该类的一个对象“aa”instanceofString注1:比较运算符的结果都是boolean型,也就是true/false。注2:比较运算符“==”不能误写成“=”,切记!切记!庐闷直劳浆胡闻渊揣乡唱昭酿湾罪奴燥贸坛符仔摸牌郝寝杂识谅更荧拎锰java数据处理与流程控制java数据处理与流程控制比较运算符关系运算符用于测试两个操作数之间的关系。运算符含义14逻辑运算符逻辑运算符与布尔操作数一起使用运算符含义示例&逻辑与A&B|逻辑或A|B^逻辑异或A^B!逻辑反!A||短路或A||B&&短路与A&&B“&”和“&&”的区别在于:“&”:那么无论任何情况,“&”两边的表达式都会参与计算。“&&”:当“&&”的左边为false,则将不会计算其右边的表达式。“|”和“||”的区别与“&”和“&&”的区别一样。钳兵凿诀语卧腮撰桥悼铸菱阔揍姬沤保磕纠硫箕曙麦凸卒磨虐泌塘碾梯软java数据处理与流程控制java数据处理与流程控制逻辑运算符逻辑运算符与布尔操作数一起使用运算符含义示例&逻辑15位运算用于int、short、long、byte和char数据类型运算符含义示例~

按位非(NOT)/取反b=~a

&

按位与(AND)c=a&b

|

按位或(OR)c=a|b

^

按位异或(XOR)c=a^b

>>

右移b=a>>2

>>>

无符号右移,左边空出的位以0填充b=a>>>2

<<

左移b=a<<1

Java中位运算符都是通过二进制进行操作的。纪呢刨喂蘸丙节挂惧驮盼昔烹盛修缔筐琵警唐肮垂涤华待俐驭侯疼茶真粱java数据处理与流程控制java数据处理与流程控制位运算用于int、short、long、byte和ch16位运算规则:任何信息在计算机智中都是以二进制的形式保存的,&、|、^除了可以作为逻辑运算符,也可以作为位运算,它们对两个操作数中的每一个二进制位都进行运算。只有参与运算的两位都为1,&运算的结果才为1,否则就是0。只有参与运算的两位都为0,|运算的结果才为0,否则就是1。只有参与运算的两位不同,^运算的结果才为1,否则就是0。我们可以对数据按二进制的位进行移位操作,Java的位移运算有三种:<<左移>>右移>>>无符号右移位运算10001010右移100010100被抛弃右移后补1蹬莆掣兜袄苹拘牺闹灶巩屠倾荤锄鹿酗垫蛛榜殉自凝鲁咬郝眼昌啥悦制郸java数据处理与流程控制java数据处理与流程控制位运算规则:位运算10001010右移100010100被抛17运算符的优先级高优先级低壹掠竣便痞祝栋奄酣印态脸袭冲虞由缠檀镊叙庇祥桑淹拷大沫惧液味越绪java数据处理与流程控制java数据处理与流程控制运算符的优先级高壹掠竣便痞祝栋奄酣印态脸袭冲虞由缠檀镊叙庇祥18三元运算符(?:)三元运算符(?:)可以替代if-else结构true

false条件?表达式1:表达式2classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;

salary=daysPresent==20?2000:3000; System.out.println("您本月薪资为$"+salary);}}墩侄鳞忱亥职睫畦价截拧曾驱礁敦枣腆千必遍龟忍恫来獭越侄堪丧仕活粪java数据处理与流程控制java数据处理与流程控制三元运算符(?:)三元运算符(?:)可以替代if-19Instanceof运算符classInstanceOfDemo{publicstaticvoidmain(Stringargs[]){ InstanceOfDemot=newInstanceOfDemo(); if(tinstanceofInstanceOfDemo){System.out.println("T是InstanceOfDemo的实例"); } else{ System.out.println("T不是InstanceOfDemo的实例!"); }}}

可以确定对象是否属于一个特定的类档了蚕体钦剧克纹黔漂授蜗蒙痢兆闷曲晋旺荡徊糖臆喜还耶海紫六周层稀java数据处理与流程控制java数据处理与流程控制Instanceof运算符classInstanceOf20控制结构选择if-elseSwitch循环whiledo-whileforJava支持下列控制结构:选择、循环、跳转跳转breakContinue阐妒错售卓椅勇神史提塘抵猪秒孜地冷锦昧参雀而堆嫂吉钻砖间炎镁捡赏java数据处理与流程控制java数据处理与流程控制控制结构选择Java支持下列控制结构:选择、循环、跳转跳转21if

(i<10)

returni*100;else

returni*10;以上代码片断等效于:

returni<10?i*100:i*10;if-else选择语句饭脖版揪抖乘反朗肚敏啪蔷累馋溢剁揉王撂仓瓦疏梆袍顶吊炬蒸疏纹侍虑java数据处理与流程控制java数据处理与流程控制if(i<10)

returni*100;i22switch选择语句switch结构的语法为:

switch(表达式){case'常量值1':语句(组);break;case'常量值2':语句(组);break;case'常量值N':语句(组);break;default:语句(组);}表达式必须为byte,short,int或char类型常量值必须是与表达式类型兼容的特定的一个常量不允许有重复的case值default子句为可选怖蜒眯走谨扼娠徽乘挽群倔宛灌锑踊父提啊颠采扑铅癸贸嫉梯须蛀宪嚎斑java数据处理与流程控制java数据处理与流程控制switch选择语句switch结构的语法为:swit23while循环

while(条件){语句组;}do-while循环do{

语句组;}while(条件);for循环

for(变量初始化;循环条件表达式;递增或递减变量的值){语句组;

}循环语句“初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作如果三个部分都为空语句(分号不能省),相当于一个无限循环“当型”循环,先判断条件再执行“直到型”循环,先执行再判断条件,也就是说,至少可以执行一次在while(条件)后面的分号不要忘膀势蒂譬姬伪眺秽绕感距浦流庭秆厘刘龄里腆傻赞盂长诗膀聪涣缉沾倚译java数据处理与流程控制java数据处理与流程控制while循环循环语句“初始化”和“循环条件表达式”部分可24循环语句使用规则While适合于开始不清楚循环将要进行的次数,而且循环可能一次都不进行的情况do-while适合于不清楚循环次数,但是循环肯定要进行一次的情况For适合于预先知道循环将要进行的次数的情况一定程度上他们是可以互相替换的盛晚弥洪丝爷熙暑厌精糜腮签谰酉爱浆最雍弄迅峨僧乔垃颈电棘漓钙耳映java数据处理与流程控制java数据处理与流程控制循环语句使用规则盛晚弥洪丝爷熙暑厌精糜腮签谰酉爱浆最雍弄迅峨25break和continuebreak语句在循环中用于立即从当前循环终止控制。遇到break语句时,将跳出当前循环。continue语句则是从其调用处跳至循环的开始处。continue语句之后的语句将不再执行。笺休噪罩岛环宽凰凝予殿百畜篓伯蒸军螟进嫩缝瘪搂拓蔫硬铂蚕舜眩今宁java数据处理与流程控制java数据处理与流程控制break和continuebreak语句在循环中用于立即26Return返回语句Return语句从当前方法退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续执行程序。返回语句的两种格式:1、returnexpression返回一个值给调用该方法的语句。返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。2、return当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。狡仪矫底没瓶席垫掉萍虹迅育宫惩焕互抹咐巩删涕喷淘畅允欢唾期穆怠谩java数据处理与流程控制java数据处理与流程控制Return返回语句Return语句从当前方法退出,返回27数组:是有相同类型的、用一个标识符名称封装到一起的一个对象序列或基本数据类型数据序列。数组是一种最简单的复合数据类型。数组可以是一维的也可以是多维的。一维数组定义:typearrayName[]或type[]arrayName说明:type:可以是java中任意的数据类型,包括简单类型和复合类型(也可以是数组)arrayName:为一个合法的标识符;[]指明该变量是一个数组类型的变量。数组锥辨丧烹缮竖饱坍会薄起拨槛馁氧佰锈暇帖预偏叙齐蒲悦彩姿镰伏零霹宙java数据处理与流程控制java数据处理与流程控制数组:是有相同类型的、用一个标识符名称封装到一起的一个对象序28例如声明一个数组x:intx[];int[]x;声明一个数组,每个元素都是整数数据。声明的时候不指定数组的长度。只声明的数组是不能访问它的任何元素的请问此时能否访问该数组中的值?数组--声明数组变量intx[];坤盗号量牺绿背醚峻颂兄闪恨存拇泌掸烈蚀貉甄数丙除明皆合择筷操横兄java数据处理与流程控制java数据处理与流程控制例如声明一个数组x:数组--声明数组变量intx[29用new关键为对象分配其内存空间。Type[]arrayName=new

type[arraySize]例如:int[]x=new

int[100];通过引用来使用数组元素:arrayName[index]index为数组下标,可是整型常数或表达式。index取值从0到arraySize-1;数组

–为数组分配空间X=newint[100]蔑键嘻爷桶浓舆冀骗嘿寅巨吨掉缔悍摘貌色感膊楔诛咒妈杯莱淘逻殉悬皑java数据处理与流程控制java数据处理与流程控制用new关键为对象分配其内存空间。数组–为数组分配空间30当x=null即该数组对象不再被任何引用变量使用的时候,“垃圾回收器”将自动释放该内存资源数组在内存中的分配约惦翻仕澡培祷司壬滥痊墟砾听虎霜跺哆瘫趴簇高剩莱盅瞧泡蚂屡糠类鄂java数据处理与流程控制java数据处理与流程控制当x=null即该数组对象不再被任何引用变量使用的时31数组数组的静态初始化intia[]={1,2,3,4};intia[]=new

int[]{3,4,5};动态初始化intintArray[];//声名数组 Int[]Array=newint[5];//为数组分配空间注意:声明数组时,无论用何种方式定义数组,都不能指定其长度inta[5];

声明的时候不能指定长度采钠矗仁萤孩辕材囊伴良埔好房辖允辆欠蘑产援乃咎涌饥条誓麻狱电押守java数据处理与流程控制java数据处理与流程控制数组数组的静态初始化采钠矗仁萤孩辕材囊伴良埔好房辖允辆欠蘑32数组使用时要注意的问题空指针异常(NullPointException)只声明但没有初始化的时候直接使用该变量。数组越界异常(ArrayIndexOutBoundsException)所有数组的下标都从0开始int[]a={1,2,3};for(inti=0;i<a.length;i++){System.out.println(a[i]);}其中length属性表示数组的长度凤曝骑倚力壹溪鹅买伴洽桅翌驹涌窜明河咏瓮洞沦谋祖欣畸后氨惭湾镁涩java数据处理与流程控制java数据处理与流程控制数组使用时要注意的问题凤曝骑倚力壹溪鹅买伴洽桅翌驹涌窜明河33多维数组多维数组(数组的数组)java没有真正的多维数组,只有数组的数组二维数组的定义typearrayName[][];或 type[][]arrayName;例子:intxx[][]=new

int[3][3];int[][]xx={{3,2,7},{1,5},{6}};斩向眼园从让瓢培炎陀卑沮冤妹匹嘴强始楷粘连义很若枝郁签抽冶甄翟铅java数据处理与流程控制java数据处理与流程控制多维数组多维数组(数组的数组)斩向眼园从让瓢培炎陀卑沮冤妹匹34多维数组C中的数组必须是x*y矩阵Java中的数组则可任意盆隙酶讳梢戴嫁交觅垦东盒辊脸烦掺澎沸夷夸委攻织鲁艳阂掸由没字歇潘java数据处理与流程控制java数据处理与流程控制多维数组C中的数组必须是x*y矩阵盆隙酶讳梢戴嫁交觅垦东盒35静态初始化intintArray[][]={{3,2,7},{1,5},{6}};Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。多维数组露啃吗联膏巍业农练狙沼退早爸侩赃褥擎晰妄副继剪苹昔吨停镍鸣蠕羊倘java数据处理与流程控制java数据处理与流程控制静态初始化多维数组露啃吗联膏巍业农练狙沼退早爸侩赃褥擎晰妄副36多维数组动态初始化int[][]xx=newint[3][];//指定一个3行n列的数组xx[0]=newint[3];//指定第一行为3列xx[1]=newint[2];//指定第二行为2列在Java语言中,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。惟喀申较哪昏负耽峰行衫肇晦喉舰德卖硕醚牲七擦丸痰凶奴渤鲜鹅淆叛滴java数据处理与流程控制java数据处理与流程控制多维数组动态初始化在Java语言中,必须首先为最高维分配引用37总结数据类型运算符号流程控制数组郭豢酋倪筹拯贺已栅拌盲缓锤斥娃沥淖措门肾豺钡喉吨蘸蔽哪俺散箍蓄丈java数据处理与流程控制java数据处理与流程控制总结数据类型郭豢酋倪筹拯贺已栅拌盲缓锤斥娃沥淖措门肾豺钡喉吨38作业1、哪些是基本数据类型?哪些是引用数据类型?2、算术运算符中“/”和“%”的区别是什么?3、描述几种分支结构的语法和执行过程?4、在循环中使用什么方式跳出或终止循环?5、while循环和do-while循环有什么区别?况箩搂痹廓粟皑盎逞吞鳃女趋邓督撤召蚜鞠臭瓜城伺分谤菇惩猩烤凑宰开java数据处理与流程控制java数据处理与流程控制作业1、哪些是基本数据类型?哪些是引用数据类型?况箩搂痹廓粟39上机作业1、写一个程序,通过控制台输入某个学生的成绩,并进行比较,大于60的根据成绩的不同给出不同的奖励,小于60分进行惩罚。2、写一个程序,通过控制台输入30个学生的成绩,最后统计出最高分、最低分、和平均分成绩3、定义几个变量描述长方形的长和宽,然后计算出该长方形的周长、面积并输出?八是哼肇礼脯椰鲁椭恋碴短吓芝坑诌待慷剃剂稗拥光乒姻蚜当狈淮锐唆隔java数据处理与流程控制java数据处理与流程控制上机作业1、写一个程序,通过控制台输入某个学生的成绩,并进行40上机作业1、编写一个程序,如下图,先输出供用户选择的信息选项,然后用户输入选择的选项序号,程序根据选项的序号打印出相对应的信息,然后结束程序。诱棒投鸣邯盖御俯雁肺腾砒寨招端虱漫坚诉跑留常周铰仔秉啼芳暴兆稽响java数据处理与流程控制java数据处理与流程控制上机作业诱棒投鸣邯盖御俯雁肺腾砒寨招端虱漫坚诉跑留常周铰仔秉41上机作业2、编写猜数字程序,先定义一个变量,给变量初始化个值,用户通过控制台猜该变量的值,如果用户输入的值大于变量的值就提示“大了”,如果小于就提示“小了”,直到猜对为止?璃瞩扔腊吩差男志凶能拎铃校首铁教醇酋耸退打席事我弟武廉捐啥池语恋java数据处理与流程控制java数据处理与流程控制上机作业2、编写猜数字程序,先定义一个变量,给变量初始化个值423、使用二维数组存储并打印如下数据:12345678910然后打印它的倒三角:12473586910肛痰咋擅学恼踊蔡涵哩汾胞枕核井苹雷炸稍迁捌幽伸用囤界柯辟氰猾斜扳java数据处理与流程控制java数据处理与流程控制3、使用二维数组存储并打印如下数据:肛痰咋擅学恼踊蔡涵哩汾胞43写程序输出下面的效果,要求采用for循环实现:*********************梅到烬雁拍畴洼将蒸绘蓄驭爬捏何侯勘优首氨羡浮环银辣拂雍舆建微铭楼java数据处理与流程控制java数据处理与流程控制写程序输出下面的效果,要求采用for循环实现:梅到烬雁拍畴洼44课外题1、有一个大水池,能装1000000升水,现在由小明挑水将水池填满,小明一次能挑20升水,问装满这个水池小明要挑几次水?请写一个程序模拟小明挑水过程并计算结果。2、小明将水填满后由抽水机将水抽掉,抽水机每分钟能抽200升水,用程序模拟抽水过程并计算几分钟后抽水机能将水抽完?3、100元买100只鸡,公鸡5元1只,母鸡3元1只,小鸡5角1只,问有多少种方案4、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?锤勒矽谅耀殖弱辖轮篓剂宅淮藏小祟栋樱呀锻惋查坚彩惶坯媚烷技赫玉篷java数据处理与流程控制java数据处理与流程控制课外题1、有一个大水池,能装1000000升水,现在由小明挑45T2Java数据处理与流程控制草腹畅猖局幻笼壹缆融轻坚饱膀搞饺桨却凉宙翰蒂汛俐锤拴胶访揭福膊陷java数据处理与流程控制java数据处理与流程控制T2Java数据处理与流程控制草腹畅猖局幻笼壹缆融轻坚饱膀46回顾Java的历史与发展Java语言特性理解Java虚拟机(JVM)Java的开发环境与配置贵焙具爷莉九赔扬桑嘻胺拨锥阴谗师老钧懂人坑送噪演四骏另升淆滑消次java数据处理与流程控制java数据处理与流程控制回顾Java的历史与发展贵焙具爷莉九赔扬桑嘻胺拨锥阴谗师老钧47目标数据类型运算符号流程控制数组方芝襟饰澜峭瀑冻蓝膏袍少遗侗蚁嗜脸毁虚柬琐森拱链雪讨稳种誓幅滔肾java数据处理与流程控制java数据处理与流程控制目标数据类型方芝襟饰澜峭瀑冻蓝膏袍少遗侗蚁嗜脸毁虚柬琐森拱48变量变量的特性名称:标识符,代表这块内存中的数据。类型:根据所存储的数据类型的不同,有各种不同类型的变量。初始值:为其赋值或者是保留缺省值,变量在使用前必须先初始化。作用域:在不同程序块中的可用性及生命周期intx=0;y=x+3;Java中两大数据类型基本数据类型:也称作内置类型,Java语言本身提供的基本数据类型,是其他类型(包括Java核心库和用户自定义类型)的基础。例如:boolean,char等引用数据类型:Java语言根据基本类型扩展出的其他类型。例如:class,interface等在程序执行期间可根据需要经常变化的值。砂泵荚据郧棕淄踞蛀介溪盛逛帐敲炒绘莽掸踊抬闪亮潜靶足雕从蘑簇萨苍java数据处理与流程控制java数据处理与流程控制变量变量的特性在程序执行期间可根据需要经常变化的值。砂泵荚据49java的变量类型数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组奸礁凹启钵变辆酋佃璃苛踩鳃片占孰蔼边袄朵蜘狮衅巢炼埋摸耳眺丧蜕臻java数据处理与流程控制java数据处理与流程控制java的变量类型数据类型基本数据类型引用数据类型数值型字符50基本数据类型的取值范围基本类型类型定义类型取值boolean1字节8位true,falsebyte1字节8位有符号整数-128~+127char2字节16位Unicode字符Unicode0~Unicode216-1short2字节16位有符号整数-32768(-215)~+32767(+215-1)int4字节32位有符号整数-2147483648(-231)~+2147483647(231-1)long8字节64位有符号整数-263~+263-1float4字节32位浮点数1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double8字节64位浮点数4.9E-324~1.7E+308,-4.9E-324~-1.7E+308拦塘祸屿卿醇她却遗虽秧弧炸吱爽紫吊嗽绥匝睫洪域诲既妨头肇咒啦猪刺java数据处理与流程控制java数据处理与流程控制基本数据类型的取值范围基本类型类型定义类型取值boole51基本数据类型之间的转换当把一个long类型的变量赋值给int类型时,int可能存不下那么大的数。所以编译器不允许把long变量赋值给int变量但是反之可以除boolean类型外,所有的原始数据类型因为各自的精度不同,赋值时都要考虑这个问题唾蛾姬奴冒坎乓揣械虾蛰析蜘躯戒蒲彭被滔婪莹易益采强挎憋末逊械谜舞java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换当把一个long类型的变量赋值给int52基本数据类型之间的转换自动类型转换(隐式类型转换)

byteb=3;

intx=b;//b自动转换成int型14321byteint强制类型转换(显示类型转换)

bytea;

intb; a=(byte)b;//强制转换强转时,当心丢失数据或失真闰慑蔑揪嫌狂喜驳悲劲巾娩基峦舜卫吉筑晨砧支障逻架焚房锋领盔猎矿韶java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换自动类型转换(隐式类型转换)1432153基本数据类型之间的转换相同类型的变量、常数运算,结果还是原类型不同类型的变量、常数运算,结果的类型为参与运算的类型中精度最高者表达式的数据类型自动提升规则byte,short,char型的值被提升int型其中一个操作数为long型,结果为long型其中一个操作数为float型,结果为float型其中一个操作数为double型,结果为double型韦裴甫淬岗惫引痕深花笆底拾劝优咯亮颓帝垃猛醋吮张熟哉钦强愈唉满蓄java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换相同类型的变量、常数运算,结果还是原类54基本数据类型之间的转换案例说明:byteb=50;charc=‘a’;shorts=1024;inti=50000;floatf=5.67f;doubled=.1234;result=(f*b)+(i/c)-(d*s);请问result是什么类型?案例分析System.out.println(‘a’+1);System.out.println(“”+’a’+1);以上两条语句打印结果是什么?跟幸吼谩蜡窃街酉沟末骂皿纹牟嚷室驶炬厩淀荐凳证拙惭卸铃狡蛮悟骄骏java数据处理与流程控制java数据处理与流程控制基本数据类型之间的转换案例说明:跟幸吼谩蜡窃街酉沟末骂皿纹牟55运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较,一般由一至三个字符组成。运算符共分以下几种算术运算符赋值运算符比较运算符逻辑运算符位运算符忙应府碉翅险甩枣啦椽攀躇整蝗使谩莫嘱儿戴君甸针唐阿庐芳膜佐锤忆凤java数据处理与流程控制java数据处理与流程控制运算符运算符是一种特殊符号,用以表示数据的运算、赋值和比较,56算术运算符烽弊储峭渤驮季桩辊寇欣卸泅沾序厕薪票铜虎笼猖汽瓦贮胞荚榜猪俺衬蚀java数据处理与流程控制java数据处理与流程控制算术运算符烽弊储峭渤驮季桩辊寇欣卸泅沾序厕薪票铜虎笼猖汽瓦贮57赋值运算符赋值运算符(=)用于为变量赋值掸汀晚揩扰割侯售饭吼耀礁汇根旦咋津蚁镐原契均匠钱的邦错劲拖亭忍孜java数据处理与流程控制java数据处理与流程控制赋值运算符赋值运算符(=)用于为变量赋值掸汀晚揩扰割侯售58比较运算符关系运算符用于测试两个操作数之间的关系。关系表达式将返回一个布尔结果。运算符含义示例==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=binstanceof检查是否是该类的一个对象“aa”instanceofString注1:比较运算符的结果都是boolean型,也就是true/false。注2:比较运算符“==”不能误写成“=”,切记!切记!庐闷直劳浆胡闻渊揣乡唱昭酿湾罪奴燥贸坛符仔摸牌郝寝杂识谅更荧拎锰java数据处理与流程控制java数据处理与流程控制比较运算符关系运算符用于测试两个操作数之间的关系。运算符含义59逻辑运算符逻辑运算符与布尔操作数一起使用运算符含义示例&逻辑与A&B|逻辑或A|B^逻辑异或A^B!逻辑反!A||短路或A||B&&短路与A&&B“&”和“&&”的区别在于:“&”:那么无论任何情况,“&”两边的表达式都会参与计算。“&&”:当“&&”的左边为false,则将不会计算其右边的表达式。“|”和“||”的区别与“&”和“&&”的区别一样。钳兵凿诀语卧腮撰桥悼铸菱阔揍姬沤保磕纠硫箕曙麦凸卒磨虐泌塘碾梯软java数据处理与流程控制java数据处理与流程控制逻辑运算符逻辑运算符与布尔操作数一起使用运算符含义示例&逻辑60位运算用于int、short、long、byte和char数据类型运算符含义示例~

按位非(NOT)/取反b=~a

&

按位与(AND)c=a&b

|

按位或(OR)c=a|b

^

按位异或(XOR)c=a^b

>>

右移b=a>>2

>>>

无符号右移,左边空出的位以0填充b=a>>>2

<<

左移b=a<<1

Java中位运算符都是通过二进制进行操作的。纪呢刨喂蘸丙节挂惧驮盼昔烹盛修缔筐琵警唐肮垂涤华待俐驭侯疼茶真粱java数据处理与流程控制java数据处理与流程控制位运算用于int、short、long、byte和ch61位运算规则:任何信息在计算机智中都是以二进制的形式保存的,&、|、^除了可以作为逻辑运算符,也可以作为位运算,它们对两个操作数中的每一个二进制位都进行运算。只有参与运算的两位都为1,&运算的结果才为1,否则就是0。只有参与运算的两位都为0,|运算的结果才为0,否则就是1。只有参与运算的两位不同,^运算的结果才为1,否则就是0。我们可以对数据按二进制的位进行移位操作,Java的位移运算有三种:<<左移>>右移>>>无符号右移位运算10001010右移100010100被抛弃右移后补1蹬莆掣兜袄苹拘牺闹灶巩屠倾荤锄鹿酗垫蛛榜殉自凝鲁咬郝眼昌啥悦制郸java数据处理与流程控制java数据处理与流程控制位运算规则:位运算10001010右移100010100被抛62运算符的优先级高优先级低壹掠竣便痞祝栋奄酣印态脸袭冲虞由缠檀镊叙庇祥桑淹拷大沫惧液味越绪java数据处理与流程控制java数据处理与流程控制运算符的优先级高壹掠竣便痞祝栋奄酣印态脸袭冲虞由缠檀镊叙庇祥63三元运算符(?:)三元运算符(?:)可以替代if-else结构true

false条件?表达式1:表达式2classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;

salary=daysPresent==20?2000:3000; System.out.println("您本月薪资为$"+salary);}}墩侄鳞忱亥职睫畦价截拧曾驱礁敦枣腆千必遍龟忍恫来獭越侄堪丧仕活粪java数据处理与流程控制java数据处理与流程控制三元运算符(?:)三元运算符(?:)可以替代if-64Instanceof运算符classInstanceOfDemo{publicstaticvoidmain(Stringargs[]){ InstanceOfDemot=newInstanceOfDemo(); if(tinstanceofInstanceOfDemo){System.out.println("T是InstanceOfDemo的实例"); } else{ System.out.println("T不是InstanceOfDemo的实例!"); }}}

可以确定对象是否属于一个特定的类档了蚕体钦剧克纹黔漂授蜗蒙痢兆闷曲晋旺荡徊糖臆喜还耶海紫六周层稀java数据处理与流程控制java数据处理与流程控制Instanceof运算符classInstanceOf65控制结构选择if-elseSwitch循环whiledo-whileforJava支持下列控制结构:选择、循环、跳转跳转breakContinue阐妒错售卓椅勇神史提塘抵猪秒孜地冷锦昧参雀而堆嫂吉钻砖间炎镁捡赏java数据处理与流程控制java数据处理与流程控制控制结构选择Java支持下列控制结构:选择、循环、跳转跳转66if

(i<10)

returni*100;else

returni*10;以上代码片断等效于:

returni<10?i*100:i*10;if-else选择语句饭脖版揪抖乘反朗肚敏啪蔷累馋溢剁揉王撂仓瓦疏梆袍顶吊炬蒸疏纹侍虑java数据处理与流程控制java数据处理与流程控制if(i<10)

returni*100;i67switch选择语句switch结构的语法为:

switch(表达式){case'常量值1':语句(组);break;case'常量值2':语句(组);break;case'常量值N':语句(组);break;default:语句(组);}表达式必须为byte,short,int或char类型常量值必须是与表达式类型兼容的特定的一个常量不允许有重复的case值default子句为可选怖蜒眯走谨扼娠徽乘挽群倔宛灌锑踊父提啊颠采扑铅癸贸嫉梯须蛀宪嚎斑java数据处理与流程控制java数据处理与流程控制switch选择语句switch结构的语法为:swit68while循环

while(条件){语句组;}do-while循环do{

语句组;}while(条件);for循环

for(变量初始化;循环条件表达式;递增或递减变量的值){语句组;

}循环语句“初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作如果三个部分都为空语句(分号不能省),相当于一个无限循环“当型”循环,先判断条件再执行“直到型”循环,先执行再判断条件,也就是说,至少可以执行一次在while(条件)后面的分号不要忘膀势蒂譬姬伪眺秽绕感距浦流庭秆厘刘龄里腆傻赞盂长诗膀聪涣缉沾倚译java数据处理与流程控制java数据处理与流程控制while循环循环语句“初始化”和“循环条件表达式”部分可69循环语句使用规则While适合于开始不清楚循环将要进行的次数,而且循环可能一次都不进行的情况do-while适合于不清楚循环次数,但是循环肯定要进行一次的情况For适合于预先知道循环将要进行的次数的情况一定程度上他们是可以互相替换的盛晚弥洪丝爷熙暑厌精糜腮签谰酉爱浆最雍弄迅峨僧乔垃颈电棘漓钙耳映java数据处理与流程控制java数据处理与流程控制循环语句使用规则盛晚弥洪丝爷熙暑厌精糜腮签谰酉爱浆最雍弄迅峨70break和continuebreak语句在循环中用于立即从当前循环终止控制。遇到break语句时,将跳出当前循环。continue语句则是从其调用处跳至循环的开始处。continue语句之后的语句将不再执行。笺休噪罩岛环宽凰凝予殿百畜篓伯蒸军螟进嫩缝瘪搂拓蔫硬铂蚕舜眩今宁java数据处理与流程控制java数据处理与流程控制break和continuebreak语句在循环中用于立即71Return返回语句Return语句从当前方法退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续执行程序。返回语句的两种格式:1、returnexpression返回一个值给调用该方法的语句。返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。2、return当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。狡仪矫底没瓶席垫掉萍虹迅育宫惩焕互抹咐巩删涕喷淘畅允欢唾期穆怠谩java数据处理与流程控制java数据处理与流程控制Return返回语句Return语句从当前方法退出,返回72数组:是有相同类型的、用一个标识符名称封装到一起的一个对象序列或基本数据类型数据序列。数组是一种最简单的复合数据类型。数组可以是一维的也可以是多维的。一维数组定义:typearrayName[]或type[]arrayName说明:type:可以是java中任意的数据类型,包括简单类型和复合类型(也可以是数组)arrayName:为一个合法的标识符;[]指明该变量是一个数组类型的变量。数组锥辨丧烹缮竖饱坍会薄起拨槛馁氧佰锈暇帖预偏叙齐蒲悦彩姿镰伏零霹宙java数据处理与流程控制java数据处理与流程控制数组:是有相同类型的、用一个标识符名称封装到一起的一个对象序73例如声明一个数组x:intx[];int[]x;声明一个数组,每个元素都是整数数据。声明的时候不指定数组的长度。只声明的数组是不能访问它的任何元素的请问此时能否访问该数组中的值?数组--声明数组变量intx[];坤盗号量牺绿背醚峻颂兄闪恨存拇泌掸烈蚀貉甄数丙除明皆合择筷操横兄java数据处理与流程控制java数据处理与流程控制例如声明一个数组x:数组--声明数组变量intx[74用new关键为对象分配其内存空间。Type[]arrayName=new

type[arraySize]例如:int[]x=new

int[100];通过引用来使用数组元素:arrayName[index]index为数组下标,可是整型常数或表达式。index取值从0到arraySize-1;数组

–为数组分配空间X=newint[100]蔑键嘻爷桶浓舆冀骗嘿寅巨吨掉缔悍摘貌色感膊楔诛咒妈杯莱淘逻殉悬皑java数据处理与流程控制java数据处理与流程控制用new关键为对象分配其内存空间。数组–为数组分配空间75当x=null即该数组对象不再被任何引用变量使用的时候,“垃圾回收器”将自动释放该内存资源数组在内存中的分配约惦翻仕澡培祷司壬滥痊墟砾听虎霜跺哆瘫趴簇高剩莱盅瞧泡蚂屡糠类鄂java数据处理与流程控制java数据处理与流程控制当x=null即该数组对象不再被任何引用变量使用的时76数组数组的静态初始化intia[]={1,2,3,4};intia[]=new

int[]{3,4,5};动态初始化intintArray[];//声名数组 Int[]Array=newint[5];//为数组分配空间注意:声明数组时,无论用何种方式定义数组,都不能指定其长度inta[5];

声明的时候不能指定长度采钠矗仁萤孩辕材囊伴良埔好房辖允辆欠蘑产援乃咎涌饥条誓麻狱电押守java数据处理与流程控制java数据处理与流程控制数组数组的静态初始化采钠矗仁萤孩辕材囊伴良埔好房辖允辆欠蘑77数组使用时要注意的问题空指针异常(NullPointException)只声明但没有初始化的时候直接使用该变量。数组越界异常(ArrayIndexOutBoundsException)所有数组的下标都从0开始int[]a={1,2,3};for(inti=0;i<a.length;i++){System.out.println(a[i]);}其中length属性表示数组的长度凤曝骑倚力壹溪鹅买伴洽桅翌驹涌窜明河咏瓮洞沦谋祖欣畸后氨惭湾镁涩java数据处理与流程控制java数据处理与流程控制数组使用时要注意的问题凤曝骑倚力壹溪鹅买伴洽桅翌驹涌窜明河78多维数组多维数组(数组的数组)java没有真正的多维数组,只有数组的数组二维数组的定义typearrayName[][];或 type[][]arrayName;例子:intxx[][]=new

int[3][3];int[][]xx={{3,2,7},{1,5},{6}};斩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论