java之包装类

1.包装类引入

package cn;
/**
 * 计算100这个数据的二进制,八进制和十六进制
 * 判断一个数据是否在int范围内 
 *
 */
public class IntegerDemo {
	public static void main(String[] args) {
		System.out.println("100的二进制是:"+Integer.toBinaryString(100));//1100100
		System.out.println("100的八进制是:"+Integer.toOctalString(100));//144
		System.out.println("100的十六进制是:"+Integer.toHexString(100));//64

		System.out.println("int类型的最大范围是:"+Integer.MAX_VALUE);//2147483647
		System.out.println("int类型的最小范围是:"+Integer.MIN_VALUE);//-2147483648

	}

}

2.基本类型包装类概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

常用的操作之一:用于基本数据类型与字符串之间的转换。

基本类型和包装类的对应:

Byte,Short,Integer,Long,Float,Double,Character,Boolean

3.Integer类概述及其构造方法

Integer类概述:

Integer类在对象中包装了一个基本类型int的值。

该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时非常有用的其他一些常量和方法。

构造方法:

public Integer(int value)

public Integer(String s)

package cn;
/**
 * Integer的构造方法
 * 		public Integer(int value)
 * 		public Integer(String s)
 *			这个字符串s必须有数字字符组成
 */
public class IntegerDemo2 {
	public static void main(String[] args) {
		//方式1
		int i = 100;
		Integer ii = new Integer(i);
		System.out.println("ii:"+ii);//ii:100

		//方式2
		String s = "100";
		Integer is = new Integer(s);
		System.out.println("is:"+is);//is:100
	}

}

4.Integer类成员方法

int类型和String类型的相互转换

package cn;
/**
 *  int类型和String类型的相互转换
 * 
 *  int-->String
 *  
 *  String-->int
 *
 */
public class IntegerDemo3 {
	public static void main(String[] args) {
		//int --> String
		int number = 100;
		//方式1
		String s1 = number+"";
		System.out.println("s1:"+s1);//s1:100

		//方式2
		String s2 = String.valueOf(number);
		System.out.println("s2:"+s2);//s2:100

		//方式3
		//int--Integer--String
		Integer i = new Integer(100);
		String s3 = i.toString();
		System.out.println("s3:"+s3);//s3:100

		//方式4
		String s4 = Integer.toString(number);
		System.out.println("s4:"+s4);//s4:100

		//String--int
		//方式1
		String s = "100";
		Integer ii = new Integer(s);
		int n = ii.intValue();
		System.out.println("n:"+n);//n:100

		//方式2
		int m = Integer.parseInt(s);
		System.out.println("m:"+m);//m:100

	}

}

5.自动装箱和拆箱

JDK5以后,简化了定义方式。

Integer x = new Integer(4);

可以直接写成Integer x = 4;//自动装箱

x += 5;//自动拆箱

6.练习

package cn;
/**
 * 看程序写结果
 */
public class IntegerDemo4 {
	public static void main(String[] args) {
		Integer i1 = new Integer(127);
		Integer i2 = new Integer(127);
		System.out.println(i1 == i2);//false
		System.out.println(i1.equals(i2));//true

		Integer i3 = new Integer(128);
		Integer i4 = new Integer(128);
		System.out.println(i3 == i4);//false
		System.out.println(i3.equals(i4));//true

		Integer i5 = 128;
		Integer i6 = 128;
		System.out.println(i5 == i6);//false
		System.out.println(i5.equals(i6));//true

		Integer i7 = 127;
		Integer i8 = 127;
		System.out.println(i7 == i8);//true
		System.out.println(i7.equals(i8));//true

		//通过查看源代码,我们知道,针对-128~127之间的数据,做了一个数据缓冲池。
		//如果数据是该范围内的,每次并不创建一个对象
		//如果数据不是该范围的,每次都会创建一个对象

	}

}

7.Character类及其构造方法

Character类概述:Character类在对象中包装一个基本类型char的值。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

构造方法:public Character(char value)

Character类成员方法:

public static boolean isUpperCase(char ch)

public static boolean isLowerCase(char ch)

public static boolean isDigit(char ch)

public static char toUpperCase(char ch)

public static char toLowerCase(char ch)

package cn;

public class CharacterDemo {
	public static void main(String[] args) {
		Character c = new Character(‘a‘);
		System.out.println("c:"+c);//c:a
	}

}
package cn;
/**
 *  public static boolean isUpperCase(char ch) 判断给定的字符是否是大写字符
 *	public static boolean isLowerCase(char ch) 判断给定的字符是否是小写字符
 *	public static boolean isDigit(char ch) 判断给定的字符是否是数字字符
 *  public static char toUpperCase(char ch) 把给定的字符转换为大写字符
 *	public static char toLowerCase(char ch) 把给定的字符转换为小写字符
 *
 */
