JAVA程序员培训定制课程c04_第1页
JAVA程序员培训定制课程c04_第2页
JAVA程序员培训定制课程c04_第3页
JAVA程序员培训定制课程c04_第4页
JAVA程序员培训定制课程c04_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、1,运算符、表达式和流程控制,第四章,效饥丰上牧南阵眶匪调哀滴糠突蹿耘俩应汽列捂赢拂井遣坡柞逆枕塞樟眶JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,2,本章内容,变量及其作用域 Java运算符 表达式 分支语句 if-else语句 switch语句 循环语句 for 循环 while 循环 do-while 循环 特殊的循环控制语句,连诧捉级佰痘俘纪屹锁苍老黔磋酵迫峻苔乙祷涌铰系汽漠沉仕阳陶柜冈釉JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,3,Java变量分类,变量用于记录数值可变的数据 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量 按被

2、声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量,戒蝗诬炒隆瘦揭盲哆燎啊辩伤春礁焦算葬迅远惜冉毖纳凝桓艳防艘辖彭掖JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,4,局部变量声明和初始化,Java变量使用前必须先声明和初始化(赋初值) 局部变量声明语法格式 DataType varName1=value1,varName2=value2 变量声明和初始化举例: public void amethod() int i; int j = i+5 ; / 编译出错,变量i还未被初始化 double d = 3.14; MyDate m;

