【数据类型及其转换基本知识点!个人理解】

本文详细介绍了Java中的数据类型,包括整数类型(byte, short, int, long)、浮点类型(float, double)、字符类型(char)以及布尔类型(boolean)。讲解了各类型之间的转换规则,如自动类型提升和强制类型转换,并强调了数据类型的字节大小和取值范围。此外,还提及了字符串类型(String)的特性,如不能直接转换为整数类型,以及字符串连接的规则。
摘要由CSDN通过智能技术生成

一、数据类型

  • 整数类型

    1>byte 字节类型 1个字节8位、范围-2^7----2^7-1

    2>short 短整型 2个字节16位、范围-2^15----2^15-1

    3>int 整型 4个字节32位、范围-2^31----2^31-1

    4>long 长整型 8个字节64位、范围-2^63----2^63-1

    注意:

    java中整数默认是int类型

    将一个整数赋值给byte类型变量时,回去掉前面三个字节,只存储最后一个字节

    将一个整数赋值给short类型变量时,回去掉前面俩个字节,只存储最后俩个字节

    将一个整数赋值给long类型变量时,如果正数没有超出int范围时可以不需要带l或L,正数前面补4个字节0,负前面补4个字节1。如果超出int范围,后面数值必须要带上L或l,将右侧默认的int32位数值变成64位的数值。

  • 浮点类型

    float 单精度

    4个字节,32位,一个符号位,23个尾数位,8个指数位

    double 双精度 Java中默认浮点数为double类型

    8个字节,64位,一个符号位,52个尾数位,11个指数位

    右侧数值默认为double类型 使用float定义浮点时,后面必须带上f或F 整数时不需要。

  • 字符类型

    oa:97 A:65

    char,java中用于存储单个字符。在计算机内内存中实际上存储上的是一个16位无符号位的整数

    Unicode编码:科学家统计了世界上所有国家的语言文字还有符号还有括号等字符。让每个字符对应一个数字,在计算机中需要存储这些字符时,是指上存储的是该字符对应的数字,Unicode采用的是双字节的定长编码没有附属。数值范围为0-65535,能存储世界上绝大多数的字符。

    java中char字符采用的就是Unicode双字节编码。

    ASCII:编码单位为0-127,采用的是单字节编码

    Unicode编码兼容ASCII码,

    注意:

    1>使用char定义一个字符时,该字符必须使用单引号引起来,而且只能定义单个字符

    2>可以采用一个4位16进制的unicode编码来表示一个字符,必须写在单引号里面,以\u开头。

  • 布尔类型

    booleam用于表示真 假,只有俩个值turn和false。具体占用几个字节不明确。

    数据的前缀和后缀

    前缀:

    4位16进制unicode编码来表示字符char c'\u4E00';

    后缀:

    L或l 使用long类型来定义一个整数数值时,如果右侧整数值超出int范围必须要带,没有超出可以不用带。

    F或f 使用float来定义是一个浮点数时,必须要带

    D或d 使用double来定义一个浮点数时,可以带可以不带。

    数据类型转换:只能发生在整数、浮点数、字符类型之间,这三种类型不能与布尔类型转换

    byte---short---int---long---float---double char

    小类型转大类型

    自动类型转化、隐式类型转换

    byte b= 100;

    int n=b;

    大类型转小类型

    强制类型转换、显示类型转换

    int i=100;

    byte j=(byte0)i;

    大类型转小类型,如果数据超出小类型范围,会发生数据转换错误。

    string字符串类型:

    //string字符串类型
            /*
             * 1.char类型 
             * 字符串类型,只能定义一个字符,使用单引号引起来
             * 2.string
             * 字符串类型,可以同时定义一个或多个字符,使用双引号连接起来
             */
            
            char c1='张';
            char c2='三';
            System.out.println((int)c2);
            
            //实用String来定义一个字符串
              String s1="张三丰";
              String s2="A";
              System.out.println(s1);
              System.out.println(s2);
              //不能将字符串类型转为整数类
              //错误:System.out.println((int)s2);
              
              //字符串类型可以和其他任意数据类型之间使用+做连接,连接完后结果显示还是一个字符类型
              int m=200;
              String s3="200";
              String s4=m+s3;
              System.out.println("s4:"+s4);
              
              System.out.println("abc"+3+4);
              System.out.println(3+"abc"+4);
              System.out.println(3+4+"abc");
              System.out.println('a'+3+"abc");
              System.out.println("abc"+'a'+3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值