3-21编程

来源:3-21 编程练习

weixin_慕无忌2153485

2020-09-21 20:38:23

public class TypeExchange {
    public static void main(String[] args) {
		// 定义一个整型变量n,值为98
		int n = 98;
        //定义一个char类型的变量ch,将变量n赋值给ch,然后输出ch的值
		char ch = n;
		System.out.println("ch="+ch);
		//定义一个长整型变量var,值为190000000,并输出
		long var = 1.9E8;
		System.out.println("var="+var);
		//定义一个double类型的变量d,将变量var的值赋值给d
		double d = var;
		System.out.println(d);
	}
}

为什么不能直接把n的值赋给ch, 反而是需要进行强制类型转换才能成功

为什么不能用科学技术法表示长整型

写回答

1回答

好帮手慕小尤

2020-09-22

同学你好,1. int用来定义整型变量,char用来定义字符型变量。将整型强制类型转换为字符型,JVM 会把数字当成字符的 ASCII 编码来处理。并char类型的范围比int小,所以int类型转char类型属于强制类型转换。关于可进行自动转换的顺序如下所示:

http://img1.sycdn.imooc.com/climg/5f695f8309c6b18413730747.jpg

2. 19e7l默认是double类型数据,所以直接赋值会出现编译性异常。如果想赋值给long类型,需要强制转换。如下所示:

http://img1.sycdn.imooc.com/climg/5f6960dc0905234b05870141.jpg

3. 建议同学按照练习提示,为var变量赋值为190000000。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

1

0 学习 · 16556 问题

查看课程