将基本数据类型(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);
}
}



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

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

    整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...

  2. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

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

    通过练习掌握TCP在进行传输过程中的问题 练习1:创建一个英文大写转换server client输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回client,知道clien ...

  4. JAVA学习第五十二课 — IO流(六)File对象

    File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...

  5. “全栈2019”Java多线程第三十二章:显式锁Lock等待唤醒机制详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解

    风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...

  8. 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击

    风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...

  9. 风炫安全web安全学习第三十节课 命令执行&代码执行基础

    风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...

随机推荐

  1. POJ 1222 POJ 1830 POJ 1681 POJ 1753 POJ 3185 高斯消元求解一类开关问题

    http://poj.org/problem?id=1222 http://poj.org/problem?id=1830 http://poj.org/problem?id=1681 http:// ...

  2. 【PHP内存泄漏案例】PHP对象递归引用造成内存泄漏

    [案例一] 作者:老王 如果PHP对象存在递归引用,就会出现内存泄漏.这个Bug在PHP里已经存在很久很久了,先让我们来重现这个Bug,代码如下: <?php class Foo { funct ...

  3. OpenERP实施记录(14):收款处理

    本文是<OpenERP实施记录>系列文章的一部分. 1. 在前面的文章中,销售订单确认时自动生成了客户发票,可以在 会计 > 客户 > 客户发票 查询,状态为"草稿& ...

  4. 使用WCF测试客户端 z

    http://blog.csdn.net/u013036274/article/details/50570989 [是什么] WCF测试客户端(WCF Test Client)是一个用来测试WCF服务 ...

  5. Javascript:拦截所有AJAX调用,重点处理服务器异常

    背景 上篇文章http://www.cnblogs.com/happyframework/p/3241063.html介绍了如何以AOP的形式处理服务器异常,这让服务器端的编程逻辑变的非常整洁,本文介 ...

  6. pytest文档7-pytest-html生成html报告

    前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...

  7. Appium+python自动化9-SDK Manager

    前言 SDK Manager到有哪些东西是必须安装的呢? 一.SDK Manager 1.双击打开SDK Manager界面

  8. mongodb,redis,memcached,mysql对比

    1.性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性memcache数据结构单一redis丰富一些,数据操作方面 ...

  9. Python操作dict时避免出现KeyError的几种方法

    见原文:https://www.polarxiong.com/archives/Python-%E6%93%8D%E4%BD%9Cdict%E6%97%B6%E9%81%BF%E5%85%8D%E5% ...

  10. Discuz常见小问题-如何发布站点公告

    运营-站点公告,可以管理或添加新的公告   如果要添加要把这个终止时间设置的远一点,不然一个月之后就自动消失了   完成之后可以在首页,帖子的常规地方看到这些公告