JAVA学习第三十二课(常用对象API)- 基本数据类型对象包装类

将基本数据类型(8种:int..)封装成对象的好处就是可以在对象中封装更多的功能和方法来操控该数据

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

基本数据类型对象包装类一般用于基本类型和字符串之间的转换

基本类型----->字符串

1.基本类型数值+""

2.用string类中的valueOf(基本类型数值)

3.用Integer.ValueOf();

字符串-->基本类型数值

1.使用包装类中的静态方法XXX  parseXXX("XXXX")比如:int parseInt("123")/boolean parseBoolean("true"),但是Character没有parse,多余

2.如果字符串被Integer进行对象的封装

可使用非静态的方法intValue()

将一个Integer对象转成基本类型数值

(先将字符串封装成对象,然后再用XXXValue转换)


public class Main {
	public static void main(String[] args)
	{	/*
		 * 基本数据类型包装类
		 * 为了方便基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作
		 * 用于描述该对象的类就是基本数据类型包装类
		 *
		 * byte Byte
		 * short Shrot
		 * int Integer
		 * long Long
		 * double Double
		 * char Character
		 * boolean Boolean
		 *
		 */

		int num;
		System.out.println(Integer.MAX_VALUE);//int的最大值	2147483647

		System.out.println( Integer.toBinaryString(6));//转换成二进制
		Integer x = new Integer("4");
		//System.out.println(x);
		int xx = Integer.parseInt("1234");//将字符串转化为int,且parseInt方法是静态的
		System.out.println(xx);
		if(Boolean.parseBoolean("true"))
		{
			Integer xInteger = new Integer("123");
<span style="white-space:pre">		</span>System.out.println(xInteger.intValue());//将"123"转化为int

	}

}

进制转换


public class Main {
	public static void main(String[] args)
	{
		/*十进制 -> 其他进制*/
		System.out.println(Integer.toBinaryString(6));//二进制
		System.out.println(Integer.toOctalString(10));//八进制
		System.out.println(Integer.toHexString(20));//十六进制
		System.out.println(Integer.toString(50, 4));//把50以 四进制 的表现

		/*其他进制  ->  十进制*/

		System.out.println(Integer.parseInt("110",2));//将110视为二进制的表现形式,并将其转换为十进制
		System.out.println(Integer.parseInt("3C",16));
	}

}

自动装箱拆箱

public class Main {
	public static void main(String[] args)
	{
		Integer a = new Integer("3");
		Integer b = new Integer(3);
		System.out.println(a == b);//两个new地址肯定不一样
		System.out.println(a.equals(b));//equals比较的是内容

		System.out.println(a.compareTo(b));

		int num = 5;
		num++;
		Integer xInteger = 5;//xInteger = new Integer(5)->自动装箱
		xInteger++;//XInteger = XInteger + 1   实际操作   xInteger = new Integer(xInteger.intValue()+1)
		//注意异常

		//JDK1.5以后,自动装箱,如果装箱是一个字节,那么该数据会被共享,不会重新开辟空间
		Integer x = 128;
		Integer y = 128;
		System.out.println(x == y);//也就是128以前true,128及128以后是false
		System.out.println(x.equals(y));//true
	}
}

练习:

import java.util.Arrays;

/*
 * 对一个字符串中的数值进行从小到大的排序
 * "123 2 5 652 7 -3 4 456 456 12 489"
 */
public class Main {
	private static final String SPS_SIGAL = " ";//ctrl+shift+X小写变大写,大写变小写+Y

	public static void main(String[] args) {
		String str = "123 2 5 652 7 -3 4 456 456 12 489";

		String[] arr = StringToArray(str);

		int aa[] = StringToInt(arr);

		sort(aa);

		StringBuilder string = IntToString(aa);

		show(string);

	}

	public static StringBuilder IntToString(int[] arr) {
		StringBuilder SB = new StringBuilder();
		for (int i = 0; i < arr.length; i++) {
			if (i == arr.length - 1)
				SB.append(arr[i]);
			else
				SB.append(arr[i] + ",");
		}
		return SB;
	}

