java里的基本数据类型

  java里一共有八大数据类型 boolean(未定) char(2字节) byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节),还有与之对应的包装类 Boolean Character Byte Short Integer Long Float Double, 基本数据与包装类之间的转换叫做装箱与拆箱

        Integer i = new Integer(10);//装箱这个在java1.5之前只能这样new一个出来
        Integer i1 = 10;//java1.5之后可以直接这样初始化一个integer对象出来;

        Integer j = new Integer(10);
        int k = j; //这叫做拆箱
    

int i 与Integer i 到底有什么区别呢,看程序:

        Integer n1 = 127;
        Integer n2 = 127;
        Integer n3 = new Integer(10);
        Integer n4 = 10;
        System.out.println(n1.equals(n2));
        System.out.println(n1==n2);

        System.out.println(n3==n4);
        System.out.println(n3.equals(n4));
    

结果是true
     true
     false
     true
java里"=="比较的是对象的地址,而equal比较的是内容,n3与n4比较的结果不以外,那么为什么n1跟n2 "=="比较也是true呢,看数值127 是byte的最大值,java里对于byte范围的数据因为使用多,所以这个对象会放到内存中保存,n1与n2指向的是同一个内存地址,但是超过127或者小于-128结果就是

        Integer n1 = -129;
        Integer n2 = -129;
        Integer n3 = new Integer(10);
        Integer n4 = 10;
        System.out.println(n1.equals(n2));
        System.out.println(n1==n2);

        System.out.println(n3==n4);
        System.out.println(n3.equals(n4));
    

true
false
false
true

包装类有一些常用的方法,主要就是数据类型转换,除了boolean char之外的构造方法除了构造方法有两种,不过Float有三种。

数制转换方法,用Integer做例子。byteValue();doubleValue();floatValue;intValue;shorValue;这些方法都是拆箱,返回的都是基本数据类型。

反过来 valueOf(int i)是放回包装类的。

ps:基本数据类型转换遵循的原则:

  1 容量小的类型自动转换成容量大的数据类型,数据类型按照容量大小排序是

    byte,short,char<int<long<float<double; 注意这是是容量大小不是所占字节数

  2 容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,但是可能造成精度降低,或者溢出。

  3 有多种数据类型混合运算是,系统将自动所有数据转换成最大的那个类型,然后进行运算。

  4 实数常量,系统默认为double;

  5 整数常量,系统默认为int;

所以long lg = 10000000000l;后面要加一个l,不然系统会保存因为默认为int就超出范围了

时间: 2024-10-07 05:50:23

java里的基本数据类型的相关文章

Java从零开始学四(数据类型)

一.Java数据类型划分 二.基本数据类型 No. 数据类型 大小/位 可表示的数据范围 1 long(长整数) 64 -9223372036854775808 ~ 9223372036854775807 2 int(整数) 32 -2147483648 ~ 2147483647 3 short(短整数) 16 -32768~32767 4 byte(位) 8 -128 ~ 127 5 char(字符) 2 0 ~ 255 6 float(单精度) 32 -3.4E38(-3.4´1038) ~

QVariant(相当于是Java里面的Object,起到一个数据类型“擦除”的作用,可以使用Q_DECLARE_METATYPE进行注册)

=QVariant= [%这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可 以把这很多类型都存放进去,到需要使用的时候使用一系列的to函数取出来即可.比如你把int包装成一个QVariant,使用的时候要用 QVariant::toInt()重新取出来.这里需要注意的是,Q

Java语法基础---变量数据类型--类型转换

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型.在内存中分配了不同大小的内存空间. 内存中分配内存空间: byte        8位2进制    1个字节 short      16位2进制    2个字节 int        32位2进制    4个字节 long       64位2进制    8个字节 char       16位2进制    2个字节 注意: 1.过大整形时表示长整形的数据long q = 1234567891234L. 后面加标识L,这里才会用8

JAVA里的别名机制

别名现象主要出现在赋值的问题上: 对基本数据类型的赋值是很简单的.基本数据类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方.例如,对基本数据类型使用a=b,那么b的内容就复制给a.若接着又修改了a,而b根本不会受这种修改的影响. 但是在为对象"赋值"的时候,情况却发生了变化.对一个对象进行操作时,我们真正操作的是对对象的引用.所以倘若"将一个对象赋值给另一个对象",实际是将"引用"从一

java的五种数据类型解析

不知道大家对java的简单数据类型是否了解,下面针对Java的五种类型简单数据类型表示数字和字符,进行详细的讲解和分析. 一.简单数据类型初始化 在Java语言中,简单数据类型作为类的成员变量声明时自动初始化为默认值,除非显式地声明.简单数据类型为某一方法声明局部变量时不会自动地初始化而且会导致编译器扔出类似以下的错误消息"Variable x may not have been initialized.(x变量没有初始化)"表B定义了Java简单数据类型的默认值. 二.封装类 1av

Java里数值类型转换

1 import static java.lang.System.out; 2 3 public class testOnNumber { 4 public static void main(String[] args){ 5 //int转换成short,把低位截断给short 6 int i = 0xa0001231; 7 out.println(Integer.toBinaryString(i)); 8 out.println(i); 9 short s = (short) i; 10 ou

Java中的基本数据类型

Java中的基本数据类型分四类八种 byte(Byte-1)/short(Short-2)/int(Integer-4)/long(Long-8) boolean(Boolean-1bit) char(Character-2) float(Float-4)/double(Double-8) 括号后是他们的包装类和所占字节大小(Java中的基本数据类型所占字节大小是固定的,和C/C++中不一样) 基本数据类型的默认值: Data Type Default Value (for fields) by

String是java中的基本数据类型吗

1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. Java代码 new String() 和 new String("")都是申明一个新的空字符串,是空串不是null: 3. String str="kvill": String str=new String ("kvill"); 的区别: 在这里,我们

JAVA中分为基本数据类型及引用数据类型

一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0 long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数