//typeconversion.java
//Java中的类型转换
public class typeconversion
{
public static void main(String[] args)
{
char a=1;
byte b=2;
short c=3;
int d=4;
byte e;
e=(byte)(a+b+c+d); //将"a+b+c+d"的值强制转化为byte型
short f;
f=(short)(a+b+c+d); //将"a+b+c+d"的值强制转化为short型
int g;
g=a+b+c+d; //a,b,c,d 自动转换为int型再计算
float h;
h=a+b+c+d; //a,b,c,d 自动转换为float型再计算
double i;
i=a+b+c+d; //a,b,c,d 自动转换为double型再计算
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
}
}
该段中的这句 e=(byte)(a+b+c+d); 前面char a=1; 那a就是字符型数据,能和b,c,d整型的数相加? 先自动转换一次再相加,再4者之和转化为byte 型?
Java中char型和整型数能相加?
这个是可以相加的,因为char类型是可以转换为int类型的(计算过程中自定进行转换,不需要强制转换的)。举例:
Java中整型和字符型可以相加减吗?
可以 因为他会把char强转int,char类型的‘a’是97
java中如何实现字符与数字加减运算
第一种只可以实现整数转换;第二种可以实现任何类型的转换,而且计算精度高。
java新手 char类型赋值为整数
Java中对char型数据,在内存中存的就是整数,对应一张ASCII码表 ,比如说字符 'A' 对应的是65 字符 'a' 对应的是97 ,所以char c1 = 'A' ; 等效于 char c1 = 65 ;正是因为这样,所以字符型数据既可以作为一个字符使用,也可以作为一个整数使用,所以char型数据可以和int型数据进行运算!比...
Java中把整型常量与字符常量相加的结果赋给字符变量,会有问题吗?比如ch...
估计是错的,可能要强制类型转换。因为相加后是int型的,要强制为char
java int加string类型 int加char类型
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类 boolean -->Boolean char --->Character byte -->Byte short -->Short int -->Integer long -->Long float -->Float doubl...
java运算符优先级
~ instanceof * \/ % + - << >> >>> <> < = > \\ == != &^& & || ? := op= 。 Java中整数运算符在整数运算时,如果操作数是long类型,则运算结果是long类型,否则为int类型,绝不会是byte,short或char型。这样,如果变量i被声明为short或byte,i+1的结果会是int。如果结果...
Java中int与char间的隐式转换及字符串哈希
int类型(32位,-2^31到2^31-1)和char类型(16位,0到65535)在Java中可以相互转换。例如,可以将一个不超过char范围的数字赋值给char,如97赋值给'a',输出结果正确。反之,字符也可以赋值给int,如'97'。这是因为Java的自动类型转换机制允许从较小类型到较大类型进行隐式转换,但大到小的转换...
java里不是说char类型自动向int型转换吗?那为什么..
强制类型转换只发生在int、long、float和double之间。比int类型低或就是int型的像byte型、short型、char型、int型之间的转换不不要强制类型转换,也不存在着运算优先级和类型转换的问题,这是java官方规定的,你无权修改。至于运算后的结果是否能够被左边的类型容纳,你在输入的时候就能知道。
在java中关于自动类型转换说法正确的是 每一项都解释下
应该是A和C吧 A就不用解释了吧。“a" + 5肯定等于"a5"B和C:只能有取值窄的范围向宽范围转换,反之则不行。char < int < double 所以B:结果一定是int类型 所以C是对的