| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:新手,看书敲的,但是结果不懂?
只看楼主 加入收藏
Teem
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:54
专家分:36
注 册:2012-12-24
结帖率:87.5%
收藏
 问题点数:0 回复次数:3 
新手,看书敲的,但是结果不懂?
public class A
{
     public static void main (String[] args)
     {
             //声明各种类型变量并赋初值
             byte b = 1;
             short s = 2;
             char c = 'c';
             int i = 3;
             long l = 4;
             float f = 5;
             double d = 6.0;
             System.out.println("变量b的值为:"+b);
             System.out.println("变量s的值为:"+s);
             System.out.println("变量c的值为:"+c);
             System.out.println("变量i的值为:"+i);
             System.out.println("变量l的值为:"+l);
             System.out.println("变量f的值为:"+f);
             System.out.println("变量d的值为:"+d);
             //分别将各个类型进行转换
             s = b;  
             i = c;  
             i = s;  
             l = i;  
             f = l;  
             d = f;  
             d = b;  
             d = b+f;
             System.out.println("转换后变量b的值为:"+b);
             System.out.println("转换后变量s的值为:"+s);
             System.out.println("转换后变量c的值为:"+c);
             System.out.println("转换后变量i的值为:"+i);
             System.out.println("转换后变量l的值为:"+l);
             System.out.println("转换后变量f的值为:"+f);
             System.out.println("转换后变量d的值为:"+d);   
     }
}
搜索更多相关主题的帖子: static public double 
2013-04-11 19:39
Teem
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:54
专家分:36
注 册:2012-12-24
收藏
得分:0 
1
1
c
1
1
1.0
2.0

                                  ~~~~ 天道酬勤
2013-04-11 19:51
xiao84699024
Rank: 2
来 自:江西南昌
等 级:论坛游民
帖 子:25
专家分:39
注 册:2013-3-31
收藏
得分:0 
//分别将各个类型进行转换
    s = b;  //b赋值给了s,所以s =1,b还是本身
    i = c;  //c赋值给了i,i是int类型,所以这是输出 i = 99,但是c 还是它本身
    i = s;  //s又赋值给i,所以这是 i = 1
    l = i;  //i赋值给了l,所以这时 l(字母l) = 1
    f = l;  //l赋值给f,但f为浮点型,f = 1.0
    d = f;  //d = 1.0
    d = b;  //d = 1.0
    d = b+f;//d = 1.0+1.0=2.0
所以:
转换后变量b的值为:1
转换后变量s的值为:1
转换后变量c的值为:c
转换后变量i的值为:1
转换后变量l的值为:1
转换后变量f的值为:1.0
转换后变量d的值为:2.0

天空的高度是鸟儿飞出来的,水无论有多深是鱼儿游出来的。
2013-04-12 13:08
maoenlong
Rank: 2
等 级:论坛游民
帖 子:10
专家分:15
注 册:2012-6-14
收藏
得分:0 
s = b;  //b赋值给了s,所以s =1,b还是本身                                     byte 到short
    i = c;  //c赋值给了i,i是int类型,所以这是输出 i = 99,但是c 还是它本身   
    i = s;  //s又赋值给i,所以这是 i = 1                                        short到int
    l = i;  //i赋值给了l,所以这时 l(字母l) = 1                                  int到long
    f = l;  //l赋值给f,但f为浮点型,f = 1.0                                     int到float
    d = f;  //d = 1.0                                                           float到 double
    d = b;  //d = 1.0                                                           byte到double
    d = b+f;//d = 1.0+1.0=2.0                                                
所以:
转换后变量b的值为:1
转换后变量s的值为:1
转换后变量c的值为:c
转换后变量i的值为:1
转换后变量l的值为:1
转换后变量f的值为:1.0
转换后变量d的值为:2.0
Java又有两种基本的类型转换原则:拓宽转换原则(widening conversion)与缩小转换原则(narrowing conversion)。
范围从小到大不必强制转换 而范围从大的到小    必须强制转换               
 数据值类型按照范围从小到大排列为            byte   short   int   long   float   double   
将char类型转换成其它数值类型时,除byte、short必须强制转换外,int long float double均不必强制转换
2013-04-12 22:40
快速回复:新手,看书敲的,但是结果不懂?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014462 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved