• 整形数组的详解


    在数据处理时如果超出最大值,或最小值,会出现一个循环,即超过最大值,输出变成最小值,超出最小值,输出最大值

    整形不构用用Long

    默认的整形常量都是int型,那么可以为它追究字母L或者直接使用Long转换

    eg:system.out.println(Integer.MAX_VALUES+1L)

    范围大的数据类型可以自动转为范围小的数据类型,反过来,范围的要转为大的,则要强制转换,并考虑数据溢出

    程序虽然支持数据转换处理,但是如果不是必须的情况下不建议转换

    byte 类型特别要注意,保存的数据量很小-128~127

    ava中,byte在内存中占一个字节,取值范围为何是-128~127?(-2^7~2^7-1)

    计算机是用二进制来表示数据的,一个字节也就是8个比特位,其中最高位表示符号位(0正1负)

    故byte的取值范围为1000 0000 到 0111 1111

    在Java中,是采用补码来表示数据的

    正数的补码和原码相同,负数的补码是在原码的基础上各位取反然后加1

    1000 000是补码,减一然后按位取反得到其原码1000 0000

    (减一得 0111 1111,再按位取反得 1000 0000)

    因为是负数,所以最小的byte值为-2^7=-128

    0111 1111的十进制为2^7-1=127(等比序列求和)

    byte是一个字节,共有2^8=256种可能性,也就是-128~127

    其他基本数据类型同理

    char没有负值,占两个字节,所以取值范围是0~2^16-1(65535)

    比如 byte num=20;

    正常来讲在java程序里面20这个数字应该是int型,但是在为byte赋值的时候并没有并没有因为是int型而发生类型转换,java对byte进行 了特殊处理即,没超过byte范围的常量可以自动由int变为byte,如果超过了则要进行强制转换。

    总之整形优先考虑Long   然后才是int

    使用小数的时候直接使用double来定义

    type<int<Long<double  范围由小到大

    所有 数据类型自动转换的时候都是 小类型自动转为大类型

    10/4=2  是因为int型不保存小数点后的数

    计算的时侯选择的数据类型将直接影响小数点后的数。

    在任何编程语言中,字符都可以与int进行互转,也就是字符中所描述的内容可以通过int获取其对应的系统编码

     因为字符型变量在内存中是用ASCII值保存的,也就是说是以整数形式保存的,所以可以认为是通用的,但是ASCII码字符只有128个(扩展的ASCII表有256个字符),也就是说,只要一个字节就可以表示所有的ASCII字符了,所以字符型变量占1字节的空间,而整弄变量占的空间长度则和数据总线的宽度一致,也就是说,在32位平台上,它占4字节,在如今的64位平台上,它占8字节。如‘A’

    字符0是48,字符A是65,小写字符a是65+32=97
  • 相关阅读:
    LoadRunner使用记录
    JVM&GC详解
    常用网络操作命令
    IP地址、子网掩码、网络号、主机号、网络地址、主机地址详解
    交换机配置记录
    持续集成与自动化部署---代码流水线管理及Jenkins和gitlab集成
    Git的安装与使用详解
    性能测试---问题记录
    性能测试---实战篇
    c++实用快捷键
  • 原文地址:https://www.cnblogs.com/shitulaoma/p/12439375.html
Copyright © 2020-2023  润新知