当前位置: 首页 > news >正文

大连网站建设讯息国际贸易网站建设

大连网站建设讯息,国际贸易网站建设,软件工程系统设计案例,抖音代运营怎么做java 不规则 拼图总览 当您在Java中执行一元或二进制运算时#xff0c;标准行为是使用最宽的操作数#xff08;或对于byte #xff0c; short和char #xff0c;使用更大的操作数#xff09;。 这很容易理解#xff0c;但是如果考虑最佳类型可能会造成混淆。 乘法 当执行… java 不规则 拼图 总览 当您在Java中执行一元或二进制运算时标准行为是使用最宽的操作数或对于byte short和char 使用更大的操作数。 这很容易理解但是如果考虑最佳类型可能会造成混淆。 乘法 当执行乘法时您得到的数值通常比单个数值大得多。 即| a * b | | a | 和| a * b | | b | 通常是这种情况。 对于小型字体这可以按预期工作。 考虑以下程序 public static void main(String[] args) throws IOException {System.out.println(is(Byte.MAX_VALUE * Byte.MAX_VALUE));System.out.println(is(Short.MAX_VALUE * Short.MAX_VALUE));System.out.println(is(Character.MAX_VALUE * Character.MAX_VALUE));System.out.println(is(Integer.MAX_VALUE * Integer.MAX_VALUE));System.out.println(is(Long.MAX_VALUE * Long.MAX_VALUE)); }static String is(byte b) {return byte: b; }static String is(char ch) {return char: ch; }static String is(short i) {return short: i; }static String is(int i) {return int: i; }static String is(long l) {return long: l; } 打印 int: 16129 int: 1073676289 int: -131071 int: 1 long: 1 只有byte * byte和short * short不会溢出因为它们已被扩展。 char * char即使允许也不是有意义的操作。 但是int * int确实会溢出即使我们有一个长类型也可以存储此值而不会溢出。 byte和short都隐式加宽但不是int 。 应该真正地将long扩展但是我们没有一个更宽泛的基本类型这曾经是有意义的但是如今64位基本类型看起来并不那么长。 师 从除数可以扩大结果的意义上讲除法有些奇怪。 除数比分子宽并不意味着结果会更大但通常会更小 System.out.println(is(Byte.MAX_VALUE / (byte) 1)); System.out.println(is(Byte.MAX_VALUE / (short) 1)); System.out.println(is(Byte.MAX_VALUE / (char) 1)); System.out.println(is(Byte.MAX_VALUE / (int) 1)); System.out.println(is(Byte.MAX_VALUE/ (long) 1)); 版画 int: 127 int: 127 int: 127 int: 127 long: 127 当你把一个byte/byte你会得到一个int即使你不能得到比一个大的值byte 。 除非您将Byte.MIN_VALUE除以-1在这种情况下 short会这样做并且如果将byte/long除以byte/long即使值仍然不能大于byte您也会得到long 。 模量 当执行模数a % b 结果不能大于b 。 但是模数会扩大结果而不是减少结果。 System.out.println(is(Byte.MAX_VALUE % Byte.MAX_VALUE)); System.out.println(is(Byte.MAX_VALUE % Short.MAX_VALUE)); System.out.println(is(Byte.MAX_VALUE % Character.MAX_VALUE)); System.out.println(is(Byte.MAX_VALUE % Integer.MAX_VALUE)); System.out.println(is(Byte.MAX_VALUE % Long.MAX_VALUE));System.out.println(is(Byte.MAX_VALUE % (byte) 2)); System.out.println(is(Short.MAX_VALUE % (byte) 2)); System.out.println(is(Character.MAX_VALUE % (byte) 2)); System.out.println(is(Integer.MAX_VALUE % (byte) 2)); System.out.println(is(Long.MAX_VALUE % (byte) 2)); 版画 int: 0 int: 127 int: 127 int: 127 long: 127 int: 1 int: 1 int: 1 int: 1 long: 1 如果将X乘以一个数字结果将不会比X宽/大只能变小。 但是捷豹路虎say必须扩大范围。 如果将X乘以一个byte 则结果只能在一个byte的范围内。 我还提到了一元运算也许最简单的是一元减号。 System.out.println(is(-Byte.MIN_VALUE)); System.out.println(is(-Short.MIN_VALUE)); System.out.println(is(-Character.MIN_VALUE)); System.out.println(is(-Integer.MIN_VALUE)); System.out.println(is(-Long.MIN_VALUE)); 版画 int: 128 int: 32768 int: 0 int: -2147483648 long: -9223372036854775808 在前三种情况下类型扩大了。 一个byte可以扩大到short 但是作为一个int是正确的。 但是对于int和long 它并没有扩大您可能会遇到罕见的溢出。 一元奇数是一元加号它不会更改值因此无法更改其范围但可以扩大值。 System.out.println(is(Byte.MIN_VALUE)); System.out.println(is(Short.MIN_VALUE)); System.out.println(is(Character.MIN_VALUE)); System.out.println(is(Integer.MIN_VALUE)); System.out.println(is(Long.MIN_VALUE)); 版画 int: -128 int: -32768 int: 0 int: -2147483648 long: -9223372036854775808我们可以解决这个问题吗 不幸的是没有。 有太多代码依赖于此逻辑。 例如说你写这样的东西。 long i ... byte b ... long l i % b Integer.MAX_VALUE; 如果ib要从long变为byte 则此表达式可能会溢出。 结论 Java可以在需要时扩展某些值但也不能扩展某些int操作这实际上应该很long 。 即使这可能更合乎逻辑它也永远不会给出更窄的结果。 我们需要做的是了解边缘情况尤其是int * int 并在看到这样的操作时知道自己扩大它们。 例如 long l (long) a * b; 除非我们确信a * b将适合int值。 翻译自: https://www.javacodegeeks.com/2015/02/inconsistent-operation-widen-rules-java.htmljava 不规则 拼图
http://www.sadfv.cn/news/388332/

