目录
零、写本篇博客的原因
- 学习Java过程中,发现各种数据类型的变量的定义,赋值很多种写法,有点乱,特意整理一下各种写法
一、Java中的两种数据类型
- 内置数据类型(8种)
- 引用数据类型
二、各种写法总结对比
1、使用内置数据类型
1.0、要完成的事(不管写几句代码)
- 定义变量名
- 赋值
1.1、像c语言一样使用
int i;// 定义声明一个变量名i
i = 2;// 给这个变量赋值
int i = 2;// 定义变量名并且赋值(一句顶两句)
1.2、使用对应的封装类(Java中有自动装箱拆箱机制)
Integer j;
j = 2;
Integer j = 2;// 类似(兼容)C语言写法
Integer j;
j = new Integer(2);
Integer j = new Integer(2);// Java规范写法
2、使用一个任意类(自己定义的一个Person)
2.0、要完成的事(不管写几句代码)
- 定义变量名
- 赋值
Person pp;// 定义一个变量名pp
pp = new Person(2, 4);/* 给这个变量赋值--通过new关键字调用Person类的构造器,返回一个Person实例(一个意思,因为初始化类比较复杂,不如内置类型简单,需要自己写构造器初始化,并使用new关键字指明是要初始化赋值) */
Person pp = new Person(2, 4);// 此处 2,4 没有具体意义,需要构造器器里具体实现
3、使用数组
3.0、要完成的事(不管写几句代码)
- 定义变量名
- 指定长度
- 赋值
3.1、数组元素为内置类型
// 以前C语言使用格式
int a[3];// 定义变量名a并指定长度
for 给a每个元素赋值
int a[] = {1, 2, 3};// 定义变量名a并赋值(暗含长度)
// java使用格式(将 int[] 看做一个整体,为引用类型,等价一个类)
int[] a;
a = new int[] {1, 2, 3};
int[] a = new int[] {1, 2, 3};
int[] a = {1, 2, 3}
3.2、数组元素为常用类(Integer、String)
String[] st;// 定义变量名st
st = new String[2];// 指定长度
for 给st每个元素赋值
String[] st = new String[2];// 定义变量名st并指定长度
for 给st每个元素赋值
String[] st;// 定义变量名st
st = new String[] {"Hello", "World"};// 赋值(暗含长度)
String[] st = new String[] {"Hello", "World"};// 定义变量名st并赋值(暗含长度)
3.2、数组元素为任意类(自己定义一个Person类)
Person[] b;
b = new Person[3];// 不好直接赋值
for 给b每个元素赋值
eg b.[0] = new Person(2, 4);
Person[] b = new Person[3];// 不好直接赋值
for 给b每个元素赋值
eg b.[0] = new Person(2, 4);
4、小结
- 内置数据类型的使用非常灵活,动不动可以省略new,是为了兼容以前的习惯;
- 而引用类型的使用方法较固定,容易记
- 对于不使用数组需要完成两件事
- 定义变量名
- 赋值
- 对于使用数组需要完成三件事
- 定义变量名
- 指定长度
- 赋值