为了对基本数据类型进行更多更方便的操作,JAVA针对每一种基本数据类型提供了对应的类类型——包装类类型。
byte------------------Byte
short----------------Short
int---------------------Integer
long------------------Long
float------------------Float
double---------------Double
char-----------------Character
boolean-------------Boolean
常见的操作之一:用于基本数据类型与字符串之间的转换。
Integer类
构造方法:
public Integer(int value)
public Integer(String s) //这个字符串必须又数字组成
范例:
package cn.itcast_02;
/*
* Integer的构造方法
*/
public class IntegerDemo {
public static void main(String[] args) {
//int value的转换
int i =100;
Integer ii = new Integer(i);
System.out.println(ii); //返回值100
//String 类型的转换
String s = "100";
Integer iii = new Integer(s);
System.out.println(iii); 返回值100
}
}
举例:
public static String toBinaryString(int i) //转换成二进制
public static String toOctalString(int i) //转换成八进制
public static String toHexString(int i) //转换成十六进制
范例:
package cn.itcast_01;
/*
*
* 需求:把100这个数据的二进制,八进制,十六进制计算出来
* 需求2:判断一个数据是否是int范围内的
*A/ 首先要知道int的范围是多大
*
*/
public class IntegerDemo {
public static void main(String[] args) {
//public static String toBinaryString(int i) //转换成二进制
System.out.println(Integer.toBinaryString(100)); //返回结果:1100100
//public static String toOctalString(int i) //转换成八进制
System.out.println(Integer.toOctalString(100)); //返回结果:144
//public static String toHexString(int i) //转换成十六进制
System.out.println(Integer.toHexString(100)); //返回结果:64
//public static final int MAX_VALUE //int类型的最大值
System.out.println(Integer.MAX_VALUE); //返回结果:2147483647
//public static final int MIN_VALUE //int类型的最小值
System.out.println(Integer.MIN_VALUE); //返回结果:-2147483648
}
}
成员方法:
int类型和String类型的相互转换
public int intVlue()
public static int parseInt(String s)
public static String toString(int i)
public static Integer valueOf(int i)
public static Integer valueOf(String s)
范例:
package cn.itcast_03;
/*
* int类型和String类型的相互转换
*
* int---->String
* String------>int
*
*/
public class IntegerDemo {
public static void main(String[] args) {
// int---->String
int number = 100;
// 方式1
String s1 = "" + number;
System.out.println("s1:" + s1);
// 方式2
String s2 = String.valueOf(number);
System.out.println("s2:" + s2);
// 方式3
// int---Integer----String
Integer i = new Integer(number);
String s3 = i.toString();
System.out.println("s3:" + s3);
//方式4
//public static String toString(int i)
String s4 = Integer.toString(number);
System.out.println("s4:"+s4);
System.out.println("---------------------");
//String----->int
String s = "100";
//方式1
//String-----Integer----int
Integer ii = new Integer(s);
//public int intValue()
int x = ii.intValue();
System.out.println("x:"+x);
//方式2
//public static int parseInt(String s)
int x2 = Integer.parseInt(s);
System.out.println("x2:"+x2);
}
}
常用的基本进制转换:
public static String toBinaryString(int i) //转换成二进制
public static String toOctalString(int i) //转换成八进制
public static String toHexString(int i) //转换成十六进制
范例:
package cn.itcast_01;
/*
*
* 需求:把100这个数据的二进制,八进制,十六进制计算出来
* 需求2:判断一个数据是否是int范围内的
*A/ 首先要知道int的范围是多大
*
*/
public class IntegerDemo {
public static void main(String[] args) {
//public static String toBinaryString(int i) //转换成二进制
System.out.println(Integer.toBinaryString(100)); //返回结果:1100100
//public static String toOctalString(int i) //转换成八进制
System.out.println(Integer.toOctalString(100)); //返回结果:144
//public static String toHexString(int i) //转换成十六进制
System.out.println(Integer.toHexString(100)); //返回结果:64
//public static final int MAX_VALUE //int类型的最大值
System.out.println(Integer.MAX_VALUE); //返回结果:2147483647
//public static final int MIN_VALUE //int类型的最小值
System.out.println(Integer.MIN_VALUE); //返回结果:-2147483648
}
}
十进制到其它进制的转换:
public static String toString(int i, int radix)
其它进制到十进制的转换:
public static int parseInt(String s,int radix)
范例:
package cn.itcast_04;
public class IntegerDemo {
public static void main(String[] args) {
//十进制到其它进制的转换
//public static String toString(int i,int radix)
System.out.println(Integer.toString(100, 10)); //转换成十进制
System.out.println(Integer.toString(100,7)); //转换成七进制
System.out.println(Integer.toString(100, 16)); //转换成十六进制
//其他进制到十进制
//public static int parseInt(String s,int radix)
System.out.println(Integer.parseInt("100", 10));
System.out.println(Integer.parseInt("100", 2));
System.out.println(Integer.parseInt("100", 8));
System.out.println(Integer.parseInt("100", 16));
System.out.println(Integer.parseInt("4f", 16));
}
}
自动装箱:把基本类型自动转换为包装类类型
自动拆箱:吧包装类类型自动转换为基本类型
范例:
package cn.itcast_05;
/*
* 自动拆装箱
*/
public class IntegerDemo {
public static void main(String[] args) {
Integer ii = 100;
ii += 200; //Integer类型的ii和基本数据类型的200相加,ii先自动转换成int类型,相加完成后又自动转换成Integer类型
System.out.println("ii:"+ii);
}
}
——————————————————————————————————————————————
Character类
在对象中包装一个基本类型char的值
构造方法:
public Character(char value)
范例:
package cn.itcast_01;
public class CharacterDemo {
public static void main(String[] args) {
//创建对象
Character ch = new Character('a');
System.out.println(ch);
}
}
成员方法:
public static boolean isUpperCase(char ch) //判断是否是大写字符
public static boolean isLowerCase(char ch) //判断是否是小写字符
pulbic static boolean isDigit(char ch) //判断是否是数字字符
public static char toUpperCase(char ch) //转成大写
public static char toLowerCase(char ch) //转成小写
范例:
package cn.itcast_02;
/*
* Character常用成员方法
*/
public class CharacterDemo {
public static void main(String[] args) {
//public static boolean isUpperCase(char ch) //判断是否是大写字符
System.out.println(Character.isUpperCase('A')); //返回值:true
//public static boolean isLowerCase(char ch) //判断是否是小写字符
System.out.println(Character.isLowerCase('a'));
//pulbic static boolean isDigit(char ch) //判断是否是数字字符
System.out.println(Character.isDigit('5'));
//public static char toUpperCase(char ch) //转成大写
System.out.println(Character.toUpperCase('b'));
//public static char toLowerCase(char ch) //转成小写
System.out.println(Character.toLowerCase('Q'));
}
}
练习01:统计字符串中大写小写以及数字出现的次数
package cn.itcast_03;
/*
* 判断字符串中大写小写以及数字出现的次数
* 思路:
* A/ 定义一个字符串
* B/ 定义三个记录变量,记录个数,初始化为0
* int big = 0;
* int small = 0;
* int digit =0;
* C/ 将字符串转换成字符数组
* D/ 遍历数组,将每一个元素进行判断,
* 如果是大写:big ++
* 如果是小写:samll ++
* 如果是数字 digit ++
*
*/
public class CharacterTest_01 {
public static void main(String[] args) {
//定义一个字符串
String s = "Hello123World";
char[] chs = s.toCharArray();
getCount(chs);
}
//定义遍历数组的方法
public static void getCount(char[] chs){
//定义三个记录变量
int big =0;
int small =0;
int digit = 0;
for(int x=0;x<chs.length;x++){
if(Character.isUpperCase(chs[x])==true){
big =big+1;
}
else if(Character.isLowerCase(chs[x])==true){
small =small+1;
}
else if(Character.isDigit(chs[x])==true){
digit =digit+1;
}
}
System.out.println("大写字母有:"+big+"个");
System.out.println("小写字母有:"+small+"个");
System.out.println("数字有:"+digit+"个");
}
}