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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

高转低则要强转
参考技术A 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--数据类型

1、java常见数据类型

整数:byte、short、int、long

小数:float、double

字符:char

布尔型:boolean

2、数据类型转换

byte<short<int<long

小数据类型转换成大数据类型,自动类型转换

大数据类型转换成小数据类型,强制类型转换(变量名=(小数据类型)大数据类型)

class Demo03{
public static void main(String[] args){
/*
byte b=11;
short s=b;
int i=s;
long l=i;
*/
int i =10;
byte b=(byte)i;
System.out.println(i);
}
}

 

3、在计算机中,如果一个数字的二进制最高位是1,则一定是负数

如果计算机中,一个数的二进制最高位是0,则一定是正数

在计算机中存储的是补码

 

4、在byte、short、char类型的数据在运算时,都会自动转换成int类型的数据在运算

System.out.println(‘a‘+1);//输入出结果98

两个不同数据类型的数据在运算的时候,结果取决于大的数据类型

 

byte i=10;赋值时i是常量,10并没有超过byte的范围,所以不报错

 













以上是关于java 变量数据类型转换?byte, short, char, int, long, float, double的主要内容,如果未能解决你的问题,请参考以下文章

java--数据类型

Java数据类型转换变量和常量

java基础---------基本数据类型之间的转换基本数据类型与String间的转换

Java数据类型自动转换的优先顺序

java 详细介绍short,byte,char三种类型,我分不清

java基础:数据类型的转化