基本数据类型
byte 1字节 short char 2字节 int float 4字节 double long 8字节
引用数据类型
引用类型指向一个对象,不是原始值,指向对象的变量是引用变量
在java里面除去基本数据类型的其他类型都是引用类型,自己定义的class类都是引用类型,可以像基本类型一样使用。
引用类型常见的有:String、StringBuffer、ArrayList、HashSet、HashMap等。
基本数据类型和引用数据类型的区别
存放位置不同
基本数据类型存放在栈中
引用数据类型 引用存放在栈中 而具体内容存放在堆内存中(可以有多个引用指向)
传递方法不同
基本数据类型:调用方法时作为参数是按数值传递的
//基本数据类型作为方法参数被调用
public class Main{
public static void main(String[] args){
int msg = 100;
System.out.println("调用方法前msg的值:\n"+ msg); //100
fun(msg);
System.out.println("调用方法后msg的值:\n"+ msg); //100
}
public static void fun(int temp){
temp = 0;
}
}
引用数据类型:调用方法时作为参数是按引用传递的
//引用数据类型作为方法参数被调用
class Book{
String name;
double price;
public Book(String name,double price){
this.name = name;
this.price = price;
}
public void getInfo(){
System.out.println("图书名称:"+ name + ",价格:" + price);
}
public void setPrice(double price){
this.price = price;
}
}
public class Main{
public static void main(String[] args){
Book book = new Book("Java开发指南",66.6);
book.getInfo(); //图书名称:Java开发指南,价格:66.6
fun(book);
book.getInfo(); //图书名称:Java开发指南,价格:99.9
}
public static void fun(Book temp){
temp.setPrice(99.9);
}
}
总结
数据类型转换
整数转化为字符串 3种方法
String s1 = 1 + “”;
String s2 = String.valueOf(1);
String s3 = Integer.toString(1);
字符串转换为int
int i2 = Integer.parseInt("1 ".trim()); //空格会异常 加入trim() 去首尾空格
int i3 = Integer.valueOf(“1”).inVvalue();
Integer.valueOf(“1”)把字符串先转化为integer类型 再用intValue()把Integer类型转化为Int类型
int转化为integer
Integer a1 = 1;//装箱
Integer a2 = new Integer(2);
integer转化为int
int b1 = a2;
int b2 = a2.intValue()
String类型转换为char数组
char[] a = k.toCharArray();
BigDecimal转换为int
int k = b0.intValue();
BigDecimal转换为double
double k1 = b0.doubleValue();