这个地方为什么不可以写成char c1 = n; 谢谢

这个地方为什么不可以写成char c1 = n; 谢谢

//定义一个字符型变量c1,赋值为n,并输出c1的值
		char c1 = n;
		System.out.println("c1=" + c1);


正在回答

登陆购买课程后可参与讨论,去登陆

6回答

可以这么写,就是这样写的。但前提是n已经定义并且有值。它的上一句不就是让定义n并赋值嘛,int n=65;祝“:学习愉快

丶陌墨 2018-03-29 17:13:37

PPT里类型转换顺序的那张图很明确:

char——>int 是单箭头,意思是自动类型转换(隐式转换)只支持从char类型到int类型的转换,不支持int类型到char类型的转换。

n为int型,c1为char型,char c1=n; 语句意义为:将int型的n的值赋给char型的c1。这也就是说要把int型数据转换为char型,而这样的类型转换是不可以自动类型转换的,所以需要进行强制类型转换,也就是 char c1=(int)n;

qq_肿么办雪淋湿了_0 2018-03-22 20:14:03

字符转换,就像这样“char c1=(char)n;”这样就阔以了

qq_肿么办雪淋湿了_0 2018-03-22 20:12:49

先要知道n的变量类型,如果不能隐式转换,要先转换类型,

你是我一首唱不完的歌 2018-03-21 00:21:56

不是说不行,而是因为int 表示的数值范围比char 大,不进行强制类型转换可能会丢失数据

Mitsushima_Hikari 2018-03-18 21:47:36
	//这句话上面是要你定义一个整型变量n;
	//定义一个整型变量n,值为65
		int n=65;		
        //定义一个字符型变量c1,赋值为n,并输出c1的值
        //n是整型变量,c1是字符型变量。整型转换成char类型,需要强制类型转换
         char c1=(char)n;
     	System.out.println("c1=" + c1);


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师