	public static int[] StringToInt(String[] arr) {
		int aa[] = new int[arr.length];
		for (int i = 0; i < arr.length; i++) {
			aa[i] = Integer.parseInt(arr[i]);
		}
		return aa;
	}

	public static String[] StringToArray(String str) {
		String[] arr = str.split(SPS_SIGAL);
		return arr;
	}

	public static void sort(int[] arr) {
		Arrays.sort(arr);// Arrays类中提供了排序方法
		/*
		 * for(int i = 0;i<arr.length-1;i++) { for(int j =
		 * 0;j<arr.length-1-i;j++) { if(arr[j] > arr[j+1]) swap(arr,j,j+1); } }
		 */
	}

	public static void swap(int[] arr, int i, int j) {
		int t = arr[i];
		arr[i] = arr[j];
		arr[j] = t;
	}

	public static void show(StringBuilder string) {
		System.out.println(string);
	}
}

时间: 2024-10-14 05:24:23

JAVA学习第三十二课(常用对象API)- 基本数据类型对象包装类的相关文章

JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点

整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有索引且能够反复    API文档解释:有序的 collection(也称为序列).此接口的用户能够对列表中每一个元素的插入位置进行精确地控制.用户能够依据元素的整数索引(在列表中的位置)訪问元素,并搜索列表中的元素. 2.Set:元素不能反复,无序,有可能会有序    API文档解释:一个不包括反复元素的 c

JAVA学习第三十四课(常用对象API)- 集合框架(二)—List集合及其子类特点

整个集合框架中最常用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有索引且可以重复    API文档解释:有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素. 2.Set:元素不能重复,无序,有可能会有序    API文档解释:一个不包含重复元素的 coll

JAVA学习第三十六课(常用对象API)- 集合框架(四)— Set集合:HashSet集合演示

随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里很多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发常用 HashSet集合 .TreeSet集合 Set集合的元素是不重复且无序 一.HashSet集合 API文档解释:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null 元素. 此类为基本操作提供了稳定性能,注意,此实现不是同步的. 由上可

JAVA学习第六十二课 — TCP协议练习

通过练习掌握TCP在进行传输过程中的问题 练习1:创建一个英文大写转换服务器 客户端输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回客户端,知道客户端输入over,转换结束 public class Main { public static void main(String[] args) throws IOException{ Text_Transform_Client(); Text_Transform_Server(); } public static void

JAVA学习第三十九课(常用对象API)- 集合框架(七)— Map集合及其子类对象

一.Map集合常见子类 HashTable:内部结构是哈希表,同步,此实现提供所有可选的映射操作,不允许使用 null 值和 null 键 (HashTable下有子类Properties,使用频率非常高,用来存储键值对型的配置文件信息和IO技术相结合) HashMap:内部结构是哈希表,不同步,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键. TreeMap:内部结构是二叉树,不同步,可以对Map集合中的键进行排序. 二.HashMap演示 import java.ut

JAVA学习第三十五课(常用对象API)- 集合框架(三)—Vector、LinkedList、ArrayList集合演示

集合框架构成图 摘自百度图片 一.Vector集合 演示 虽然Vector已经不常用了,但是还是要了解一下其中的方法 import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Vector

JAVA学习第三十八课(常用对象API)- 集合框架(六)— Map集合及其常用方法

一.Map集合特点 Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素 接口 Map<K,V>,实际上存储的是键值对 特点: 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 也就是说Map中必须保证键的唯一性 二.常用方法 1.添加:value = put(key,value);返回前一个和key相关联的值,如果没有返回null 2.删除:void clear();把Map中的所有映射关系清除 value remove(ke

JAVA学习第四十二课 — 泛型(二)—泛型接口&amp;&amp;通配符应用

一.泛型接口 interface Inter<T>{ public void show(T t); } class InterImple implements Inter<String>{//知道是字符串类型 public void show(String str){ System.out.println("show "+str); } } class InterImple_2<Q> implements Inter<Q>{//不知道是什

JAVA学习笔记(三十二)- 字符流 FileReader &amp; FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;