3、 m = new MyDate(22,7,1964); System.out.println(m.getYear(); ,插圆焊橇虑卞弗四钱撼康熙额骄换部岭户幻烁沛痈阔枢因户会娥症笔曰脖JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,5,局部变量声明和初始化示例,public class TestLocal public static void main(String args) int x; if (args0 != null) x = 7; int y = x; ,裁撇傍铡腋舒肤赎梳塘悬南淮者朵塞哄袖走州挖钨吻柠路痈诛敞学造肮旬JAVA程序员培训定制课程c04JAVA程序

4、员培训定制课程c04,6,成员变量声明和初始化,成员变量在类的定义中声明 在创建对象的同时创建有关的成员变量 成员变量创建后系统自动对其进行 默认初始化 显式初始化,势众软铬偷渗垮态者温蜘溃胖谆论厅盖奢碰秀吓嫩胺蛀修狂残棺著肠仰镰JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,7,成员变量声明和初始化示例,public class Book private String title; public String getTitle() return title; public static void main(String args) Book b = new Book();

5、String s = b.getTitle(); / Compiles and runs String t = s.toLowerCase(); / Runtime Exception! ,铱抉羌氢都酉捅对戎租访扩妈霹疹魏悄舱魄毫搬瓮夸破弟声念毙院款屋卫JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,8,变量作用域,局部变量的作用域就是它所在的方法或语句块 在程序调用方法(进入语句块)时,局部变量才被创建并可用,随方法(语句块)的退出,局部变量将被销毁 成员变量依附于对象(局部变量)存在,具有与对象相同的生存期和作用域。,妮忘敞洽谣侵庆凹龋庙桂葬鼎授宴域帜茨凝益陈阿锗装贞领累

6、舆亭肖利藩JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,9,变量作用域举例,public class Test private int i=1; public void method1() int i=4, j=5; this.i = i + j; method2(7); public void method2(int i) int j=8; this.i = i + j; System.out.println(this.i); public static void main(String args) Test t = new Test(); t.method1(); ,m

7、ain,栈内存,t,this,i,j,method1,4,5,7,8,i,j,this,method2,Test对象,i,躲却塑宪剁汪仰蜗蚕衰绩吕盟赏奉将鄂讯搽媒绊蛇印蓄痪昨划熄夯谭准吕JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,10,Ex1,练习上页例程:Test.java,在各方法中添加输出语句显示Test对象属性i(this.i) 的值,分析程序执行流程并体会各变量的作用域。 /输出语句可采用:System.out.println(this.i);,儡铁灿梁芭蔽陵挛深夫亚眩撮株哺尖窘垢或午愉怎唇赏蟹券簇芒锈鸭戚风JAVA程序员培训定制课程c04JAVA程序员培训定制

8、课程c04,11,运算符,算术运算符: +,*,/,%,+, 关系运算符: ,=, 赋值运算符: = 扩展赋值运算符:+=,=,*=,/= 字符串连接运算符: +,烘瓤串溶评想出渡俗悬极女兵梆钝宜次莉纬屋烈穆强叙鄂缺祥划匪槐甸馒JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,12,等于运算符示例(1),class ComparePrimitives public static void main(String args) System.out.println(character a = a? + (a = a); System.out.println(character a

9、= b? + (a = b); System.out.println(5 != 6? + (5 != 6); System.out.println(5.0 = 5L? + (5.0 = 5L); System.out.println(true = false? + (true = false); ,檀爹粹魄谜妮痈伴铣趣和腔怂源咨谷家理骂旗细延俐涩壮醒刽佣沈哼狭愧JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,13,等于运算符示例(2),boolean b = false; if (b = true) System.out.println(“b is true”); else

10、System.out.println(“b is false”); ,吉搅殉键伸梗胜意须搁射非沙焚契八许妇驶浑责由神琴滓瑶递口曾誊般厘JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,14,等于运算符示例(3),import java.awt.Button; class CompareReference public static void main(String args) Button a = new Button(Exit); Button b = new Button(Exit); Button c = a; System.out.println(Is referenc

11、e a = b? + (a = b); System.out.println(Is reference a = c? + (a = c); ,想葛性币蒙译戌侮蓉娶并奖邻冷寝铣涟神舒鲜木拟腺媳饿叭称岁拢来犊震JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,15,增量、减量运算符示例(1),class MathTest static int players = 0; public static void main (String args) System.out.println(players online: + players+); System.out.println(The

12、 value of players is + players); System.out.println(The value of players is now + +players); ,舌竭歹刁邪逆能匡卸凄陕触抿扣贾徊具豹宫补袭萨御猴韶亏魏讣平贩男品JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,16,增量、减量运算符示例(2),int x = 2; int y = 3; if (y = x+) | (x +y) System.out.println(x = + x + y = + y); ,炮月簇妆驾托腮替府暇讽舞秸始叭敲杖贞谐辉伤闰吃欲七融焉典耶闭蔗肤JAVA程序员培训

13、定制课程c04JAVA程序员培训定制课程c04,17,逻辑运算符(1),逻辑运算符功能 !- 逻辑非 if (isItSmall(6) | (isItSmall(9) System.out.println(Result is true); public static boolean isItSmall(int i) if (i 5) System.out.println(i less than 5); return true; else System.out.println(i greater than 5); return false; ,摄峦产宣通瘸各万他拂崖兹慑姻席赏乌枝咋右柳聂铬银渐搐

14、谗蓟蹋蚜臭纷JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,20,位运算符,位运算符功能 - 取反 将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位; 无符号右移 ab;将二进制形式的a逐位右移b位,最高位空出的b位补0。,钳看电业组衣阑洼耍博裙只吗饼迪糟词塔傻孪壹撰坷摔充棉望晨釜位挑蚕JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,22,移位运算符(2),移位运算符性质 适用数据类型:byte、short、char、int、long,对低于int型的操作数将先自动转换为int型再移位 对于int型整数移位ab,系统先将b对32取模,得到的结果才

15、是真正移位的位数 对于long型整数移位时ab ,则是先将移位位数b对64取模,迪淄葵药祟概中刃翅君攫差煎栋吝榆侯际狞走戈铱作屉约佐扇占怜粪香省JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,23,移位运算符(3),移位运算符应用举例,突颅绞萌弦秧蹋秆途柄尚臂徘炎妓七骑姑员掘椒渗恃赫叉礼敲胃癸区洒纯JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,24,赋值运算符(1),赋值运算符= 当=两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换原则进行处理 long l = 100; int i = (int)l; 特例:可以将整型常量直接赋值给byte,

16、short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围 byte b = 12;/合法 byte b = 4096;/非法,直后橡仍植绕耀症岛淖便膊除掸侨股稻窒号味刁忧温楷幼狭姥还川享淘钟JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,25,赋值运算符(2),当把一个引用变量赋给另一个引用变量是, 两个变量引用了同一个对象。(String除外) 示例: import java.awt.Dimension; class ReferenceTest public static void main (String args) Dimension a = n

17、ew Dimension(5,10); System.out.println(a.height = + a.height); Dimension b = a; b.height = 30; System.out.println(a.height = + a.height + after change to b); ,茶蹦纷挚澄用骇卒空撵诱郡空耀盔相咐旨更锄环谁摆梧穆式殆尚傀棕恬寨JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,26,赋值运算符(3),扩展赋值运算符,瞻赫短舞暮炉羞厘取贰甚佰扳勘蛆淖月沦稠秩校旬箔率失搞钧预弟盘池吨JAVA程序员培训定制课程c04JAVA程序员培

18、训定制课程c04,27,字符串连接运算符 +,+ 除用于算术加法运算外,还可用于对字符串进行连接操作 int i = 300 +5; String s = hello, + world!; +运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接 String a = String; int b = 3; int c = 7; System.out.println(a + b + c); System.out.println(a + (b + c));,罩喘繁转剔县租蚜澳寒塌嘴婴奥辖韵雕科易儒俭裹陕尖拣是滦箭呛函盾计JAVA程序员培训定制

19、课程c04JAVA程序员培训定制课程c04,28,表达式,表达式是符合一定语法规则的运算符和操作数的序列 a 5.0 + a (a-b)*c-4 i30 int j = a3; int k = a32; System.out.println(“i=” + i ); System.out.println(j= + j ); System.out.println(k= +k ); System.out.println(m= +m ); ,鹅骏侣珊擂趾顽索诵蓝妨茫养埃宴远鸭烘村庆筏同轧摩咽究谤组济芬举吝JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,31,分支语句,分支语句实现程序

20、流程控制的功能 ,即根据一定的条件有选择地执行或跳过特定的语句 Java分支语句分类 if-else 语句 switch 语句,聋碗寐状诉尘钝侗鲁扣怀抖了胖毙幕垣俄挪襄盛虑叛悉俄集萧悍醒兢猩繁JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,32,if-else语句语法格式,if(boolean类型表达式) 语句或语句块; if(boolean类型表达式) 语句或语句块; else if(boolean类型表达式) 语句或语句块; else 语句或语句块; ,捂潦鸣嚣咱卑饶答砾放孔隔际凌钮磷迁颈僻契汕颗禹给毫辞昆罕挠郸膜莉JAVA程序员培训定制课程c04JAVA程序员培训定制课

21、程c04,33,if-else语句应用举例,public class Test public static void main(String args) Test t = new Test(); t.test(75); public void test(int age) if (age250) System.out.println(是个妖怪!); else System.out.println(此人芳龄 + age + 马马乎乎啦!); ,锻埔傍涣净妄奉滋剐某栅对谐剩招抠耙溉横站茶杯技邹跑选糯窄饥天还莉JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,34,switch语句语法

22、格式,switch(exp) case const1: statement1; break; case const2: statement2; break; case constN: statementN; break; default: statement_dafault; break; ,赢综戎褂撇当注寡耕媒逝搽迁捶脂膘颈拱祭滁兰亮宠到洗蔷溪废巢惨漫剖JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,35,switch语句应用举例,public class Test public static void main(String args) int i = 1; switch

23、 (i) case 0: System.out.println(zero); break; case 1: System.out.println(one); break; case 2: System.out.println(two); break; default: System.out.println(default); break; ,道蓄熄阁倚优咒田侦妈配备昼超褐那听哥站赔板梁疙琶露沁彭匀贾眩拽墙JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,36,switch语句有关规则,表达式expr的返回值必须是下述几种类型之一:int, byte, char, short;

24、case子句中的值const 必须是常量,且所有case子句中的值应是不同的; default子句是任选的; break语句用来在执行完一个case分支后使程序跳出switch语句块;,滋庶狞盂婚戊荤卑镐圣嘴遇查撩孪跳诞讳嫡研晋胯搏翟裴泻猎籍氰枣乓蛾JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,37,Ex3,参照M04-24,26页的例子,练习使用if-else、switch分支语句,注意体会break/default语句的用法;,倪稍撒磕留傍亩根佩笼瘁诲碳榜辉袒纠秽斋首镭雾嚎蔫肪远溉薯决丫杂呆JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,38,循环语句

25、,循环语句功能 在循环条件满足的情况下,反复执行特定代码 循环语句的四个组成部分 初始化部分(init_statement) 循环条件部分(test_exp) 循环体部分(body_statement) 迭代部分(alter_statement) 循环语句分类 for 循环 while 循环 do/while 循环,鼠蹋技臭许宾涧脆锑懒耪企尸燃蝎隔漠章醒速帽祷耽雷瑰柠辗霜碱静岁层JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,39,for 循环语句,语法格式 for (init_statement; test_exp; alter_statement) body_statem

26、ent 应用举例 public class ForLoop public static void main(String args) int result = 0; for(int i=1; i=100; i+) result += i; System.out.println(result= + result); ,诧谁驴拜爷踏颅寅甚殃噬闹旬磁诗朱腺硕痢泊时篮鸦送扎窜四摧姜祭杠卒JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,40,while 循环语句,语法格式 init_statement while( test_exp) body_statement; alter_sta

27、tement; 应用举例 public class WhileLoop public static void main(String args) int result = 0; int i=1; while(i=100) result += i; i+; System.out.println(result= + result); ,骚济奠霓瘸貉末扼岭著宜遇痈刀赁聘奇啦几终旱整岸解氏狰浮覆放卖屎耕JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,41,do/while 循环语句,语法格式 init_statement do body_statement; alter_statem

28、ent; while( test_exp); 应用举例 public class WhileLoop public static void main(String args) int result = 0, int i=1; do result += i; i+; while(i=100); System.out.println(result= + result); ,散株他撇亚瘦镊赃运迄疼闭牡镑惜誉胞件河搬臻踌街屎渺执嘶海着禾州胯JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,42,特殊流程控制语句,break 语句 break语句用于终止某个语句块的执行 break; b

29、reak语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块 label1: label2: label3: break label2; ,扶跪鳞嫩休聪岸驮罗勉袄等忙永随挨忿厨表被廖肖黑泉鹃以痘勿享灸筒炸JAVA程序员培训定制课程c04JAVA程序员培训定制课程c04,43,特殊流程控制语句,break 语句用法举例 public class TestBreak public static void main(String args) for(int i = 0; i10; i+) if(i=3) break; System.out.println( i = + i); System.out.println(Game Over!); ,朵撇沼吧拆茄晕履戏墅晌产宋激毫笋皿

温馨提示

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

评论

0/150

提交评论