Java基础之基本数据类型

概述

java中有两大数据类型:

内置基本数据类型

引用数据类型

内置数据类型

八种基本类型,包括:

四个整数型(byte,short,int ,long)

两个浮点型(float,double)

一个字符型(char)

一种布尔型(boolean)

整数类型

这里写图片描述

  1. 四种整数类型,有固定的表述范围和字段长度,都可以表示负数,且不受具体的操作系统的影响。
  2. long l=990 或 long l=124536545646540l
  3. 整数的三种表现形式:

a. 十进制整数,如:120,-21,0

b. 八进制整数,,如:010,0010

c. 十六进制整数,如:0x10,0x001f

代码示例

         int  a=011; 
         System.out.println(a);//9

         int b=0x11;
         System.out.println(b);//17

浮点类型

这里写图片描述

  1. 与整数类型一样,同样有固定的表述范围和字段长度,均可表示负数,且不受具体的操作系统的影响
  2. java语言中,默认的浮点类型是double,声明float类型的时候,必须加F或f;
float f=5.0     //错误
float f=5       //正确
float f =5.0f   //正确

3.表现形式:

a. 十进制数:如:3.14

b. 科学计数法,如:3.14e2,3.14e-2,-3.14E2

4.其实在实际的应用中,如果要进行精确的小数计算或者是大数计算,建议使用java.math.BigDecimal类

字符类型

  1. Char类型是一个单一的16位Unicode字符,字符类型占2个字节,无符号整数,最小值为0,范围'\u0000'~'\uffff'
  2. 表现形式,必须用单引号' ':

a. 'A', 'a', '8' b. 转义字符 '\n','\t' c. Unicode表示 '\uXXXX'

3.只能表示一个字符

char c='中';   //正确
char c="中" ;  //错误
char c='中国';  //错误
char c='name';  //错误

4 例子

char zhong='中';
int zhong_value=zhong;
System.out.println(zhong_value);  //输出20013

布尔型

布尔型只有true和false,与C语言不同

boolean a=false;
boolean b=true;
a=1;//错误
while(1){}  //错误,1为整型,不能表示boolean

封装类

基本数据类型 byte short int long float double char boolean
封装类 Byte Short Integer Long Float Double Character Boolean

为什么要使用包装类型呢?

  1. 更加体现了面向对象的特点,有人说java不是纯面向对象语言,纯度只有百分之九十,就是因为java中仍然使用了基本数据类型和static。而包装类的出现,则更好的体现了面向对象的设计理念。
  2. 由于包装类型本质是一个类,有属性有方法,所以就比基础类型的功能强大了许多。假如需要将一个字符串的类型转化为整数,这时候怎么办?就需要包装类型的方法了。
String x="123";  
int p=Integer.parseInt(x);  
Integer p2=new Integer(x);

下面是包装类型中共有的一些方法,这些方法也是在项目开发中经常使用的。

1、带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);

2、带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");

3、可生成对象基本值的typeValue方法,如obj.intValue();

4、将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);

5、生成哈稀表代码的hashCode方法,如obj.hasCode();

6、对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2); 这里的equals()方法比较的原始的基础类型,

其jdk7原代码如下:

public boolean equals(Object obj) {  
        if (obj instanceof Integer) {  
            return value == ((Integer)obj).intValue();  
        }  
        return false;  
}

7、生成字符串表示法的toString()方法,如obj.toString().

int和Integer区别

(1)包装类和原始类型的区别。int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类,类中提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,能够表示整数的最大值和最小值的常量等等。

(2)初始默认值不同。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。

引用数据类型

results matching ""

    No results matching ""