java 变量数据类型转换?byte, short, char, int, long, float, double

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

简单数据类型之间的转换
在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)

高转低则要强转
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-12
byte b1 = 3; byte b2 = 4; byte b = b1-b2这个之所以报错,是因为在进行b1-b2的运算时,会自动将b1和b2提升成int型,所以最后结果也是int型,需要进行强制装换,才能赋值给byte型变量

默认排序你似乎有点搞错,应该是byte,char,short,int,long,float,double本回答被网友采纳

Java数据类型自动转换的优先顺序
基本类型有以下四种:int 长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、float 长度数据类型有:单精度(32bits float)、双精度(64bits double)boolean 类型变量的取值有:ture、false 。1字节(8位)char数据类型有:unicode字符,16位 对应的类类型:Integer、Float、Bo...

Java进阶:Java变量类型之间的相互转换
在Java中整型 实型 字符型被视为同一类数据 这些类型由低级到高级分别为(byte short char)??int??long??float??double 低级变量可以直接转换为高级变量 例如 下面的语句可以在Java中直接通过 byte b;int i=b;而将高级变量转换为低级变量时 情况会复杂一些 你可以使用强制类型转换 即你必须采用下面...

Java中对象类型转换原则有哪些?
byte 、short、int、long、float、double、char 注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换 基本类型向类类型转换 正向转换:通过类包装器来new出一个新的类类型的变量 Integer a= new Integer(2);反向转换:通过类包装器来...

...跟byte、short、long、int、float、double、char、boolean等八大数据...
String属于引用数据类型,这就是Java提供的字符串类,内部封装了很多方法(函数),简洁又安全 那八种属于基础数据类型;这八种也有对应的引用数据类型 int对应Integer char对应Character 其他都是首字母大写 例如long对应Long 引用类型是将基础数据类型进行封装,提供更丰富的功能 ...

java语言的所有数据类型分为哪几种?
JAVA中一共有八种基本数据类型,分别是:byte、short、int、long、float、double、char、boolean。1、byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。2、short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。3、int:32位,最大数据存储容量是2的32次方减1,数据范围...

什么叫数据类型?变量的类型定义有什么作用?
Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。各种数据类型作用:1、byte:8位、有符号的以二进制补码表示的整数。min : -128(-2^7)。max: 127(2^7-1)。default: 0。对应包装类:Byte。2、short:16位、有符号的以二进制补码表示的整数;min ...

数据类型转换
在Java中,除了基本类型,还存在引用类型,类似于C\/C++的指针,用于指向对象。这些类型包括对象和数组。所有引用类型的默认值都是null。一个引用变量可以引用任何与其兼容的类型。Java中的数据类型转换遵循从低级到高级的原则,例如:byte,short,char到int再到long再到float再到double。自动类型转换发生在运算...

什么是JAVA中的整型变量?什么是非整型变量?
Java中8种基本数据类型 byte、short、int、long、float、double、boolean、char。其中整型有四个,分别为byte、short、int、long。对应8位,16位,32位,64位。取值范围分别在-2^(位数-1) ~ 2^(位数-1)-1.那么将变量定义为:byte、short、int、long 就是整型变量,我觉得他们的封装类也应该是...

java中什么是显式类型转换和隐式类型转换?
从存储范围小的类型到存储范围大的类型。具体规则为:byte→short(char)→int→long→float→double 也就是说byte类型的变量可以自动转换为short类型,示例代码:byte b = 10;short sh = b;这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh。在类型转换时可以跳跃。示例代码:byte b1 =...

java 值类型有哪些
Java值类型有八种。它们分别是:byte、short、int、long、float、double、char和boolean。Java语言中的值类型,也称为基本类型,是用于定义变量的一种数据类型。这些基本类型在Java编程中扮演着非常重要的角色,因为它们为程序提供了基础的数值和字符表示方式。下面是关于这些值类型的 1. byte类型:用于表示...

相似回答