收藏 分享(赏)

运算符表达式.ppt

上传人:tkhy51908 文档编号:4806156 上传时间:2019-01-14 格式:PPT 页数:25 大小:266KB
下载 相关 举报
运算符表达式.ppt_第1页
第1页 / 共25页
运算符表达式.ppt_第2页
第2页 / 共25页
运算符表达式.ppt_第3页
第3页 / 共25页
运算符表达式.ppt_第4页
第4页 / 共25页
运算符表达式.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、本课内容,Java运算符 表达式,运算符,算术运算符: +,*,/,%,+, 关系运算符: ,=, 赋值运算符: = 扩展赋值运算符:+=,=,*=,/= 字符串连接运算符: +,算术运算符,注意事项:一个数除以零,若这个数是整型,则会产生一个异常(程序运行时中途退出,编译不会产生错误),若这个数是浮点型,则产生一个无穷大的值。 对于取模操作与别的程序语言有所区别,其操作数可以是浮点型。,算术运算符案例1,public class Test4_1public static void main(String args)System.out.println(“17.3mod0=“+17.3%0);

2、System.out.println(“17mod4=“+17%4);System.out.println(“17.3mod0=“+17.3%0);System.out.println(“17/0=“+17/0); ,算术运算符案例2,案例2:求一个四位整型数,计算其个、十、百、位上的数之和。如1789 个、十、百、位上的数之和=1+7+8+9=25.,算术运算符案例2,public class Test4_2public static void main(String args)int i,a,b,c,d;i=1789;a=i/1000;b=i%1000/100;c=i%100/10;d=i

3、%10;System.out.println(“你输入的整数是“+i+“其千百十个位上的数之和为“+(a+b+c+d); ,自增、自减运算符+、- 案例3 public class Test4_3 public static void main(String args) int i=9,a,b; b=i+;/先赋值再自加 a=+i;/先自加再赋值 System.out.println(“b=“+b); System.out.println(“i=“+i); System.out.println(“a=“+a); ,逻辑运算符(1),逻辑运算符功能!- 逻辑非 & - 逻辑与 | - 逻辑或 -

4、 逻辑异或 &- 短路与 | - 短路或 逻辑运算符功能说明:,逻辑运算符(1),逻辑运算符功能!- 逻辑非 & - 逻辑与 | - 逻辑或 - 逻辑异或 &- 短路与 | - 短路或 逻辑运算符功能说明:,逻辑运算符案例4,public class Test4_4public static void main(String args)boolean a,b,c;a = true;b = false;c = a ,逻辑运算符(2),短路逻辑运算符应用,位运算符,位运算符功能 - 取反 & - 按位与 | - 按位或 - 按位异或 位运算符功能说明:,&,|,位运算符案例5,分析下面程序的输出结

5、果并验证:public class Test4_5public static void main(String args)int a = 10;int i = a;System.out.println(“i=“ + i );System.out.println(128 | 3);System.out.println(67 3);System.out.println(67 ,移位运算符(1),左移 “ab; “将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位; 无符号右移 “ab;“将二进制形式的a逐位右移b位,最高位空出的b位补0。,移位运算符(2),移位运算符性质 适用数据类型:

6、byte、short、char、int、long,对低于int型的操作数将先自动转换为int型再移位 对于int型整数移位ab,系统先将b对32取模,得到的结果才是真正移位的位数 对于long型整数移位时ab ,则是先将移位位数b对64取模 通过测试得出什么结论:左移一位相当乘以2,左移两位相当相当乘以4.以此类推。,移位运算符(3),移位运算符应用举例,00000000 00000000 00001000 10110011,00000000 00000000 01000101 10011000,00000000 00000000 00000001 00010110,00000000 0000

7、0000 00000001 00010110,11111111 11111111 11110111 01001101,11111111 11111111 10111010 01101000,11111111 11111111 11111110 11101001,00011111 11111111 11111110 11101001,位运算符案例6,public class Test4_6public static void main(String args)int a=10int j = a3; int k = a32; System.out.println(“j=“ + j );System

8、.out.println(“k=“ +k );System.out.println(“m=“ +m ); ,位运算符案例7,public class Test4_7public static void main(String args)int a=-5;/(是5的反码+1)int j = a3; int k = a2; System.out.println(“j=“ + j );System.out.println(“k=“ +k );System.out.println(“m=“ +m ); ,赋值运算符(1),赋值运算符= 当“=“两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换

9、原则进行处理long l = 100; int i = (int)l; 特例:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围byte b = 12; /合法byte b = 4096; /非法,基本数据类型自动转换,public class Test public static void main(String args)int i = (int)Math.pow(2,16) ; short s = -32768;/-3276832767char c = 65535; /065535 2 的16次方=65536System.

10、out.println(c); ,基本数据类型转换等级: byte-short,char - int - long float - double int - float long - double,赋值运算符(2),扩展赋值运算符,字符串连接运算符 +,“+“ 除用于算术加法运算外,还可用于对字符串进行连接操作int i = 300 +5;String s = “hello, “ + “world!“; “+“运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接int i = 300 +5;String s = “hello, ” +(

11、 i +12) + “号“;System.out.println(s); /输出:hello, 305号,表达式,表达式是符合一定语法规则的运算符和操作数的序列 a5.0 + a(a-b)*c-4i30 & i%10!=0 表达式的类型和值 对表达式中操作数进行运算得到的结果称为表达式的值 表达式的值的数据类型即为表达式的类型 表达式的运算顺序 首先应按照运算符的优先级从高到低的顺序进行 优先级相同的运算符按照事先约定的结合方向进行,三目运算符,三目条件运算符,语法格式: x ? y : z 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。 举例:int score = 50;int result = x 60 ? 60: x;String type = score 60 ? “不及格“ : “及格“;,运算符优先级,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 统计图表

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报