java 变量数据类型转换?byte, short, char, int, long, float, double
float=3.5因为浮点型常量是double,所以要写成(float)3.5但是byteb=3;3是int类型的为什么可以呀?byteb1=3;byteb2=4;byt...
float = 3.5 因为浮点型常量是double ,所以要写成(float)3.5 但是 byte b = 3; 3是int类型的 为什么可以呀?
byte b1 = 3; byte b2 = 4; byte b = b1-b2;报错的?那我定义的b1,b2不是没意义?
char c1 = 'c'; char c2 = 23;23是int类型?它们默认排序不是这样么?
byte, short, char, int, long, float, double 展开
byte b1 = 3; byte b2 = 4; byte b = b1-b2;报错的?那我定义的b1,b2不是没意义?
char c1 = 'c'; char c2 = 23;23是int类型?它们默认排序不是这样么?
byte, short, char, int, long, float, double 展开
2个回答
展开全部
简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double
自动类型转换
低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
long l=b;
float f=b;
double d=b;
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r
char c='c';
int i=c;
System.out.println("output:" i);
输出:output:99;
对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99;char c=(char)i;System.out.println("output:" c);
public class TestBasicTypeConvert {
static void prt(String s) {
System.out.println(s);
}
void f1(long x) { prt("f1(long)"); }
void f1(float x) { prt("f1(float)"); }
void f1(double x) { prt("f1(double)"); }
public static void main(String [] args){
TestBasicTypeConvert tbConvert=new TestBasicTypeConvert();
tbConvert.f1(1);
}
}
//f1(long)
高转低则要强转
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double
自动类型转换
低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
long l=b;
float f=b;
double d=b;
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r
char c='c';
int i=c;
System.out.println("output:" i);
输出:output:99;
对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99;char c=(char)i;System.out.println("output:" c);
public class TestBasicTypeConvert {
static void prt(String s) {
System.out.println(s);
}
void f1(long x) { prt("f1(long)"); }
void f1(float x) { prt("f1(float)"); }
void f1(double x) { prt("f1(double)"); }
public static void main(String [] args){
TestBasicTypeConvert tbConvert=new TestBasicTypeConvert();
tbConvert.f1(1);
}
}
//f1(long)
高转低则要强转
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询