美文网首页
JAVA 之路第一讲

JAVA 之路第一讲

作者: d20cdad48d2e | 来源:发表于2017-10-17 22:39 被阅读16次

数据类型:

  • 基础数据类型
  • 包装器数据类型
  • 引用数据类型
  • null 数据类型

基础数据类型:

整型

byte(字节型,长度8位)
short(短整型,长度16位)
int(整型,长度32位)
long(长整型,长度64位)

浮点型

double(双精度浮点型,长度64位)
float(单精度浮点型,长度32位)

char类型

char(字符型,长度16位)

boolean 类型

boolean(布尔类型,表示逻辑值true或false)

基础数据类型包装器类

Byte
Character
Short
Integer
Long
Double
Float
Boolean

Java基础数据类型不具有面向对象的特点,但是Java提供了八个包装类,能够把基本数据类型转化为引用数据类型。JDK5之后,包装器类和基本数据类型之间可以直接转换,称为自动的装箱拆箱(boxing/unboxing)。

例如integer i=3;i++;虽然写法上可以像使用基本数据类型一样使用包装器类型,但是本质上依然进行了类似 i= new Integer(3)的转换,因此,不要轻易使用包装器类的自动装箱拆箱,以优化的性能。能够使用基本类型就使用基本类型。

引用数据类型

class(类)
interface(接口)
enum(枚举)
Array(数组)

null 数据类型

Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。

比如:int b = null;是错误的。Ojbect object = null是正确的。

Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能定义一个变量后,不给该变量指定初始值,就去输出变量的值。否则编译器会提示需要给变量指定初始值。

有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。

null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例。

    if (null instanceof java.lang.Object){
            System.out.println("null属于java.lang.Object类型");
        }else {
            System.out.println("null不属于java.lang.Object类型");
        }
null不属于java.lang.Object类型

Java默认给变量赋值

在定义变量的时候,如果定义后没有给变量赋值,则Java在运行时会自动给变量赋值。
赋值原则是整数类型int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各种引用类型变量自动赋值为null。

容器类型与null

List:允许重复元素,可以加入任意多个null。
Set:不允许重复元素,最多可以加入一个null。
Map:Map的key最多可以加入一个null,value字段没有限制。
数组:基本类型数组,定义后,如果不给定初始值,则java运行时会自动给定值。
引用类型数组,不给定初始值,则所有的元素值为null。

null的其他作用

1、判断一个引用类型数据是否null。 用==来判断。
2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象引用了。等待JVM垃圾回收机制去回收。

常量

(1)常量表示的是在程序中不能被修改的数据。
(2)声明常量必须用final关键字。
(3)常量分为:整型,浮点型,字符型,布尔型,字符串型常量。

枚举类

1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。


/**
 * @Author: Oliver Lee
 * @Description:
 * @Date: Created in 下午10:22 2017/10/17
 * @Modified By:
 */
public enum Color {
    Red("red",1),
    Green("green",2),
    Black("black",3),
    Yellow("yellow",4);
    private String name;
    private int index;

    private  Color (String name,int index){
        this.name = name;
        this.index  = index;
    }

    public String getName() {
        return name;
    }
    public int getIndex(){
        return index;
    }
    public void  setName(String name){
        this.name =name;
    }
    public  void  setIndex(int index){
        this.index = index;
    }
}

使用枚举类:

    System.out.print(Color.Black.getName());
    System.out.print(Color.Red.getName());
    Color color = Color.Red;
    switch (color){
        case Red:{
            System.out.print("\nred");
        }
            break;
        case Black:
            break;
    }

相关文章

网友评论

      本文标题:JAVA 之路第一讲

      本文链接:https://www.haomeiwen.com/subject/murjuxtx.html