java——数据类型介绍;枚举类型介绍

基本数据类型

一、数值型

1、整型 

类型占存储空间范围
byte1字节-(2^8)~(2^8)-1
short2字节-(2^15)~(2^15)-1
int4字节-(2^31)~(2^31)-1
long8字节-(2^63)~(2^63)-1

 注:

1、Java的整型常量(具体值)默认为int型,声明long型常量须后加'T'’或‘L’

2、java程序中变量常声明为int型,除非不足以表示大数,才使用long

3、bit:计算机中的最小存储单位。byte:计算机中基本存储单元,1byte =8 bit。

2、浮点型

类型占存储空间范围
float4字节-(2^31)~(2^31)-1
double8字节-(2^63)~(2^63)-1

说明

1) 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位

2) 尾数部分可能丢失,造成精度损失(小数都是近似值)。

注:

1、Java的浮点型常量(具体值)默认为double型,声明float型常量,须后加'f'或'F'

2、通常情况下,应该使用double型,因为它比float型更精确。

3、浮点数使用陷阱:2.7和8.1/3比较

二、字符型

字符类型可以表示单个字符,字符类型是 char,char 是两个字节(可以存放汉字);

多个字符用字符串 String

String,StringBuilder,StringBuffer的常用方法icon-default.png?t=N7T8https://blog.csdn.net/Good_Starry/article/details/139574068?spm=1001.2014.3001.5502String,StringBuilder,StringBuffer的比较和选择icon-default.png?t=N7T8https://blog.csdn.net/Good_Starry/article/details/139531620?spm=1001.2014.3001.5502

1、字符类型使用细节

1)字符常量是用单引号('')括起来的单个字符。

2)Java中还允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。

3)在java中,char的本质是一个整数,在输出时,是unicode码对应的字符。

http://tool.chinaz.com/Tools/Unicode.aspx

4)可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出[97->a]

5)char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。

2、字符型在计算机中存储

1)字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如'a'

存储:'a'==>码值97==>二进制(1100001)==>存储

读取:二进制(1100001)=>97===>'a'=>显示

2)字符和码值的对应关系是通过字符编码表决定的(是规定好)

三、布尔型boolean

1.布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null

2.boolean类型占1个字节。

3.boolean 类型适于逻辑运算,一般用于程序流程控制

四、基本数据类型转换

基本数据类型转换icon-default.png?t=N7T8https://blog.csdn.net/Good_Starry/article/details/139439756?spm=1001.2014.3001.5502


引用数据类型

一、类

后续补充

二、接口

后续补充

三、数组

数组的使用和注意事项icon-default.png?t=N7T8https://blog.csdn.net/Good_Starry/article/details/139394856?spm=1001.2014.3001.5502


枚举类型

枚举的二种实现方式

一、自定义类实现枚举

1、不需要提供setXxx方法,因为枚举对象值通常为只读

2、对枚举对象/属性使用final + static共同修饰,实现底层优化

3、枚举对象名通常使用全部大写,常量的命名规范

4、枚举对象根据需要,也可以有多个属性

特点:

1) 构造器私有化

2) 本类内部创建一组对象

3) 对外暴露对象(通过为对象添加 public final static 修饰符

4) 可以提供 get 方法,但是不要提供set

二、enum 关键字实现枚举

1、实现

1、使用关键字 enum 替代 class

2、public static final Season SPRING = new Season("春天", "温暖") 直接使用SPRING("春天", "温暖") 

3、如果有多个常量(对象), 使用“,”逗号间隔即可

4、如果使用 enum 来实现枚举,要求将定义常量对象,写在最前面

5、如果我们使用的是无参构造器,创建常量对象,则可以省略()

public class Main {
    public static void main(String[] args) throws ParseException {
        System.out.println(Season2.AUTUMN);
        System.out.println(Season2.SUMMER);
    }
}

enum Season2 {//类
    SPRING("春天", "温暖"), WINTER("冬天", "寒冷"), AUTUMN("秋天", "凉爽"),
    SUMMER("夏天", "炎热")/*,What()*/;
    private String name;
    private String desc;//描述

    private Season2() {
    }

    private Season2(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String toString() {
        return "Season2{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

2、enum 关键字实现枚举注意事项

1、当我们使用 enum 关键字开发一个枚举类时,默认会继承 Enum 类, 而且是一个 final 类

2、传统的 public static final Season2 SPRING = new Season2("春天", "温暖"); 简化成 SPRING("春天", "温暖"), 这里必须知道,它调用的是哪个构造器

3、如果使用无参构造器创建枚举对象,则实参列表和小括号都可以省略

4、当有多个枚举对象时,使用“逗号”间隔,最后有一个分号结尾

5、枚举对象必须放在枚举类的行首(枚举对象为静态变量地址相同)

3、enum 常用方法

1) toString:Enum 类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息

2、name:返回当前对象名(常量名),子类中不能重写

3、ordinal:返回当前对象的位置号,默认从 0 开始

4、values:返回当前枚举类中所有的常量

5、valueOf:将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常!

6、compareTo:比较两个枚举常量,比较的就是编号

4、enum 实现接口

1、使用 enum 关键字后,就不能再继承其它类了,因为 enum 会隐式继承 Enum,而 Java 是单继承机制。

2、枚举类和普通类一样,可以实现接口,如下形式。enum 类名 implements 接口 1,接口 2{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值