标签:demo 格式 oat 识别 内存 inf 代码 hang 信息
在Java中,一些数据类型之间是可以相互转换的。
隐式类型转换:在程序中,空间保存的数据类型不一致的时候,java内部会自动的帮助我们转换。
要能够自动转换,必须遵守Java中的自动转换的规则:
可以把小空间中的数据给大空间中保存。
byte 空间中的数据, 可以自动的转成 short int long float double
但是不能把double 保存在 byte 、int 、 short 、long 等空间。
/*
+:是一个运算符,做加法运算的。
我们在做运算的时候,一般要求参与运算的数据类型必须一致。
类型转换:
隐式转换
强制转换
隐式转换
byte,short,char -- int -- long -- float -- double
*/
public class TypeCastDemo {
public static void main(String[] args) {
//定义两个int类型的变量
int a = 3;
int b = 4;
int c = a + b;
System.out.println(c);
//定义一个byte类型,定义一个int类型
byte bb = 2;
int cc = 5;
System.out.println(bb + cc);
//我能不能不直接输出,用一个变量接收呢?
//用变量接收,这个变量应该有类型
//可能损失精度
//byte dd = bb + cc;
int dd = bb + cc;
System.out.println(dd);
}
}
容量小的类型可自动转换为容量大的数据类型 。
byte、short、char-->int-->long-->float-->double
注意:
强制类型转换:它一般都会有数据的丢失。不建议强制转换。
格式:
需要转成的数据类型 变量名 = ( 需要转成的数据类型 )( 被转的数据 );
///////////////////////强制类型转换/////////////////////////////////
double d=3.14;
//int i=d;//报错
int i=(int)d;
System.out.println(i);
int i4 = (int )dd + 3.14; 报错。------》int i=(int)(dd+3.14);编译成功。
public static void main(String[] args) {
//字符类型变量
char c = 'a';
int i = 1;
//字符类型和int类型计算
System.out.println(c+i);//输出结果是98
}
在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。
编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。可以理解为是一个字典。
人们就规定:
字符 | 数值 |
---|---|
0 | 48 |
9 | 57 |
A | 65 |
Z | 90 |
a | 97 |
z | 122 |
American Standard Code for Information Interchange 美国标准信息交换码)。
小贴士:
在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升为了int类型。char类型内存2个字节,int类型内存4个字节。
标签:demo 格式 oat 识别 内存 inf 代码 hang 信息
原文地址:https://www.cnblogs.com/hellsino/p/11663226.html