Java常用引用类型
I.数据类型之引用类型
java支持的数据类型,如下图所示:
基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。
引用类型是建设的大件,想要构建大厦,这是必须的材料。数组、字符串、类等等重要的构建材料都是引用类型。
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
- 字符串的不变性
对象创建后,不能修改,所谓需改,实际上是创建了新的对象
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("我们不同");
}
- String 字符串处理的方法
下面的方法都是常用的:
操作符“==” 与equals()方法比较:
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
- StringBuilder\StringBuffer对象
频繁对字符串进行操作,会产生许多临时变量,StringBuilder和StringBuffer可以避免这个问题,而且StringBuffer是线程安全的。
StringBuilder操作字符串的方法:
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 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
- 基本类型和包装类之间的对应关系
两大包装的方法:
- 将本类型和其他基本类型进行转换的方法
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 ;
- 基本数据类型与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数学运算类
常用方法:
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();