/**
* 基本数据类型:栈
* byte, short,int,long,float,double,char,boolean
* 包装类型: 都处在java.lang包(不需要导包)
* Byte, Short,Integer,Long,Float,Double,Character,Boolean
*
* Integer中常用的方法:
* parseInt(String x):将字符串转为int类型
*
* 数值类型常用的方法:Xxx:具体的数据类型
* parseXxx(String x):将字符串x转换为指定的数组类型Xxx
* parseInt,parseLong,parseFlot,parseDouble...
* 1.什么是包装类型:堆(在内存中的消耗比较大)
* 包装类是将基本类型封装到一个类中,然后提供常用的属性和方法
*
* 2.为什么要用包装类型?
* a.在程序处理过程有些时候需要使用对象类型
* b.包装类型(类):其中提供一些属性和方法,方便操作
*JDK1.5之后Java支持自动装箱和拆箱
* 装箱:将基本数据类型转化为包装类型:调用构造函数 或调用静态valueOf方法
* a.Integer num = new Integer(10);
* b.Integer num = Integer.valueOf(10);
* 拆箱:将包装类型转为基本数据类型:对象名.xxValue():
* Integer a = Integer.valueOf(10);
* int b = Integer.intValue(a);
*/
public class WrapperDemo {
public static void main(String[] args) {
// List list = new ArrayList();
// list.add(new Integer(1));//将基本数据类型转换为对象类型
// list.add(new Double(3.14));
// Integer num = new Integer(10);
Integer num = Integer.valueOf(10);
int num2 = num.intValue();//将包装类型转换为基本数据类型
System.out.println("Integer-->max_value="+Integer.MAX_VALUE);
System.out.println("Integer-->min_value="+Integer.MIN_VALUE);
System.out.println("Integer-->SIZE="+Integer.SIZE);
System.out.println(Integer.toBinaryString(10));//将指定的数值转化为2进制
System.out.println(Integer.toHexString(10));//将指定的数值转化为16进制
System.out.println(Integer.toOctalString(10));//将指定的数值转化为8进制
String str="12";
String str2="34";
// System.out.println(str+str2);//字符拼接
int a = Integer.parseInt(str);//将字符串转换为int类型
int b = Integer.parseInt(str2);
System.out.println(a+b);
//JDK1.5支持自动装箱(基本类型--->包装类型)和拆箱(包装类型--->基本类型)操作
Double d=3.14;//自动装箱
double d2=d;//自动拆箱
}
}
*==与equals的区别:
*==比较对象的话比较是的地址的引用是否相等
*equals:比较是对象的内容是否相等
*Integer num3=123;//自动装箱
*==>Integer num3=Integer.valueOf(123);
* java.lang.String
* 常用的构造函数:
* String()
String(char[] value) : String str = new String({'j','a','v','a'});
String(String original):String str = new String("java");
* 字符串中常用的方法:
* 1.length():获取字符串的长度" 获取字符串长度的方法:"+str.length()
* 2.toUpperCase():将字符串转换成大写
* 3.toLowerCase():将字符串转换成小写
* 4.indexOf():获取指定字符串在字符串中出现的下标位置(第一个字符的位置),如果不存在返回-1
* 5.lastIndexOf("z"):获取指定字符串最后一个字符的位置 ,如果不存在返回-1
* 6.charAt():获取指定下标的字符(下标从0开始) str.charAt(3)
* 7.substring(begin, end):字符串截取包含起始位置,不包含结束位置
* 8.substring(begin):字符串截取,从指定的起始位置截取到最后
* 9.contains():判断是否包含指定字符串,包含返回true,否则返回false
* 10.equals():比较两个字符串内容是否相等
* 11.equalsIgnoreCase():忽略大小写比较两个字符串内容是否相等
* 12.startsWith():是否以指定字符串开头
* 13.endsWith():是否以指定字符串结尾:
*/
* String:不可变的字符串
* StringBuffer:线程安全的可变字符序列(synchronized) 多线程(安全性)
* StringBuilder:一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步(加锁) 单线程(快)
* 交通信号灯:
* 同步(存在红绿灯)
* 不同步(没有红绿灯)
* 构造函数:
* StringBuffer():
* StringBuffer(String str):
* 常用方法:
* sb.append(str):将指定str字符串追加到sb后边
* charAt(int index) : 返回此序列中指定索引处的 char 值。
* indexOf(String str):返回第一次出现的指定子字符串在该字符串中的索引。
* lastIndexOf(String str):返回最右边出现的指定子字符串在此字符串中的索引。
* replace(int start, int end, String str):使用给定 String 中的字符替换此序列的子字符串中的字符。
* 包含start位置,但不包含end位置-->[start,end)
* reverse():反转