当前位置:编程学习 > JAVA >>

谁能帮我这个菜鸟的忙啊

我到现在还搞不懂 那些类型的转换  就是那些  long int short byte char float double 之间的转换  搞的我迷糊了 --------------------编程问答-------------------- short byte char 这3种 运算的时候都是转换成int,所以比如:

char ch1 = 'a';
char ch2 = 'b';
char ch3 = ch1 + ch2;//这句存在编译错误,不能把ch1 + ch2的结果int型的赋值给char的


int long float double//运算的时候,是小的自动转换成大的,比如 int + long 结果就是long

我也是新手 --------------------编程问答-------------------- 哪儿转化糊涂了?你举个例子、、这种问题在遇到的时候还是要多看API. --------------------编程问答-------------------- 不要太心急了,多看看例子。 --------------------编程问答-------------------- 你可以了解以下这些基本数据类型的存储范围,小的转换到大的就不用强制类型转换,就像一个小盒子放进一个大盒子里,很容易就放进去了,但是范围大的转换为小的就要进行强制类型转换,因为把大盒子放进小盒子里就要进行一些强制性处理,就不是那么简单! --------------------编程问答-------------------- class TestDemo
{

public static void main(String[] args) 
  {
  /*数据类型自动提升:*/
  
//1.所有的byte型、short型和char型的值将被提升到int型。
byte a = 1;
short b = 2;
char c = '3';
int d = 4;
d = a+b+c;//首先将a,b转换成int型,然后进行+运算,所以最后结果为int型
short e = (short)(a+b+c); //如果将a+b+c的值赋给比int型小的类型,必须手动进行强制转换

//2.如果一个操作数是long型,计算结果就是long型;
int a1 = 4;
long b1 = 8;
long c1 = a1 + b1;
int d1 = (int)(a1 + b1);

//3.如果一个操作数是float型,计算结果就是float型;
//4.如果一个操作数是double型,计算结果就是double型。

/*出现数字时*/
float f = 4.0f;//需要加上f标记,因为它会将4.0默认为double类型,
double dou = 4.0;
  }
} --------------------编程问答--------------------
引用 5 楼 monghuan 的回复:
class TestDemo
{

public static void main(String[] args) 
  {
/*数据类型自动提升:*/
 
//1.所有的byte型、short型和char型的值将被提升到int型。
byte a = 1;
short b = 2;
char c = '3';
int d = 4;
d = a+b+c;//首先将a,b转换成i……


class TestDemo
{

public static void main(String[] args) 
  {
  /*数据类型自动提升:*/
  
//1.所有的byte型、short型和char型的值将被提升到int型。
byte a = 1;
short b = 2;
char c = '3';
int d = 4;
d = a+b+c;//首先将a,b转换成int型,然后进行+运算,所以最后结果为int型
short e = (short)(a+b+c); //如果将a+b+c的值赋给比int型小的类型,必须手动进行强制转换

//2.如果一个操作数是long型,计算结果就是long型;
int a1 = 4;
long b1 = 8;
long c1 = a1 + b1;
int d1 = (int)(a1 + b1);

//3.如果一个操作数是float型,计算结果就是float型;
//4.如果一个操作数是double型,计算结果就是double型。

/*出现数字时*/
float f = 4.0f;//需要加上f标记,因为它会将4.0默认为double类型,
double dou = 4.0;
  }
}
--------------------编程问答--------------------
引用 5 楼 monghuan 的回复:
class TestDemo
{

public static void main(String[] args) 
  {
/*数据类型自动提升:*/
 
//1.所有的byte型、short型和char型的值将被提升到int型。
byte a = 1;
short b = 2;
char c = '3';
int d = 4;
d = a+b+c;//首先将a,b转换成i……
   我全部都用double 来表示可以不
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,