zoukankan      html  css  js  c++  java
  • java基础-数据类型之殇

    一 前言

    Java的数据类型分为2种,分别是基本数据类型和引用数据类型;java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型;面试常问的java8大基本数据类型其实是基本数据类型;想要打好基础数据类型这关很重要;

    二 基本数据类型

    基本数据类型分为 整型4个 ,布尔型一个,字符型一个,浮点数型2个;每个数据类型的大小都不一样,数据类型的大小以字节计算,在计算机种一个字节是等于8位,也就是2的8次方法;

    2.1 整型

    整型故名思意,字段声明的类型是整型,字段被赋值的时候只能是整型类型数据;如果是长整型(long)其后面书写时带上L或者l表示长整型数据;

    在这里插入图片描述

    int类型书写示例:

    public class Type {
    
        // int 型 java默认为整型
        private int zszxz1 = 1327;
    }
    

    long类型书写示例:

    public class Type {
    
        // long 型 Java中称呼为长整型,后面跟 L 或者 l,由于l同 1很像,通常使用L
        private long zszxz2 = 1327L;
        
    }
    

    shor型书写示例:

    public class Type {
    
        // shor 型 java中称呼为短整型 
        private short zxzxz3 = 1327;
    
    }
    

    byte类型书写示例:

    public class Type {
    
        // byte 型 java中称呼为字节
        private byte zszxz4 = 127;
    
    }
    

    2 .2 浮点类型

    浮点数据类型分为单精度类型(float)和 双精度类型 (double);书写时double型,数字后面带上D或者d表示双精度型;
    书写float型,数字后面带上f或者F表示单精度型;其都遵循IEEE 745 规范,如果溢出会出现下列三种情况:

    1. 正无穷大
    2. 负无穷大
    3. Nan表示非数值

    在这里插入图片描述

    书写示例:

    public class Type {
    
        // float 型
        private float zszxz5 = 3.17f;
        // double 型
        private double zszxz6 = 3.17d;
    
    }
    

    2.3 字符型

    字符型(char)存储单个字符,特殊的字符使用unicode值(0~65535)进行存储;其大小2个字节;

     public static void main(String[] args) {
            // 字符 A 在 unicode中的值是65也就是 u0041;
            char zszxz7 = 'A';
            char zszxz8 = 'u0041';
            char zszxz9 = 65;
            // true
            System.out.println(zszxz7==zszxz8);
            // true
            System.out.println(zszxz7==zszxz9);
        }
    

    常用转义符号:

    在这里插入图片描述

    2.4 布尔型

    布尔型(boolean),其只有2个值就是true和false;通常用于判断是非;

        // 正确
        private boolean zszxz10 = true;
        //  错误
        private boolean zszxz11 = false;
    

    三 进制数值表示

    3.1 二进制数

    二进制数使用0b或者0B开头,每位都是用0~1表示;

    示例:

        // 二进制数
        private int zszxz12 = 0b1111;
    

    3.2 八进制数

    八进制数使用0开头,每位是0~7表示;

    示例:

        public static void main(String[] args) {
            int zszxz13 = 017;
            // 15 
            System.out.println(zszxz13);
        }
    
    

    3.3 十六进制数

    十六进制数使用0x或者0X开头,每位都是使用0~9, A~F 表示;

    示例:

        public static void main(String[] args) {
            int zszxz14 = 0xff;
            // 255
            System.out.println(zszxz14);
        }
    
    

    四 指数数值表示

    在java中指数类型使用e表示10的次方幂,比如 10^5 表示成 e5,声明时注意使用浮点数据类型或者其他大数值类型;

    示例:

        public static void main(String[] args) {
            double zszxz15 = 0.3e2;
            // 30.0
            System.out.println(zszxz15);
        }
    
    

    五 类型转换

    5.1 自动类型转换

    自动类型转换是指小数据类型转向大数据类型java虚拟机会自动帮你转换,不需要做额外的操作;

    不丢失精度情况:

    在这里插入图片描述

    丢失精度情况:

    在这里插入图片描述

    5.2 强制类型转换

    强制类型转换是指大数据类型转向小数据类型,需要进行强制类型转换,但这有可能发生丢失精度的风险,使用()表示强制转换;在浮点数转整型的时候丢失精度的规则不是四舍五入,而是截取;

    示例:

        public static void main(String[] args) {
            double zszxz16 = 55.9;
            int opq = 0 ;
            opq = (int)zszxz16;
            // 55
            System.out.println(opq);
        }
    
    

    六 引用数据类型

    引用数据类型包括类,接口,数组,java中的引用本质上等同于c中的指针,但在java中没有指针这个说法,而是保留的指针的引用类型;特殊的数据类型String就是引用数据类型;详细的引用数据类型在后续的学习中才会有深入了解,对于初学者,说的再多目前也没意义;

    在这里插入图片描述

  • 相关阅读:
    完全背包
    01背包
    游戏编程:为什么C++游戏开发比Java更好,其实是因为这两个点!
    VS code搭建 C 和 C++ 环境的完整图文教程!赶紧收藏,这波不亏!
    来自清华计算机系的招聘信息,第一个要求就劝退99%的人!网友:但福利待遇真好!
    C++ 必看书籍清单!从C++ Primer 到 源码剖析,精通真的很难!
    C语言简单编程速成!保姆级入门教程, 目标达成!
    9 名程序员被抓!这次是真的活该.....
    你知道各类开发语言的薪酬差距吗?高薪在于适合,而不在于广度!
    apache common包 CollectionUtils 使用 详解
  • 原文地址:https://www.cnblogs.com/zszxz/p/12058057.html
Copyright © 2011-2022 走看看