16-05-常用对象API(基本数据类型对象包装类-练习)

package cn.itcast.wrapper.cast;

public class WrapperTest {
	
	private static final String SPACE_SEPARATOR = " ";

	public static void main(String[] args) {

		/*
		 * 【题目】 对一个字符串中的数值进行从小到大排序 "20 78 9 -7 88 36 29"
		 * 
		 * 【思路】 1.排序问题
		 * 
		 * 2.如何获取到这个字符串中的这些需要排序的数值? 发现这个字符串中其实都是用空格来对数值进行分割的,
		 * 所以想到用字符串对象的切割方法将大串变成多个小串。
		 * 
		 * 3.数值最终变成小字符串,怎么变成一个int类型的数呢? 字符串转成基本数据类型可用包装类来完成。
		 */

		String numStr = "20 78 9 -7 88 36 29";
		
		System.out.println(numStr);
				

		// 第一步,将字符串变成字符串数组(大串切割成小串)

		String[] str_arr = stringToArray(numStr);

		// 第二步,将字符串数组变成int数组

		int[] num_arr = toIntArray(str_arr);

		// 第三步,将int数组从小到大排序
		
		mySortArray(num_arr);

		// 第四步,将排序后的int数组变成字符串数组
		
		String s = toStringArray(num_arr);
		
		System.out.println(s);
	}

	public static String toStringArray(int[] num_arr) {
		
		StringBuilder sb = new StringBuilder();
		
		for (int i = 0; i < num_arr.length; i++) {
			
			if (i!=num_arr.length-1) {
				sb.append(num_arr[i]).append(SPACE_SEPARATOR);
			}
			else {
				sb.append(num_arr[i]);
			}
			
		}
		return sb.toString();
	}

	public static void mySortArray(int[] num_arr) {

		for (int i = 0; i < num_arr.length - 1; i++) {

			for (int j = i + 1; j < num_arr.length; j++) {

				if (num_arr[i] > num_arr[j]) {

					swap(num_arr, i, j);
				}
			}
		}
	}

	private static void swap(int[] num_arr, int i, int j) {
		int temp = num_arr[i];
		num_arr[i] = num_arr[j];
		num_arr[j] = temp;
	}

	public static int[] toIntArray(String[] str_arr) {

		int[] arr = new int[str_arr.length];

		for (int i = 0; i < arr.length; i++) {
			arr[i] = Integer.parseInt(str_arr[i]);
		}

		return arr;
	}

	public static String[] stringToArray(String numStr) {

		String[] arr = numStr.split(SPACE_SEPARATOR);

		return arr;
	}

}

### 回答1: double类是Java中的一个包装类,用于封装基本数据类型double。它提供了一些方法,可以对double类型的数据进行操作和转换。例如,可以使用double类的parseDouble方法将字符串转换为double类型的数据,也可以使用doubleValue方法将Double对象转换为double类型的数据。此外,double类还提供了一些常量,如MAX_VALUE和MIN_VALUE,分别表示double类型的最大值和最小值。在Java中,double类型的数据常用于表示浮点数,如小数或科学计数法表示的数值。 ### 回答2: Java的double类是基本数据类型中的一种,它是一个浮点数类型,可以用来表示小数或者整数。在Java中,如果需要使用双精度浮点数,我们可以直接使用double类型,而不需要使用其它类库或者自定义数据类型。 Java的double类提供了很多方法来处理双精度浮点数。比如,我们可以使用doubleValue()方法将一个Double对象转换成double类型的值;使用compareTo()方法比较两个double类型的值的大小;使用isNaN()方法判断一个double类型的值是否为非数值。 同时,Java的double类还提供了一些常量,如MAX_VALUE、MIN_VALUE、POSITIVE_INFINITY、NEGATIVE_INFINITY和NaN。其中,MAX_VALUE表示double类型的最大值,MIN_VALUE表示double类型的最小值,POSITIVE_INFINITY表示正无穷大,NEGATIVE_INFINITY表示负无穷大,NaN表示非数值。 除了基本的方法和常量,Java的double类还可以拆箱和装箱。拆箱指将Double类型的值转换成double类型的值,而装箱则是将double类型的值封装成一个Double对象。 在实际开发中,我们常常使用double类型来表示货币、收入、体重、距离等数值。使用double类型可以方便地进行数值计算,并且Java的标准库中提供了许多API来对double类型的值进行操作和处理,这大大提高了开发效率。使用double类型时需要注意其精度问题,因为在进行除法等计算时,可能会出现精度丢失的情况。此时,我们可以使用BigDecimal类来解决这个问题。 综上所述,Java的double类是一个非常重要的基本数据类型,我们在日常开发中经常使用,需要熟练掌握其使用方法和注意事项。 ### 回答3: 练习Java包装类之Double类是学习Java语言基础的必备内容,Double类是Java中常用包装类之一,它用于将基本数据类型double封装成一个对象。Double类提供了很多有用的方法,能够方便地进行数字转换、计算和比较等操作。 Double类中最常用的方法是parseDouble(),它可以将一个字符串转换为double类型的数据。例如,可以使用Double.parseDouble("3.14")来获得一个double类型的值3.14。同时,Double还提供了很多其他的方法,如doubleValue()方法用于将Double对象转换为double类型,intValue()方法用于将Double对象转换为int类型,toString()方法用于将Double对象转换为字符串类型等。 此外,在使用Double类时还需要注意几个重要的特性。一是Double类是不可变的,即一旦创建了一个Double对象,它的值就不能再改变了。这意味着如果需要在程序中对double类型的数据进行频繁的修改,就应该使用基本数据类型double,而不是Double对象。 二是由于Double类是对象,所以在比较两个Double对象时,应该使用equals()方法而不是==操作符。因为==操作符只比较两个对象的内存地址,而不是它们的值,而equals()方法则比较两个对象的值是否相等。 最后,需要了解的是Double类中一些重要的常量。例如,Double.MAX_VALUE表示可表示的最大双精度浮点数,Double.MIN_VALUE表示可表示的最小双精度浮点数,NaN表示非数字(Not a Number),Infinity表示正无穷或负无穷。 练习Java包装类之Double类能够帮助我们更好地理解Java语言的基础知识和语法规则,同时提高我们对数字的处理能力和代码编写的效率。建议在学习Java语言时,重点掌握和实践常用包装类,以更好地应用Java语言进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值