1.java的jdk5.0以后:还有一些新特性:自动拆装箱,可变参数,增强for循环,静态导入,枚举...
2.对于每个基本数据类型都会被自动封装成一个引用类型
基本类型 | 引用类型 |
int | Integer |
char | Character |
byte | Byte |
boolean | Boolean |
double | Double |
float | Float |
long | Long |
short | Short |
3.将基本类型--->引用类型的作用:就是为了和String类型作为转换
一.Integer类
1.进制转换:
public static String toBinaryString(int i):整数转为二进制
public static String toOctalString(int i):整数转为八进制
public static String toHexString(int i):整数转为十六进制
2.要求出Integer类型范围:
public static final int MAX_VALUE
public static final int MIN_VALUE
package day_11_10_29.integer;
/**
* 需求:求一个整数100对应的二进制,八进制,十六进制
* 需求:要求出Integer类型范围:
*/
public class IntegerDemo {
public static void main(String[] args) {
// public static String toBinaryString(int i)
System.out.println(Integer.toBinaryString(100)) ;//二进制
//public static String toOctalString(int i)
System.out.println(Integer.toOctalString(100)); //八进制
//public static String toHexString(int i)
System.out.println(Integer.toHexString(100)); //十六进制
//Integer类型范围
//public static final int MAX_VALUE
//public static final int MIN_VALUE
System.out.println(Integer.MAX_VALUE);//2147483647
System.out.println(Integer.MIN_VALUE);//-2147483647
}
}
3.Integer类的构造方式:
1)public Integer(int value):将一个int类型的数据封装成一个引用类型
2)public Integer(String s):将一个字符数类型封装成一个Integer类型
注意:该字符串必须是数字字符串!否则:java.lang.NumberFormatException
package day_11_10_29.integer;
public class IntegerDemo2 {
public static void main(String[] args) {
// public Integer(int value)
//创建一个Integer对象
Integer i = new Integer(100);
//Integer i = 100;
System.out.println("i:"+i);
//public Integer(String s)
//String s = "hello";
String s = "22";
Integer i1 = new Integer(s);
System.out.println("i1:"+i1);
}
}
4.int类型和String类型的相互转换
package day_11_10_29.integer;
/**
* int类型和String类型的相互转换
*/
public class IntegerDemo3 {
public static void main(String[] args) {
// 定义一个int类型的数据
int number = 100;
//方式1)字符串拼接符
String s1 = ""+number;
System.out.println("s1:"+s1);
//方式2:int--->Integer类型
Integer i = new Integer(number);
//Integer--->String
//public String toString()
String s2 = i.toString();
System.out.println("s2:"+s2);
//方式3)public static String toString(int i)
String s3 = Integer.toString(number);
System.out.println("s3:"+s3);
//方式4)public static Integer valueOf(int i)
Integer integer = Integer.valueOf(number);
String s4 = integer.toString();
System.out.println("s4:"+s4);
}
}
5.jdk5.0以后的新特性:自动拆装箱
package day_11_10_29.integer;
/**
* Jdk5.0以后的新特性:自动拆装箱
*/
public class IntegerDemo4 {
public static void main(String[] args) {
// 创建一个Integer对象
Integer i = new Integer(100);
i += 200;
System.out.println("i:"+i);
/**
* 通过反编译工具查看源码:
* Integer i = new Integer(100); //将int类型值通过构造的形式自动装箱为Integer类型
i = Integer.valueOf(i.intValue() + 200);//i.intValue()--->int类型的数据:把Integer--->int:自动拆箱
自动装箱了
System.out.println((new StringBuilder("i:")).append(i).toString());
*/
}
}
二.Character类
1.Character类在对象中包装一个基本类型 char的值。Character类型的对象包含类型为char的单个字段
构造方法:public Character(char value)构造一个新分配的 Character 对象,用以表示指定的 char 值。
构造方法:public Character(char value)构造一个新分配的 Character 对象,用以表示指定的 char 值。
package day_11_10_29.character;
public class CharacterDemo {
public static void main(String[] args) {
// 创建一个Character类的对象
Character character = new Character((char)65) ;
//Character character = new Character('A') ;
System.out.println("character:"+character);
}
}
2.Character类的
判断功能
1)public static boolean isLowerCase(char ch)确定指定字符是否为小写字母
2)public static boolenn isUpperCase(char ch)确定指定字符是否为大写字母
3)public static boolean isDigit(char ch)确定指定字符是否为数字。
3.Character常用的转换功能:
1)public static char toUpperCase(char ch):将指定字符转换成大写
2)public static char toLowerCase(char ch):将指定字符转换成小写
package day_11_10_29.character;
public class CharacterDemo2 {
public static void main(String[] args) {
//public static boolean isLowerCase(char ch)确定指定字符是否为小写字母
System.out.println("isLowerCase:"+Character.isLowerCase('a'));
System.out.println("isLowerCase:"+Character.isLowerCase('A'));
System.out.println("isLowerCase:"+Character.isLowerCase('0'));
System.out.println("---------------------------------------");
//public static boolenn isUpperCase(char ch)确定指定字符是否为大写字母
System.out.println("isUpperCase:"+Character.isUpperCase('a'));
System.out.println("isUpperCase:"+Character.isUpperCase('A'));
System.out.println("isUpperCase:"+Character.isUpperCase('0'));
System.out.println("---------------------------------------");
//public static boolean isDigit(char ch)确定指定字符是否为数字。
System.out.println("isDigit:"+Character.isDigit('a'));
System.out.println("isDigit:"+Character.isDigit('A'));
System.out.println("isDigit:"+Character.isDigit('0'));
}
}
练习:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符有多少个(不考虑其他字符,使用Character提供的判断功能去完成)
package day_11_10_29.character;
import java.util.Scanner;
public class CharacterTest {
public static void main(String[] args) {
//定义三个统计变量
int bigCount = 0 ;
int smallCount = 0 ;
int numberCount = 0;
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//录入并接收数据
System.out.println("请您输入一个字符串:");
String s = sc.nextLine();
//将字符串转换成字符数组
char[] chs = s.toCharArray();
for(int i=0;i<chs.length;i++){
//获取每一个字符
char ch = chs[i];
//判断
if(Character.isUpperCase(ch)){
bigCount ++ ;
}else if(Character.isLowerCase(ch)){
smallCount ++ ;
}else if(Character.isDigit(ch)){
numberCount ++ ;
}
}
System.out.println("大写字母字符共有:"+bigCount+"个");
System.out.println("小写字母字符共有:"+smallCount+"个");
System.out.println("数字字符共有:"+numberCount+"个");
}
}