相关文章:

  • vue 做自适应网站宁波seo网络推广产品服务
  • 浙江网站建设哪家最好网站皮肤样板
  • 有哪些做婚礼电子请柬的网站怎么做8代码网站
  • 设计网站页面教案建行个人网上银行登录
  • wordpress设置文章页甲马营seo网站优化的
  • 班级网站建设方案网站内容架构
  • 东莞网站优化推荐梦创义网站建设公司
  • 手机网站制作推广定制建设网站的软件下载
  • 网站信息发布如何推广运营网站
  • 清远做网站公司nginx反向代理内网网站建设
  • 湖南手机版建站系统哪个好网络建设工程师是干什么的
  • 外贸网站建设模板百度推广有用吗
  • 甘肃省住房和城乡建设厅网站职称证查询建设网站的网站江苏
  • 广州排名网站关键词优化贵阳搜索引擎排名推广
  • wordpress网站有多大平谷青岛网站建设
  • 法治与安全做讲座网站郑州网络营销网站
  • 新手学做网站内容旅游网站建设的功能
  • 建设网站有哪些公司html企业网站源码
  • 网站基本建设wordpress关闭评论插件
  • 网站建设递进发展趋势好看的网站 你明白吗
  • 深圳网站网络推广公司网站怎么在工信部备案信息查询
  • 低多边形网站网站直播怎么做
  • 泉州公司建设网站能打开各种网站的浏览器下载合集
  • 泉州官方网站重庆网上注册公司网站
  • 百度sem竞价托管快速排序优化
  • 石家庄网站建设 河北供求网wordpress如何上传mp4
  • 网站哪些是动态的自己建网站做电商还赚钱吗
  • m99ww094cn 苍井空做的网站个人网站如何做
  • 萧山建设有限公司网站深圳闭环转运
  • 开启wordpress多站点wordpress建站需要学什么意思