Java常用引用类型

I.数据类型之引用类型

java支持的数据类型,如下图所示:

java数组中能存储空字符串吗 java数组能存引用类型_string

基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。

引用类型是建设的大件,想要构建大厦,这是必须的材料。数组、字符串、类等等重要的构建材料都是引用类型。

II.数组

Java 的数组定义和C#没有什么不同。

//一维数组
String [] names = new String[]{"sun","rong"};
//二维数组
String[][] names={{"tom","jack","mike"},{"sun","lisi","wangwu"}};

3.数组的工具类-Arrays

该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索、数组的复制控制、数组转换成字符串等。

1). 排序

Arrays.sort(names);

2).转换成字符串

Array.toString(names);

III.String对象-StringBuilder

  1. 字符串的不变性
    对象创建后,不能修改,所谓需改,实际上是创建了新的对象
String nameString1= "Chevy";
String sameString2 = "Chevy";
String newnameString = new String("Chevy");
String nameString2 = "Audi";
if (nameString1 == sameString2) {
  System.out.println("我们相同");
  System.out.println(nameString1.indexOf('C'));     System.out.println(nameString1.lastIndexOf('C'));
    System.out.println(nameString1.indexOf("Chevy"));
}
if (nameString1 != newnameString) {
  System.out.println("我们不同");
}
  1. String 字符串处理的方法
    下面的方法都是常用的:

java数组中能存储空字符串吗 java数组能存引用类型_字符串_02

操作符“==” 与equals()方法比较:

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致

  1. StringBuilder\StringBuffer对象

频繁对字符串进行操作,会产生许多临时变量,StringBuilder和StringBuffer可以避免这个问题,而且StringBuffer是线程安全的。

StringBuilder操作字符串的方法:

java数组中能存储空字符串吗 java数组能存引用类型_string_03

StringBuilder str = new StringBuilder();
// 追加字符串
str.append("jaewkjldfxmopzdm");

  // 从后往前每隔三位插入逗号
  for(int i =str.length();i>0;i--)
  {
    //1,2,3,4...
    //m,d,z,p
      int num = str.length()-i+1;
      //System.out.println(num%4);
      if(num%4 ==0)
      str.insert(i,",");//插入字符串内容
  }
  //更简便的方法!
for(int i =str.length()-3;i>0;i-=3)
{
  //1,2,3,4...
  //m,d,z,p
    str.insert(i,",");
}

IV JAVA包装类

基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。

  1. 基本类型和包装类之间的对应关系

java数组中能存储空字符串吗 java数组能存引用类型_字符串_04

两大包装的方法:

  1. 将本类型和其他基本类型进行转换的方法
    2.将字符串和本类型及包装类互相转换的方法
// 定义double类型变量
double a = 91.5;
// 手动装箱
Double b =   new Double(a);         
// 自动装箱
Double c =   a;  
// 定义一个Double包装类对象,值为8
Double d = new Double(87.0);
// 手动拆箱
double e =  d.doubleValue();
// 自动拆箱
double f =   d ;
  1. 基本数据类型与String类型之间的转换

基本类型–>String

String —>基本类型

Double  double1 = 100.0;
String dString = Double.toString(double1);//方法一,包装类方法
dString = String.valueOf(double1);//方法2.String的valueOf方法

String string1 = "100";
double1 = Double.valueOf(string1);//方法1,包装类方法valueOf
double1 = Double.parseDouble(string1);//方法2.包装类方法parseDouble()

V.Calendar日期类

Date 类最主要的作用就是获得当前时间;Calendar类设计更好,功能更强大;java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间

// 创建Calendar对象
  Calendar c = Calendar.getInstance();
  // 将Calendar对象转换为Date对象
  Date date = c.getTime();
  // 创建SimpleDateFormat对象,指定目标格式
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  // 将日期转换为指定格式的字符串
  String now = sdf.format(date);
  //获取年
  int year = c.get(Calendar.YEAR);

VI Math数学运算类

常用方法:

java数组中能存储空字符串吗 java数组能存引用类型_字符串_05

double a = 11.2;
int b = 10;
long m = Math.round(a);
double n= Math.floor(a);
double p = Math.ceil(a);
double k = Math.floor(b);
double d = Math.random();