Java语言程序设计-定义自己的类.pptVIP

  • 9
  • 1
  • 约1.1万字
  • 约 71页
  • 2019-04-30 发布于江苏
  • 举报
自动类型转换 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级: 低-----------------------------------------------------高 byte,short,char— int — long— float — double 操作数1类型 操作数2类型 转换后的类型 byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double 2.3数据类型的转换 System.out.println(‘a’)与System.out.println(’a’+1) 的区别。 自动类型转换(也叫隐式类型转换) 强制类型转换(也叫显式类型转换) 类型转换的原理 什么时候要用强制类型转换? 表达式的数据类型自动提升 ? 所有的byte型、short型和char的值将被提升到int型。 ? 如果一个操作数是long型,计算结果就是long型; ? 如果一个操作数是float型,计算结果就是float型; ? 如果一个操作数是double型,计算结果就是double型。 分析 System.out.println(‘a’)与System.out.println(’a’+1) 的区别。 2.3 常量与变量 ? ? ? 自动类型提升 byte b = 3; int x = 4; x = x + b;//b会自动提升为int类型进行运算。 强制类型转换 byte b = 3; b = b + 4;//报错 b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋 值给b。 思考: byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是编译失败的呢?为什么呢? 2.3数据类型的转换 3.1 优先级、结合性以及单/双目运算 3.2 Java 运算符和表达式 3、Java运算符和表达式 优先级、结合性以及单/双目运算 1) . , [] , () 9) 2) ++ , -- , ! , ~ , instanceof 10) ^ 3) new (type) 11) | 4) * , / , % 12) 5) + , - 13) || 6) , , 14) ?: 7) , , = , = 15) = , += , -= , *= , /= , %= , ^= 8) == , != 16) = , |= , = , = , = 3.1 优先级、结合性以及单/双目运算 (1)运算符 算术运算符: +,―,*,/,%,++,―― 关系运算符: ,,=,=,==,!= 布尔逻辑运算符: !,,|| 位运算符: ,,,,|,^,~ 赋值运算符: =,及其扩展赋值运算符如+=,―=,*=,/=等。 条件运算符: ? : 3.2 Java 运算符和表达式 位运算符 运算符 | ^ ~ 运算 左移 右移 无符号右移 与运算 或运算 异或运算 反码 范例 3??2?=?12?‐‐?3*2*2=12 3??1?=?1??‐‐?3/2=1 3??1?=?1?‐‐?3/2=1 6??3?=?2 6?|?3?=?7 6?^?3?=?5 ~6?=?‐7 3.2 Java 运算符和表达式 “”和“”的区别: 单时,左边无论真假,右边都进行运算; 双时,如果左边为真,右边参与运算,如果左边为假,那 么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。 3.2 Java 运算符和表达式 (2)表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列。 一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值; 表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。 例: x num1+num2 a*(b+c)+d 3.14 x=(y+z) xy||z 3.2 Java 运算符和表达式 1.下列标识符中,哪些是合法的变量名,哪些是不合法的变量名? (1)char (2)2abc (3)$_isTrue (4)i+j (5)_istr

文档评论(0)

1亿VIP精品文档

相关文档