数据类型转换

Posted hellsino

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型转换相关的知识,希望对你有一定的参考价值。

第一章 数据类型转换

在Java中,一些数据类型之间是可以相互转换的。

  • 隐式类型转换(自动类型转换)自动类型提升
  • 强制类型转换

1.1 隐式类型转换

隐式类型转换:在程序中,空间保存的数据类型不一致的时候,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

1.2 强制转换

注意:

强制类型转换:它一般都会有数据的丢失。不建议强制转换。

格式:

需要转成的数据类型 变量名 = ( 需要转成的数据类型 )( 被转的数据 );

///////////////////////强制类型转换/////////////////////////////////
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);编译成功。

1.3 ASCII编码表

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
    • 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII(

    American Standard Code for Information Interchange 美国标准信息交换码)。

小贴士:

在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升为了int类型。char类型内存2个字节,int类型内存4个字节。

以上是关于数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集

sql 日期转换代码片段 - Dato,120,konvertere

HTML Bookmarklet模板:将任何JavaScript代码片段转换为Bookmarklet

对象不能从 DBNull 转换为其他类型。

java中把json怎么转换成数组?

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url