JAVA学习第二课----基本数据类型


前言:

  数据类型主要包括两大类:基本数据类型(四类八种)和引用数据类型(三种)

  基本(内置)数据类型包括:数值型、字符型(char)、布尔型(boolean)

     数值型包括:整数类型(byte、short、int、long)、浮点类型(float、double)

  引用数据类型包括:类(class)、接口(interface)、数组(array)

  基本数据类型的几种静态属性 :

  MAX_VALUE(最大值)、MIN_VALUE(最小值)、SIZE(大小)、TYPE(类型)

  使用:

  Byte.MAX_VALUE = 127

  Byte.MIN_VALUE = -128

  Byte.SIZE = 8

  Byte.TYPE = byte


 一、数据类型

1、整数类型

在Java中,有四种不同类型的整型,按照占据空间大小的递增次序,以此为byte(位)、short(短整型)、int(整数)、long(长整数)。

在默认情况下,整数类型是指int型。

1.1byte类型

  占据1个字节内存空间,数据的取值范围是 -128~127.

  占内存位数8位.

1.2short类型

  占据2个字节内存空间,数据的取值范围是-32768~32767.

  占内存位数16位

1.3int类型

  占据4个字节内存空间,占内存位数32位

注意:
  比int最大值还大一的是最小值,比int最小值还小一的是最大值。 
  数据的最大值、最小值会出现一个循环过程,这种情况被称为数据溢出。

1.4long类型 

  占据8个字节内存空间,占内存位数64位

注意:可以用long类型解决int类型数据溢出问题
  1、直接在数据前增加一个“(long)”    integer.MAX_VALUE + (long)1
  2、直接在数据后增加一个字母“L”      integer.MIN_VALUE + 2L
  int型 + lomg型 = long型

2、浮点类型

float类型 和 double类型

float占用4个字节、double占用8个字节

注意:含小数的实数默认位double类型,如果定义的是float类型数据,为其赋值时必须要执行强制转型。
(1)直接加上字母“F”或小写字母"f",例如:“float data = 1.2F” 
 (2)直接在数字前加强制转型位“float”,例如:"float data2 = (float)1.2;"

3、字符类型(char)

  字符字符,顾名思义,就是字母和符号的统称。在内存占用2个字节。

  字符要用一对单引号(' ')括起。

注意:
  那么我们如何把一个字符变量赋值成一个单引号呢?
 这就涉及到了转义字符。
  \f  换页            \\  反斜线
  \b  倒退一格          \'  单引号
  \r  归位            \"  双引号
  \t  跳格            \n  换行
  ASCII码:大写字母对应整数65~90;小写字母对应整数97~122;字符0~9对应整数49~57,大小写字母之间差32个长度  

4、 布尔类型(boolean)

  在JAVA中必须使用关键字Boolean声明布尔类型的变量。只有真假两种结果。

  例:boolean Zhang = true;//声明boolean变量Zhang,并赋值为true。

  

注意:特别注意的是Zhang不能赋值为0或1;

 

二、数据类型的转换

2.1数据类型的自动转换

在JAVA中下面两个条件皆成立时,自动进行数据类型的转换。

(1)转换前后的数据类型要相互兼容。

    在Java中,因为boolean类型中只能存放true和flase,所以与整数和字符不兼容,不可进行转换。

(2)转换后的数据类型的表示范围不小于转换前的类型。

  “小转大”为自动转换、“大转小”为强制转换。

操作数1类型

操作数2类型 转换后类型
byte、short、char               int   int
byte、short、char、int long long
byte、short、char、int、long float float
byte、short、char、int、long、float double double
public class Zidongexchange {
    public static void main(String[] args) {
        int a = 156;
        float b = 24.1f;
        System.out.println("a = "+a+" ,b = "+b);
        System.out.println("a/b = "+(a/b));
    }
}

运行结果:

a = 156 ,b = 24.1
a/b = 6.473029

  当两个数有一个为浮点数时,其运算结果直接转换为浮点数。

  当表达式中变量的类型不同时,Java会自动把较小的表示范围转换成较大的表示范围后,再做运算。

  byte→short→int→long→float→double

2.2数据类型的强制转换

(欲转换的数据类型) 变量名称;

public class Qiangzhi {
    public static void main(String[] args) {
        int a = 55;
        int b = 9;
        float g,h;
        System.out.println("a = "+a+", b = "+b);
        g=a/b;
        System.out.println("a/b = "+g+"\n");
        System.out.println("a = "+a+", b = "+b);
        h=(float)a/b;
        System.out.println("a/b = "+h);
    }
}


运行结果:
a = 55, b = 9
a/b = 6.0
a = 55, b = 9
a/b = 6.111111

注意:
整数相除时,小数点后的数字会被截断,结果仍保持为整数。
想要的到预期的极端结果,就必须将两个整数中的一个或者两个进行强制转换为浮点数。
(float)a/b;
(float)a/(float)b;
a/(float)b;

int x = (int)10.35 → → x=10

  

猜你喜欢

转载自www.cnblogs.com/Remainedyears/p/10884874.html