标题:关于强制转化的问题
只看楼主
lousang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-12-27
结帖率:80%
已结贴  问题点数:20 回复次数:5 
关于强制转化的问题
package Convert;

public class Convert {
    public static void main(String[] args) {
        int i=1,j=1,i1,i2;
        float f1=0.1f;
        float f2=123;
        long l1=12345678,l2=8888888888l;
        double d1=2e20,d2=124;
        byte b1=1,b2=2,b3=127;
        j=j+10;
        i1=i/10;
        i2=(int)(i*0.1);
        char c1='a',c2=125;
        byte b=(byte)(b1-b2);
        char c=(char)(c1+c2-1);
        float f3=f1+f2;
        float f4=(float)(f1+f2*0.1);
        double d=d1*i+j;
        float f=(float)(d1*5+d2);
        System.out.println("j="+j);
        System.out.println("i1="+i1);
        System.out.println("i2="+i2);
        System.out.println("b="+b);
        System.out.println("c="+c);
        System.out.println("f3="+f3);
        System.out.println("f4="+f4);
        System.out.println("d="+d);
        System.out.println("f="+f);
    }
}


输出为:
j=11
i1=0
i2=0
b=-1
c=?
f3=123.1
f4=12.4
d=2.0E20
f=1.0E21

请问为什么c的输出为?
搜索更多相关主题的帖子: float byte System out println 
2018-03-17 16:06
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:39
帖 子:423
专家分:1871
注 册:2018-2-6
得分:10 
程序代码:
package com.xiaoa.demo;

public class Convert {
    public static void main(String[] args) {
        int i = 1, j = 1, i1, i2;
        float f1 = 0.1f;
        float f2 = 123;
        long l1 = 12345678, l2 = 8888888888l;
        double d1 = 2e20, d2 = 124;
        byte b1 = 1, b2 = 2, b3 = 127;
        j = j + 10;
        i1 = i / 10;
        i2 = (int) (i * 0.1);
        char c1 = 'a', c2 = 125;
        byte b = (byte) (b1 - b2);
        char c = (char) (c1 + c2 - 1);
        float f3 = f1 + f2;
        float f4 = (float) (f1 + f2 * 0.1);
        double d = d1 * i + j;
        float f = (float) (d1 * 5 + d2);
        System.out.println("j=" + j);
        System.out.println("i1=" + i1);
        System.out.println("i2=" + i2);
        System.out.println("b=" + b);
        System.out.println(c1 + c2 -1);
        //因为char的字符范围(-127~128)内找不到221,所以用?代替了
        System.out.println((char)(126));
        System.out.println((char)(127));
        System.out.println((char)(128));
        System.out.println("c=" + c);
        System.out.println("f3=" + f3);
        System.out.println("f4=" + f4);
        System.out.println("d=" + d);
        System.out.println("f=" + f);
    }
}

假如人生没有梦想,和咸鱼有什么区别!
2018-03-17 18:34
lousang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-12-27
得分:0 
回复 2楼 疯狂的小a
是可以随意用任何符号代替还是只能用?
2018-03-17 18:59
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:39
帖 子:423
专家分:1871
注 册:2018-2-6
得分:5 
回复 3楼 lousang
环境不同,显示不同.反正就是乱码

假如人生没有梦想,和咸鱼有什么区别!
2018-03-17 19:06
桃花岛主丶
Rank: 2
等 级:论坛游民
威 望:3
帖 子:27
专家分:58
注 册:2018-3-20
得分:5 
不同格式的编码显示的不同   
2018-03-20 01:03
lousang
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-12-27
得分:0 
好的 谢谢大家!我知道了
2018-03-23 13:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-485348-1-1.html




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

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