public class CharacterDemo {
	public static void main(String[] args) {
		System.out.println(Character.isUpperCase(‘A‘));//true
		System.out.println(Character.isDigit(‘0‘));//true
		System.out.println(Character.isLowerCase(‘a‘));//true

		System.out.println(Character.toUpperCase(‘a‘));//A
		System.out.println(Character.toLowerCase(‘A‘));//a
	}

}

8.统计字符串中大写、小写及数字的次数

package cn;
/**
 * 需求:统计给定的字符串中大写字符、小写字符和数字字符的出现的次数
 * 例如:HELLO123word
 * 结果:大写字符 5
 *    小写字符4
 *    数字3
 */
public class CharacterDemo1 {
	public static void main(String[] args) {
		//定义一个字符串
		String s = "HELLO123word";
		//定义大写字符和的变量
		int maxSum = 0;
		//定义小写字符和的变量
		int minSum = 0;
		//定义数字字符和的变量
		int numSum = 0;

		//方法一 将字符串转换为字符数组,然后进行统计
		char[] chs = s.toCharArray();
		for (int i = 0; i < chs.length; i++) {
			if(chs[i] >=‘0‘ && chs[i] <= ‘9‘ ){
				numSum ++;
			}else if(chs[i] >=‘a‘ && chs[i] <=‘z‘){
				minSum ++;
			}else if(chs[i] >=‘A‘ && chs[i] <=‘Z‘){
				maxSum ++;
			}
		}
		System.out.println("大写字符的总和是:"+maxSum);//大写字符的总和是:5
		System.out.println("小写字符的总和是:"+minSum);//小写字符的总和是:4
		System.out.println("数字字符的总和是:"+numSum);//数字字符的总和是:3

		//将和变量中的内容清空
		maxSum = 0;
		minSum = 0;
		numSum = 0;

		//方法二:通过String的length()方法和charAt()方法获取字符串中的每一个字符
		for (int i = 0; i < s.length(); i++) {
			char ch = s.charAt(i);
			if(ch >=‘0‘ && ch<= ‘9‘ ){
				numSum ++;
			}else if(ch >=‘a‘ && ch <=‘z‘){
				minSum ++;
			}else if(ch >=‘A‘ && ch <=‘Z‘){
				maxSum ++;
			}
		}
		System.out.println("大写字符的总和是:"+maxSum);//大写字符的总和是:5
		System.out.println("小写字符的总和是:"+minSum);//小写字符的总和是:4
		System.out.println("数字字符的总和是:"+numSum);//数字字符的总和是:3

		//将和变量中的内容清空
		maxSum = 0;
		minSum = 0;
		numSum = 0;

		//方法三:调用Character类中的方法来判断
		for (int i = 0; i < s.length(); i++) {
			char ch = s.charAt(i);
			if(Character.isUpperCase(ch)){
				maxSum ++;
			}else if(Character.isLowerCase(ch)){
				minSum ++;
			}else if(Character.isDigit(ch)){
				numSum ++;
			}
		}
		System.out.println("大写字符的总和是:"+maxSum);//大写字符的总和是:5
		System.out.println("小写字符的总和是:"+minSum);//小写字符的总和是:4
		System.out.println("数字字符的总和是:"+numSum);//数字字符的总和是:3
	}

}
时间: 2024-12-07 10:06:40

java之包装类的相关文章

java的包装类

java的包装类   Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Sh

java的包装类(转)

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

JAVA的包装类 【转】

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

2017.4.14 JAVA的包装类 【转】

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

Java API ——包装类

1.包装类的概述 · 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. · 常用的操作之一:用于基本数据类型与字符串之间的转换. · 基本类型和包装类的对应 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型.包装类类型. byte     Byte short Short int Integer long Long float Float double Double char Character boolean Boo

Java api 入门教程 之 JAVA的包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

Java中包装类型和基本类型的使用场景(什么时候使用包装类型)(转)

说明:最简单的理解,基本类型有默认值,而包装类型初始为null.然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型. Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.整数:包括int.short.byte.long初始值为0. 2.浮点型:float.double初始值为0.0 3.字符:char初始值为空格,即'' ",如果输出,在Console上是看不到效果的. 4.

java Integer包装类装箱的一个细节

java有八个基本数据类型,每个都有对应的一个包装类,比如int对应的Integer.从jdk1.5开始,java引入了自动拆装箱,可以直接进行形如Integer i = 20形式的赋值,编译器会自动将其转换为Integer i = Integer.valueOf(20)进行装箱,拆箱则是将int j = i的形式转换成了int j = i.intValue(). 装箱有个细节,如果不注意很容易出错,来看一下: Integer i = 20; Integer j = Integer.valueO

Java 中包装类wrapped type之间以及和primitive type的比较

注意, 包装类的实例之间比较, 是不能直接用 == 的 public static void main(String[] args) { // TODO Auto-generated method stub Integer a = new Integer(1); Integer b = new Integer(1); int c=1; Integer e = 1; System.out.println("a==b:"+(a==b)); System.out.println("