【JavaSE_学习笔记】Integer和Character

来源:互联网 发布:ubuntu设置中文环境 编辑:程序博客网 时间:2024/06/06 04:13

【JAVA_SE】Integer和Character

Integer类

java的jdk5.0以后的一些新特性:自动拆装箱,可变参数,增强for循环,静态导入,枚举…
对于每个基本数据类型都会被自动封装成一个引用类型:

基本类型 引用类型 int Integer char Character byte Byte boolean Boolean float Float long Long short Short

将基本类型—>引用类型的作用:为了和String类型作转换
Integer类的构造方式:
   public Integer(int value):将一个int类型的数据封装成一个引用类型
   public Integer(String s):将一个字符数类型封装成一个Integer类型
注意:
  该字符串必须是数字字符串!否则报错 java.lang.NumberFormatException
int类型和String类型的相互转换举例:

public class IntegerTest {    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);        System.out.println("---------------------------");        //定义一个字符串:        String s = "10" ;        //方式1:String--->Integer---->int        Integer ii = new Integer(s) ;        //public int intValue()以 int 类型返回该 Integer 的值        int num = ii.intValue() ;        System.out.println("num:"+num);        //public static int parseInt(String s)        int num2 = Integer.parseInt(s) ;        System.out.println("num2:"+num2);        //Integer的内存缓存区:IntegerCashe        //low = -128        //high=127        Integer i1 = 127 ;      //----->底层在封装的时候:Integer integer = Inteter.valueOf(int i) ;        Integer i2 = 127 ;        System.out.println(i1==i2);//true        Integer i3 = 128 ;        Integer i4 = 128 ;        System.out.println(i3==i4);//false    }}

Integer有缓冲区(IntegerCashe):-128~127

Character类

Character 类在对象中包装一个基本类型 char 的值,Character 类型的对象包含类型为 char 的单个字段
构造方法:
  public Character(char value)构造一个新分配的 Character 对象,用以表示指定的 char 值
Character类的判断功能:
  public static boolean isLowerCase(char ch)确定指定字符是否为小写字母
  public static boolenn isUpperCase(char ch)确定指定字符是否为大写字母
  public static boolean isDigit(char ch)确定指定字符是否为数字
Character常用的转换功能:
  public static char toUpperCase(char ch):将指定字符转换成大写
  public static char toLowerCase(char ch):将指定字符转换成小写
举例:

/** * 需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符有多少个(不考虑其他字符,使用Character提供的判断功能去完成) *  分析: *      1)定义三个统计变量 *          bigCount  *          smallCount     *      numberCount     * 2)创建键盘录入对象,录入并接收一个字符串     * 3)将字符串转换成字符数组     * 4)遍历字符数组,获取到每一个字符     * 5)使用Character类中的判断功能判断是否是大写,小写,数字字符     * 6)输出 *       * @author Apple */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 line = sc.nextLine();        //将字符串转换成字符数组        char[]  chs = line.toCharArray() ;        for(int x = 0 ; x < chs.length ; x ++){            //获取每一个字符            char ch = chs[x] ;            //判断            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+"个");    }}