1. 基本类型包装类概述

为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类。

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

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

  • 基本类型和包装类的对应:Byte,Short,Integer,Long,Float,Double,Character,Boolean

基本数据类型 包装数据类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

2. 基本数据类型包装类应用

该包装对象主要用于基本类型和字符串之间的转换

2.1 基本类型 → 字符串

  • 基本类型数值+""

  • 用String类中的静态方法valueOf(基本类型数值);

2.2 字符串 → 基本类型

使用包装类中的静态方法xxx parseXxx("xxx");

  • int parseInt(String str);

  • long parseLong(String str);

  • boolean parseBoolean(String str);

  • 只有Character没有parse方法。

如果字符串被Integer进行对象的封装,可使用另一个非静态的方法,intValue。

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

用Integer的静态方法valueOf(String s);

3. Integer类

3.1 Integer类概述

Integer 类在对象中包装了一个基本类型 int 的值
该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法

3.2 构造方法

public Integer(int value)
public Integer(String s)

PS:这个字符串必须是由数字字符组成

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

返回值 方法 说明
int intValue() 以 int 类型返回该 Integer 的值
int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析
String toString(int i) 返回一个表示指定整数的 String 对象
Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例
Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象

代码示例:

package cn.itcast_03;  

/* * int类型和String类型的相互转换 *   * int -- String *      String.valueOf(number) *   * String -- int *      Integer.parseInt(s) */  public class IntegerDemo {      public static void main(String[] args) {          // int -- String          int number = 100;          // 方式1          String s1 = "" + number;          System.out.println("s1:" + s1);          // 方式2          String s2 = String.valueOf(number);          System.out.println("s2:" + s2);          // 方式3          // int -- Integer -- String          Integer i = new Integer(number);          String s3 = i.toString();          System.out.println("s3:" + s3);          // 方式4          // public static String toString(int i)          String s4 = Integer.toString(number);          System.out.println("s4:" + s4);          System.out.println("-----------------");  

        // String -- int          String s = "100";          // 方式1          // String -- Integer -- int          Integer ii = new Integer(s);          // public int intValue()          int x = ii.intValue();          System.out.println("x:" + x);          //方式2          //public static int parseInt(String s)          int y = Integer.parseInt(s);          System.out.println("y:"+y);      }  }  

运行结果:

Integer

3.4 常用的基本进制转换

返回值 方法 说明
String toBinaryString(int i) 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
String toOctalString(int i) 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式
String toHexString(int i) 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式

3.5 十进制转换成其他进制

返回值 方法声明 功能描述
String toBinaryString(int i) 十进制转换成二进制
String toOctalString(int i) 十进制转换成八进制
String toHexString(int i) 十进制转换成十六进制
String toString(int i,int radix) 十进制转换成任何进制

3.6 其他进制到十进制

public static int parseInt(String s,int radix)

代码示例:

package cn.itcast_04;  

/* * 常用的基本进制转换 * public static String toBinaryString(int i) * public static String toOctalString(int i) * public static String toHexString(int i) *   * 十进制到其他进制 * public static String toString(int i,int radix) * 由这个我们也看到了进制的范围:2-36 * 为什么呢?0,...9,a...z *   * 其他进制到十进制 * public static int parseInt(String s,int radix) */  public class IntegerDemo {      public static void main(String[] args) {          // 十进制到二进制,八进制,十六进制          System.out.println(Integer.toBinaryString(100));          System.out.println(Integer.toOctalString(100));          System.out.println(Integer.toHexString(100));          System.out.println("-------------------------");  

        // 十进制到其他进制          System.out.println(Integer.toString(100, 10));          System.out.println(Integer.toString(100, 2));          System.out.println(Integer.toString(100, 8));          System.out.println(Integer.toString(100, 16));          System.out.println(Integer.toString(100, 5));          System.out.println(Integer.toString(100, 7));          System.out.println(Integer.toString(100, -7));          System.out.println(Integer.toString(100, 70));          System.out.println(Integer.toString(100, 1));          System.out.println(Integer.toString(100, 17));          System.out.println(Integer.toString(100, 32));          System.out.println(Integer.toString(100, 37));          System.out.println(Integer.toString(100, 36));          System.out.println("-------------------------");  

        //其他进制到十进制          System.out.println(Integer.parseInt("100", 10));          System.out.println(Integer.parseInt("100", 2));          System.out.println(Integer.parseInt("100", 8));          System.out.println(Integer.parseInt("100", 16));          System.out.println(Integer.parseInt("100", 23));          //NumberFormatException          //System.out.println(Integer.parseInt("123", 2));      }  }  

运行结果:

Integer

3.7 自动拆装箱

package cn.itcast_05;  

/* * JDK5的新特性 * 自动装箱:把基本类型转换为包装类类型 * 自动拆箱:把包装类类型转换为基本类型 *   * 注意一个小问题: *      在使用时,Integer  x = null;代码就会出现NullPointerException。 *      建议先判断是否为null,然后再使用。 */  public class IntegerDemo {      public static void main(String[] args) {          // 定义了一个int类型的包装类类型变量i          // Integer i = new Integer(100);          Integer ii = 100;          ii += 200;          System.out.println("ii:" + ii);  

        // 通过反编译后的代码          // Integer ii = Integer.valueOf(100); //自动装箱          // ii = Integer.valueOf(ii.intValue() + 200); //自动拆箱,再自动装箱          // System.out.println((new StringBuilder("ii:")).append(ii).toString());  

        Integer iii = null;          // NullPointerException          if (iii != null) {              iii += 1000;              System.out.println(iii);          }      }  }  

4. BigInteger

BigInteger:可以让超过Integer范围内的数据进行运算。超大整数相加的问题

方法声明 功能描述
add(BigInteger val)
subtract(BigInteger val)
multiply(BigInteger val)
divide(BigInteger val)
divideAndRemainder(BigInteger val) 返回商和余数的数组
BigInteger(String val) 构造方法

5. BigDecimal

不可变的、任意精度的有符号十进制数。由于在运算的时候,float类型和double很容易丢失精度,演示案例。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal

方法声明 功能描述
BigDecimal(String val) 构造方法
add(BigDecimal augend)
subtract(BigDecimal subtrahend)
multiply(BigDecimal multiplicand)
divide(BigDecimal divisor)
divide(BigDecimal divisor,int scale,int roundingMode) 商、几位小数、如何取舍

6. Character类

6.1 Character类概述

Character 类在对象中包装一个基本类型 char 的值,此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然

6.2 构造方法

public Character(char value)

6.3 常用方法

方法 说明
isUpperCase(char ch) 判断是否是大写
isLowerCase(char ch) 判断是否是小写
isDigit(char ch) 判断是否是数字
char toUpperCase(char ch) 转换成大写
char toLowerCase(char ch) 转换成小写

代码示例:

package cn.itcast_02;  

/* * 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) {          // public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符          System.out.println("isUpperCase:" + Character.isUpperCase('A'));          System.out.println("isUpperCase:" + Character.isUpperCase('a'));          System.out.println("isUpperCase:" + Character.isUpperCase('0'));          System.out.println("-----------------------------------------");          // public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符          System.out.println("isLowerCase:" + Character.isLowerCase('A'));          System.out.println("isLowerCase:" + Character.isLowerCase('a'));          System.out.println("isLowerCase:" + Character.isLowerCase('0'));          System.out.println("-----------------------------------------");          // public static boolean isDigit(char ch):判断给定的字符是否是数字字符          System.out.println("isDigit:" + Character.isDigit('A'));          System.out.println("isDigit:" + Character.isDigit('a'));          System.out.println("isDigit:" + Character.isDigit('0'));          System.out.println("-----------------------------------------");          // public static char toUpperCase(char ch):把给定的字符转换为大写字符          System.out.println("toUpperCase:" + Character.toUpperCase('A'));          System.out.println("toUpperCase:" + Character.toUpperCase('a'));          System.out.println("-----------------------------------------");          // public static char toLowerCase(char ch):把给定的字符转换为小写字符          System.out.println("toLowerCase:" + Character.toLowerCase('A'));          System.out.println("toLowerCase:" + Character.toLowerCase('a'));      }  }

6.4 练习

代码示例:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)

package cn.itcast_03;  

import java.util.Scanner;  

/* * 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符) *   * 分析: *      A:定义三个统计变量。 *          int bigCont=0; *          int smalCount=0; *          int numberCount=0; *      B:键盘录入一个字符串。 *      C:把字符串转换为字符数组。 *      D:遍历字符数组获取到每一个字符 *      E:判断该字符是 *          大写  bigCount++; *          小写  smalCount++; *          数字  numberCount++; *      F:输出结果即可 */  public class CharacterTest {      public static void main(String[] args) {          // 定义三个统计变量。          int bigCount = 0;          int smallCount = 0;          int numberCount = 0;  

        // 键盘录入一个字符串。          Scanner sc = new Scanner(System.in);          System.out.println("请输入一个字符串:");          String line = sc.nextLine();  

        // 把字符串转换为字符数组。          char[] chs = line.toCharArray();  

        // 历字符数组获取到每一个字符          for (int x = 0; x             char ch = chs[x];  

            // 判断该字符              if (Character.isUpperCase(ch)) {                  bigCount++;              } else if (Character.isLowerCase(ch)) {                  smallCount++;              } else if (Character.isDigit(ch)) {                  numberCount++;              }          }  

        // 输出结果即可          System.out.println("大写字母:" + bigCount + "个");          System.out.println("小写字母:" + smallCount + "个");          System.out.println("数字字符:" + numberCount + "个");      }  }  

运行结果:


- EOF -

推荐阅读  点击标题可跳转

java精品入门-0基础第一篇

JDK、JRE、JVM的区别与联系

变量与数据类型 java基础03

运算符-小学生都能学会的java基础

java循环经典案例-学会它入行java

java基础之方法重载

java数组精讲-多案例-够详细

都来到这了,我需要你的点赞支持

返回值 包装类_java中基本类型包装类相关推荐

  1. java中long的包装类_Java中基本数据的包装类

    java中基本数据类型的包装类有:Character.Boolean.Byte.Short.Integer.Long.Float和Double. 基本数据类型:char.  boolean.  byt ...

  2. 在一个有返回值的方法中,用block回传的解决方法

    在一个有返回值的方法中,用block回传的解决方法 参考文章: (1)在一个有返回值的方法中,用block回传的解决方法 (2)https://www.cnblogs.com/dsp-ios/p/64 ...

  3. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

    文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...

  4. 获取存储过程返回值及代码中获取返回值

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  5. 获取存储过程返回值及代码中获取返回值(转)

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  6. java 基本类型 包装类型_Java中基本类型和包装类

    基本类型运算 boolean类型数据可以进行逻辑运算(&&,||,!),其他的基本类型都可以进行数值计算(+,-,*,/).逻辑运算比较简单易懂,完全与逻辑数学的规则一致,而数值运算涉 ...

  7. java 包装类_Java中的包装类

    Java中哪些需要包装类 它们将原始数据类型转换为对象.如果我们希望修改传递给方法的参数,则需要对象(因为基元类型是按值传递的). java.util包中的类只处理对象,因此在这种情况下包装类也有帮助 ...

  8. php 函数返回值mixed,认识函数的类型、参数与返回值

    函数的类型.参数与返回值 一.函数的基本语法语法 functionfunctionName(类型限定参数列表):返回值类型 { } 案例:计算两个数之和. functionsum(int$a,int$ ...

  9. 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇). ...

最新文章

  1. UITableViewCell 左侧滑动删除按钮 添加图片 (不完美解决)
  2. 川大网络教育2013秋《计算机应用基础》第二次作业,2013秋川大网教《计算机应用基础》第一、二次作业及答案解析.doc...
  3. excel两个下拉框相互关联
  4. Java是解释型还是编译型?
  5. drools 规则流_约束流–没有Drools规则语言的现代Java约束
  6. [javascript|基本概念|Number]学习笔记
  7. 不安装cudnn可不可以_关于CUDA和cuDNN的安装
  8. 数据按时间拆开分批处理示例
  9. POJ 1330 Nearest Common Ancestors / UVALive 2525 Nearest Common Ancestors (最近公共祖先LCA)...
  10. C#调用非托管Dll
  11. React组件Input输入拼音时触发搜索的解决方案
  12. 摩尔斯电码之Python实现
  13. win10系统镜像下载及在VMware虚拟机上创建win10虚拟机
  14. win10虚拟服务器安装xp,xp mode for windows10虚拟机安装教程(详细)
  15. 写日报、写日报,每天都要写,写工作日报到底有什么意义?
  16. 【科普】关于装机CPU参数介绍及选取原则
  17. 原生JS javascript解除绑定事件 JS删除绑定事件
  18. 软件测试的正向思维,反向思维
  19. Percona XtraDB Cluster(PXC)——架构原理
  20. js对日期加减指定天、时、分、秒

热门文章

  1. 计算机应用与技术大赛,关于举办2017年燕山大学第一届计算机应用技术与程序设计大赛的通知...
  2. java imagemagick 接口_ImageMagick安装及使用教程
  3. linux 安装监控系统,CentOS7安装性能监控系统
  4. 列表解析python_Python 列表解析
  5. mysql viewlog_Mysql心路历程:两个”log”引发的”血案”
  6. Java 算法 FBI树
  7. python计算函数转公式(转Latex公式)
  8. centos安装python3.8与pip
  9. 发布python项目到pypi,以便供他人用pip install安装
  10. python统计缺失值