java 包装类之Integer -Character

一.
包装类:

    java的jkd5.0以后:还有一些新特性:自动拆装箱,可变参数,增强for循环,静态导入,枚举...

    对于每个基本数据类型都会被自动封装成一个引用类型
        基本类型                引用类型
        int                 Integer
        char                Character
        byte                Byte
        boolean             Boolean
        double              Double
        float               Float
        long                Long
        short               Short

 将基本类型--->引用类型的作用:就是为了和String类型作为转换

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));

    //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
}

}

二.
Integer:

1.    Integer类的构造方式:
    public Integer(int value):将一个int类型的数据封装成一个引用类型
    public Integer(String s):将一个字符数类型封装成一个Integer类型

注意事项:

 该字符串必须是数字字符串!,否则:java.lang.NumberFormatException

public class IntegerDemo2 {

    public static void main(String[] args) {
//      public Integer(int value)
        //创建一个Integer对象
        Integer i = new Integer(100);
//      Integer i = 100 ;//jdk5以后的自动装箱!
        System.out.println("i:"+i);

        //public Integer(String s)
//      String s = "abc" ;
        String s = "20" ;
        Integer ii = new Integer(s) ;
        System.out.println("s:"+s);
    }
}

2.
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

    }
}

3.
Jdk5.0以后的新特性:自动拆装箱:

public class IntegerTest2 {

    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:

Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段

构造方法:
    public Character(char value)构造一个新分配的 Character 对象,用以表示指定的 char 值。 

public class CharacterDemo {

    public static void main(String[] args) {
        //创建一个Character类的对象
//      Character character = new Character((char)97) ;
        Character character = new Character('a') ;
        System.out.println("character:"+character);
    }
}

2.
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提供的判断功能去完成)

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'));

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值