JAVA程序员定制课程c04

上传人:无*** 文档编号:243846508 上传时间:2024-10-01 格式:PPT 页数:46 大小:239KB
返回 下载 相关 举报
JAVA程序员定制课程c04_第1页
第1页 / 共46页
JAVA程序员定制课程c04_第2页
第2页 / 共46页
JAVA程序员定制课程c04_第3页
第3页 / 共46页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,运算符、表达式和流程控制,第四章,1,本章内容,变量及其作用域,Java,运算符,表达式,分支语句,if-else,语句,switch,语句,循环语句,for,循环,while,循环,do-while,循环,特殊的循环控制语句,2,Java,变量分类,变量用于记录数值可变的数据,按所属的数据类型划分:,基本数据类型变量,引用数据类型变量,按被声明的位置划分:,局部变量:方法或语句块内部定义的变量,成员变量,:方法外部、类的内部定义的变量,3,局部变量声明和初始化,Java,变量使用前必须先声明和初始化(赋初值),局部变量声明语法格式,DataType,varName1=value1,varName2=value2,变量声明和初始化举例:,public void,amethod,(),int,i;,int,j=i+5;,/,编译出错,变量,i,还未被初始化,double d=3.14;,MyDate,m;,m=new,MyDate,(22,7,1964);,System.out.,println,(m.,getYear,();,4,局部变量声明和初始化示例,public class,TestLocal,public static void main(String,args,),int,x;,if(,args,0!=null),x=7;,int,y=x;,5,成员变量声明和初始化,成员变量在类的定义中声明,在创建对象的同时创建有关的成员变量,成员变量创建后系统自动对其进行,默认初始化,显式初始化,6,成员变量声明和初始化示例,public class Book,private String title;,public String,getTitle,(),return title;,public static void main(String,args,),Book b=new Book();,String s=b.,getTitle,();/Compiles and runs,String t=s.,toLowerCase,();/Runtime Exception!,7,变量作用域,局部变量的作用域就是它所在的方法或语句块,在程序调用方法(进入语句块)时,局部变量才被创建并可用,随方法(语句块)的退出,局部变量将被销毁,成员变量依附于对象(局部变量)存在,具有与对象相同的生存期和作用域。,8,变量作用域举例,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();,main,栈内存,t,this,i,j,method1,4,5,7,8,i,j,this,method2,Test,对象,i,9,Ex1,练习上页例程,:,Test.java,,,在各方法中添加输出语句显示,Test,对象属性,i(this.i),的值,分析程序执行流程并体会各变量的作用域。,/输出语句可采用:,System.out.,println,(this.i);,10,运算符,算术运算符:,+,,,,,*,,,/,,,%,,,+,,,关系运算符:,,,=,,,,,赋值运算符:,=,扩展赋值运算符:,+=,,,=,,,*=,,,/=,字符串连接运算符:,+,11,等于运算符示例(1),class,ComparePrimitives,public static void main(String,args,),System.out.,println,(character a=a?+(a=a);,System.out.,println,(character a=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);,12,等于运算符示例(2),boolean,b=false;,if(b=true),System.out.,println,(“b is true”);,else,System.out.,println,(“b is false”);,13,等于运算符示例(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 reference a=b?+(a=b);,System.out.,println,(Is reference a=c?+(a=c);,14,增量、减量运算符示例(1),class,MathTest,static,int,players=0;,public static void main(String,args,),System.out.,println,(players online:+players+);,System.out.,println,(The value of players is +players);,System.out.,println,(The value of players is now +players);,15,增量、减量运算符示例(2),int,x=2;,int,y=3;,if(y=x+)|(x 31),/do something with d,if(i 31),System.out.,println,(,非法赋值);,18,逻辑运算符(3),class,TestOR,public static void main(String,args,),if(,isItSmall,(3)|(,isItSmall,(7),System.out.,println,(Result is true);,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;,19,位运算符,位运算符功能,-取反,&,-按位与,|,-按位或,-按位异或,位运算符功能说明:,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,1,0,1,&,0,1,0,0,1,0,0,1,1,1,0,0,1,0,1,1,0,1,1,0,1,1,0,1,|,1,1,1,0,1,1,1,1,1,1,0,0,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,0,0,1,1,0,1,1,0,0,1,0,1,1,20,移位运算符(1),左移,ab;,将二进制形式的,a,逐位右移,b,位,最高位空出的,b,位补原来的符号位;,无符号右移,ab;,将二进制形式的,a,逐位右移,b,位,最高位空出的,b,位补,0,。,21,移位运算符(2),移位运算符性质,适用数据类型:,byte、short、char、,int,、long,,对低于,int,型的操作数将先自动转换为,int,型再移位,对于,int,型整数移位,ab,,,系统先将,b,对32取模,得到的结果才是真正移位的位数,对于,long,型整数移位时,ab,,则是先将移位位数,b,对64取模,22,移位运算符(3),移位运算符应用举例,2227,=,00000000 00000000 00001000 10110011,22273,=,00000000 00000000 00000001 00010110,22273,=,00000000 00000000 00000001 00010110,-2227,=,11111111 11111111 11110111 01001101,-22273,=,11111111 11111111 11111110 11101001,-22273,=,00011111 11111111 11111110 11101001,23,赋值运算符(1),赋值运算符,=,当,=,两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换原则进行处理,long l=100;,int,i=(,int,)l;,特例:可以将整型常量直接赋值给,byte,short,char,等类型变量,而不需要进行强制类型转换,只要不超出其表数范围,byte b=12;,/,合法,byte b=4096;,/,非法,24,赋值运算符(,2),当把一个引用变量赋给另一个引用变量是,,两个变量引用了同一个对象。(,String,除外),示例:,import java.,awt,.Dimension;,class,ReferenceTest,public static void main(String,args,),Dimension a=new 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);,25,赋值运算符(,3),扩展赋值运算符,运算符,用法举例,等效的表达式,+=,a+=b,a=a+b,-=,a-=b,a=a-b,*=,a*=b,a=a*b,/=,a/=b,a=a/b,%=,a%=b,a=a%b,&=,a&=b,a=a&b,|=,a|=b,a=a|b,=,a=b,a=ab,=,a=b,a=a=,a=b,a=ab,=,a=b,a=ab,26,字符串连接运算符,+,+,除用于算术加法运算外,还可用于对字符串进行连接操作,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));,27,表达式,表达式是符合一定语法规则的运算符和操作数的序列,a,5.0+a,(a-b)*c-4,i,L to R,=,instanceof,L to R,=!=,L to R,&,L to R,L to R,|,L to R,&,L to R,|,R to L,?:,R to L,=*=/=%=+=-=&=|=,29,Ex2,练习下面的程序,排除编译错误,分析其输出,结果,:,public class,MyTest,public static void main(String,args,),int,a=10,int,i=a;,int,j=a3;,int,k=a32;,System.out.,println,(“i=”+i)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!