zoukankan      html  css  js  c++  java
  • Java的8种基本数据类型

    1.Java数据类型的介绍:

      数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

    1.1Java中的基本类型和引用类型:

    • 基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
    • 引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

      

    1.2变量命名规则:

    1.字母、数字、“$”或“_”符组成
    2.不能以纯数字开头
    3.严格区分大小写
    4.不能使用Java保留字

    2.八大类型详介:

    整型:byte short int long 都是表示整数的

     数据类型 大小/位 封装类 默认值 可表示数据范围
    byte(位) 8 Byte 0 -128~127
    short(短整数) 16 Short 0 -32768~32767
    int(整数) 32 Integer 0 -2147483648~2147483647
    long(长整数) 64 Long 0 -9223372036854775808~9223372036854775807

    byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,
    而且int也是使用的最多的整型类型了。在通常情况下,如果Java中出现了一个整数数字比如35,那么这个数字就是int型的,
    如果我们希望它是byte型的,可以在数据后加上大写的B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,
    表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。浮点型:float double 表示浮点类型,差别是在于精度不同

     数据类型 字符数 封装类 默认值 可表示数据范围
    float(单精度) 32 Float 0.0 1.4E-45~3.4028235E38
    double(双精度) 64 Double 0.0 4.9E-324~1.7976931348623157E308

    double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,
    如果要表示一个数据是float型的,可以在数据后“F”面加上。浮点型的数据是不能完全精确的,
    所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。


    字符类型:char

     数据类型 字符数 封装类 默认值 可表示数据范围
    char(字符) 16 Character 0~65535


    用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容
    字符的存储范围在u0000~uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,
    char c = ' 1 ';
    我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);
    结果却变成了49。
    如果我们这样定义c看看
    char c = ' u0031 ';输出的结果仍然是1,这是因为字符'1'对应着unicode编码就是u0031


    布尔类型:boolean

     数据类型 字符数 封装类 默认值 可表示数据范围
    boolean 8 Boolean false true或者false


    这个类型只有两个值,true和false(真和非真).

    3.数据类型转换

    3.1int类型和String对象进行互相转换

     	public static void main(String[] args) {
    		 String str = "21";
    		 int itg = Integer.parseInt(str);//String 转int。
    		 System.out.println(itg);
    		 int rt = 21; 
    		 String b = String.valueOf(rt);//int转String。
    		 System.out.println(b);
    	}
    

    3.2.自动转换

    自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下(java提供自动拆装箱机制,详细查百度):
    低--------------------------------------------->高
    byte,short,char-> int -> long -> float -> double

    3.3强制数据类型转换

    强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确,下面的例子可以说明这个问题。 

    public static void main(String[] args){
             int x;
             double y;
             x = (int)34.56 + (int)11.2;  // 丢失精度
             y = (double)x + (double)10 + 1;  // 提高精度
             System.out.println("x=" + x);
             System.out.println("y=" + y);
    }
    

    运行结果:
    x=45
    y=56.0
    仔细分析上面程序段:由于在 34.56 前有一个 int 的强制类型转化,所以 34.56 就变成了 34。同样 11.2 就变成了 11 了,所以 x 的结果就是 45。在 x 前有一个 double 类型的强制转换,所以 x 的值变为 45.0,而 10 的前面也被强制成 double 类型,所以也变成 10.0,所以最后 y 的值变为 56。

  • 相关阅读:
    HDU 2116 Has the sum exceeded
    HDU 1233 还是畅通工程
    HDU 1234 开门人和关门人
    HDU 1283 最简单的计算机
    HDU 2552 三足鼎立
    HDU 1202 The calculation of GPA
    HDU 1248 寒冰王座
    HDU 1863 畅通工程
    HDU 1879 继续畅通工程
    颜色对话框CColorDialog,字体对话框CFontDialog使用实例
  • 原文地址:https://www.cnblogs.com/joeyJss/p/9300849.html
Copyright © 2011-2022 走看看