问个类型转换的问题:

问题描述

char c1 = '1';char c2 = '2';char c3 = '1'+'2';char c4 = c1+c2; //(char)c1+c2;如上述,为何c3的计算,不用强制转换。但c4的计算,却一定要转换? 问题补充:chen_yongkai 写道

解决方案

char c3 = '1'+'2'; 是显式赋值,在编译时就可以确定的常量,因而不会报错。char c4 = c1+c2; 是通过变量赋值,是在运行时才能确定它的值,所以需要显式强制类型转换。
解决方案二:
编译器报错是:引用Type mismatch: cannot convert from int to char就是说 c1+c2 的类型是int。java运算都至少是在int类型及其以上(long、floatdouble)。如果用c4+=c2的写法是会做自动类型转换。
解决方案三:
类型不一样了,一个是char 一个是字符串

时间: 2024-11-10 00:42:49

问个类型转换的问题:的相关文章

我问一条c# wpf强制类型转换的问题

问题描述 我问一条c# wpf强制类型转换的问题 ComboBoxItem at = (ComboBoxItem)combobox1.SelectedItem; 在调试时提示错误,说无法将类型为"System.Int32"的对象强制转换为类型"System.Windows.Controls.ComboBoxItem",请问这是什么意思?我看网上要读取combobox的选中的项的值是这样写的,请问这个问题如何解决? 解决方案 这个错误应该不是指这个地方的,可能是你代码

JAVA程序员面试32问 选择自 liujun999999 的 Blog (本人做收藏)

程序|程序员 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 第五,HashMap和Hashtable的区别. 第六,Collection 和 Collec

JAVA程序员面试32问

程序|程序员 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 第五,HashMap和Hashtable的区别. 第六,Collection 和 Collec

变态级JAVA程序员面试32问

程序|程序员 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 第五,HashMap和Hashtable的区别. 第六,Collection 和 Collec

变态级JAVA程序员面试32问(转)

程序|程序员 前面部分是问题,后面部分是一些网友给的答案,大家参考吧: ****************************原题部分************************************** 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和

求问关于c++里的while

问题描述 求问关于c++里的while #include #include int main() { int i,sum,x; i=1; sum=0; while(i>=1/100000) { sum=i+sum; i=1/i+1; printf("%dn",i); } x=sum-double log10(double 100000); printf("%dn",x); return 0; } 为什么总是错? 解决方案 http://codepad.org/

参数-C 关于printf() 我真的很想问的一个问题!!!!

问题描述 C 关于printf() 我真的很想问的一个问题!!!! 编译器怎样检查 printf () 参数个数的? 刚刚学C 不久,不知道怎么找,于是到这里提问来了... 提前谢谢所有回答的人!!! thanks for your time . 解决方案 参考一下这个回答,对你应该有帮助 C中的可变参数研究 一. 何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和

强制类型转换和多态的问题

问题描述 多态:父类:A,子类:bAa=newb();a.方法;强制类型转换:ba=newb();(A)a.方法:项目中一个例子父类:formBase(基窗体)子类:基于父类的各个子窗体Formfrm=this.ActiveMdiChild;fromBase(frm).方法();想问一下,通过强制类型转换,把子类转换为父类,然后调用方法实现多态,和正常的多态,有区别吗? 解决方案 解决方案二:转为父类,执行的就是父类的方法了,这样转型很危险,如果父类不存在子类的方法,就会出错解决方案三:引用1楼

在使用Stack集合存数据时遇到的一个类型转换的问题

问题描述 当我在Stack中存储几个int类型数组,这时候int类型会自动向上转型为Object.当我把这个Stack中的元素通过ToArray方法转换为数组的时候,这时候一定要用Object[]来接受,并且要强转成int,问题是为什么当我用foreach遍历Stack的时候直接写int类型就可以不需要类型转换?代码如下. 解决方案 解决方案二:是数据,不是数组..解决方案三:原理什么的就不解释了这情况应该用Stack<int>才是明智之举解决方案四:staticvoidstaticDemo4