CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  SUN Java 认证

int为何不越界?

楼主wk0210(wk0210)2004-09-02 14:55:08 在 Java / SUN Java 认证 提问

public   class   MyTest4{  
          public   static   void   main(String[]   args){  
                  int   i=0x7fffffff;  
  int   p=i*100;  
  long   j=i*100;  
  System.out.println("i="+i);     //2147483647  
  System.out.println("p="+p);     //-100  
  System.out.println("j="+j);       //-100  
          }  
  }  
   
  此题为何不出错?  
  int为何不越界? 问题点数:20、回复次数:5Top

1 楼junhong202(junhong)回复于 2004-09-02 15:02:11 得分 0

int   已经越界了拉!j应该改为下面才行  
  public   class   MyTest4{  
          public   static   void   main(String[]   args){  
                  int   i=0x7fffffff;  
  int   p=i*100;  
  long   j=(long)i*100;  
  System.out.println("i="+i);     //2147483647  
  System.out.println("p="+p);     //-100  
  System.out.println("j="+j);       //-100  
          }  
  }  
  Top

2 楼wk0210(wk0210)回复于 2004-09-02 15:20:40 得分 0

我的意思是这一行:int   p=i*100;  
  编译器为何不报错?  
  int*int在将值赋给int,有越界的嫌疑啊?Top

3 楼walkie(罗来)回复于 2004-09-02 15:41:58 得分 10

java里面越界不报错的,但是运算结果完全就不对了。  
  所以编程者得自己注意这个问题Top

4 楼wk0210(wk0210)回复于 2004-09-02 15:46:42 得分 0

这种规则适用于:char,byte,short,int,long?Top

5 楼draco2002(Draco—五月的风~!)回复于 2004-09-02 16:42:40 得分 10

另外,char,byte,short类型的变量进行运算时会结果自动提升到int类型,这点也需要注意!Top

相关问题

  • 为何总是索引越界
  • 为什么不越界?
  • 下标越界???不明白
  • +++++下标如何才能不越界??++++++
  • 越界!?
  • 关于判断int型是否越界的问题?
  • 请问:将数据在MSHFlexGrid中显示时为何提示“下标越界”
  • 请问:将数据在MSHFlexGrid中显示时为何提示“下标越界”
  • java.lang.ArrayIndexOutOfBoundsException:搞不定啊(先进先得)数组越界?
  • 百思不得其解的“列表索引越界”。(等待ING……)

关键词

  • 越界
  • println
  • long

得分解答快速导航

  • 帖主:wk0210
  • walkie
  • draco2002

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo