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);
}
}
JAVA学习第三十二课(经常使用对象API)- 基本数据类型对象包装类的更多相关文章
- JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点
整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有 ...
- JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...
- JAVA学习第六十二课 — TCP协议练习
通过练习掌握TCP在进行传输过程中的问题 练习1:创建一个英文大写转换server client输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回client,知道clien ...
- JAVA学习第五十二课 — IO流(六)File对象
File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...
- “全栈2019”Java多线程第三十二章:显式锁Lock等待唤醒机制详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- NeHe OpenGL教程 第三十二课:拾取游戏
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解
风炫安全WEB安全学习第三十八节课 越权漏洞演示与讲解 越权漏洞 0x01 漏洞介绍 越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响 ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
- 风炫安全web安全学习第三十节课 命令执行&代码执行基础
风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...
随机推荐
- Django Pagination
Django provides a few classes that help you manage paginated data – that is, data that’s split acros ...
- mysql中日期比较大小的方法
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: select * from product where add_time = '2013-0 ...
- EntityFramework中几种操作小结
目前项目中使用到的EntityFramework中几种操作小结,先标记下.没有详细介绍,后续有空的话再补充一些并完善一下. 列中加入RowVersion时间戳 public class Product ...
- TPS5410/TPS5430 开关电源稳压器(DC-DC)
- Spring @PostConstruct和@PreDestroy实例
在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...
- 详解Java中的clone方法 -- 原型模式 及源码
http://www.cnblogs.com/cq-home/p/6431426.html http://blog.csdn.net/zhangjg_blog/article/details/1836 ...
- 牛客网java基础知识
1.java把表示范围大的数转换为表示范围小的数,需要强制类型转换. Java中,数据类型分为基本数据类型(或叫做原生类.内置类型)和引用数据类型.原生类型为基本数据类型int和布尔值可以相互转换吗? ...
- react的传值类型PropTypes简单说明
1.首先可以有那么多种类型 propTypes: { // 可以声明 prop 为指定的 JS 基本类型.默认 // 情况下,这些 prop 都是可传可不传的. optionalArray: Reac ...
- @使用javap反编译Java字节码文件
在Sun公司提供的JDK中,就已经内置了Java字节码文件反编译工具javap.exe(位于JDK安装目录的bin文件夹下). 我们可以在dos窗口中使用javap来反汇编指定的Java字节码文件.在 ...
- 程序编译是出现"field has incomplete type"问题的解决
在编译程序是出现了如下错误, 类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错. 将类成员改成指针就 ...