首页 > 编程语言 >Java包装类

Java包装类

时间:2023-11-12 14:55:06浏览次数:31  
标签:字符 Java 包装 Character 数据类型 小写字母 println public

包装类

为什么要有包装类?

Java是一个面向对象的编程语言,基本数据类型并不具有对象的性质,为了让基本类型也具有对象的特性,就出现了包装类型。

就比如在Collection集合中就存放的一定是包装类型而并非是基本的数据类型。

Java中基本数据类型转成包装类型:

自动装箱和自动拆箱

自动装箱

装箱表示基本数据类型转换成包装类型,而自动代表着jdk5.0以后会自动实现基本数据类型转成包装类型,直接赋值给包装类型即可

举个例子:

 1 public class Test01 {
 2     public static void main(String[] args) {
 3         //在jdk5.0以前需要手动装箱
 4         int a=15;//基本数据类型
 5         Integer b=new Integer(a);//手动装箱
 6         
 7         //在jdk5.0以后可以自动装箱
 8         Integer c = a; //直接将基本数据类型赋给包装类型
 9     }
10 }

自动拆箱

拆箱表示包装类型转换成基本数据类型,而而自动代表着jdk5.0以后会自动实现包装类型转成基本数据类型,直接赋值给基本数据类型即可

举个例子:

 1 public class Test01 {
 2     public static void main(String[] args) {
 3         //在jdk5.0以前需要手动装箱
 4         Integer a=new Integer(15);//包装类型
 5         int b = a.intValue();//手动拆箱
 6 
 7         //在jdk5.0以后直接将引用类型赋值给基本数据类型即可
 8         int c= a;
 9 
10     }
11 }

包装类型常用的方法

Integer类中常用的方法

①parseInt(String a):静态方法,把数字字符串转换为整数。注意:如果字符串中存在非数据类型可能会出现异常

举个例子:

1 public class Test01 {
2     public static void main(String[] args) {
3         //字符串中不是全为数字会报错
4         int i= Integer.parseInt("abc");
5         System.out.println("整数:"+i);
6     }
7 }

效果展示:

 ②compare(Integer a, Integer b):比较两个整数的大小

如果 a>b 返回  1。

如果 a=b 返回  0。

如果  a<b 返回 -1。

举个例子:

 1 public class Test01 {
 2     public static void main(String[] args) {
 3         //a<b时
 4         System.out.println("a<b时返回值:"+Integer.compare(19,24));
 5         //a>b时
 6         System.out.println("a>b时返回值:"+Integer.compare(23,10));
 7         //a==b时
 8         System.out.println("a==b时返回值:"+Integer.compare(10,10));
 9     }
10  }

效果展示:

Character类常见的方法

①isDigit(char  ch):判断指定的字符是否为数字

举个例子:

1 public class Test01 {
2     public static void main(String[] args) {
3         //判断指定字符是否为数字
4         //里面为数字,返回true
5         System.out.println("里面是数字返回:"+Character.isDigit('1'));
6         //里面不是数组,则返回false
7         System.out.println("里面不是数字返回:"+Character.isDigit('a'));
8     }
9  }

效果展示:

 ②isLetter(char ch):判断指定的字符是否为字母

举个例子:

1 public class Test01 {
2     public static void main(String[] args) {
3         //判断指定的字符是否为字母
4         //里面为字母,返回true
5         System.out.println("里面是字母返回:"+Character.isLetter('a'));
6         //里面不是字母,则返回false
7         System.out.println("里面不是字母返回:"+Character.isLetter('1'));
8     }
9  }

效果展示:

 ③isLowerCase(char ch) :判断指定的字符是否为小写字母

举个例子:

1 public class Test01 {
2     public static void main(String[] args) {
3         //判断指定的字符是否为小写字母
4         //里面为小写字母,返回true
5         System.out.println("里面是小写字母返回:"+Character.isLowerCase('a'));
6         //里面不是小写字母,则返回false
7         System.out.println("里面不是小写字母返回:"+Character.isLowerCase('A'));
8     }
9  }

效果展示:

 ④isUpperCase(char ch) :判断指定的字符是否为大写

1 public class Test01 {
2     public static void main(String[] args) {
3         //判断指定的字符是否为小写字母
4         //里面为大写字母,返回true
5         System.out.println("里面是小写字母返回:"+Character.isUpperCase('A'));
6         //里面不是大写字母,则返回false
7         System.out.println("里面不是小写字母返回:"+Character.isUpperCase('a'));
8     }
9  }

效果展示:

综合案例

需求:在这个"asadasASDHG@#@#R%#1234"字符串中判断字符串中小写字母,大写字母,数字以及其他的个数。

思路:
这个字符串统计出大写字母,小写字母,数字和其他字符的数量
①字符串可以通过循环获取字符
②我们可以使用包装类中的Character中的三大方法来判断字符是否为指定内容
③最后通过四个变量来统计大写字母个数,小写字母个数,数字个数和其他字符个数

代码:

 1 public class Test01 {
 2     public static void main(String[] args) {
 3         //这是一个给定的字符串
 4         String str="asadasASDHG@#@#R%#1234";
 5         //大写字母个数
 6         int bigSum=0;
 7         //小写字母个数
 8         int smallSum=0;
 9         //数字个数
10         int numSum=0;
11         //其他个数
12         int otherSum=0;
13         for (int i = 0; i < str.length(); i++) {
14             //字符是一个大写字母
15             if(Character.isUpperCase(str.charAt(i))){
16                 //统计大写字母+1
17                 bigSum++;
18             }//字符是一个小写字母
19             else if (Character.isLowerCase(str.charAt(i))) {
20                 //统计小写字母+1
21                 smallSum++;
22             }//字符是一个数字 
23             else if (Character.isDigit(str.charAt(i))) {
24                 //统计数字+1
25                 numSum++;
26             }//其他的为其他字符
27             else{
28                 otherSum++;
29             }
30         }
31         System.out.println("这个字符串中大写字母有"+bigSum+",小写字母有"+smallSum+",数字有"+numSum+",其他字符有"+otherSum);
32     }
33  }

效果展示:

 

标签:字符,Java,包装,Character,数据类型,小写字母,println,public
From: https://www.cnblogs.com/gzyhrc/p/17823749.html

相关文章

  • Java SPI机制总结系列之万字详细图解SPI源码分析
    原创/朱季谦我在《JavaSPI机制总结系列之开发入门实例》一文当中,分享了JavaSPI的玩法,但是这只是基于表面的应用。若要明白其中的原理实现,还需深入到底层源码,分析一番。这里再重温一下SPI机制的概念:SPI,是ServiceProviderInterface的缩写,即服务提供者接口,单从字面上看,可以这......
  • 面试官:听说你很了解Java8特性,给我优化一下这段代码吧?
    @[toc]前言在之前的一次面试过程中,我被问到了一道代码优化题:对于下面的代码,你有什么优化的思路呢?booleanhandleStrList(StringstrList){ for(Strings:strList){ if(s.length()%2==0){ returntrue; } }booleanhandleStrList(StringstrList){for(Strings:s......
  • JavaScript的数据交换格式XML和JSON的解析------前端
    XML和JSON数据的解析<!DOCTYPEhtml><!--这是HTML的注释--><htmllang="en"id="myHtml"> <head> <!--这里不是设置了编码,而是告诉浏览器,用什么编码方式打开文件避免乱码--> <metacharset="UTF-8"> <metaname="viewport&quo......
  • JavaScript--正则表达式
    正则表达式判断用户名/密码varreg=/^\w{6,12}$/;varflag=reg.test(username);判断手机号,1开头并且11位数字varreg=/^[1]\d{10}$/;varflag=reg.test(tele); functionteleflag(){vartele=teleInput.value.trim();//varflag=tele.length==11......
  • java项目实战-mybatis-基本用法02接口绑定实现类-day23
    目录1.复习什么是接口什么是类?2.mybatis接口绑定实现类来实现查询3.参数的传递4插入数据1.复习什么是接口什么是类?publicinterfaceSpeak{voidsay();}Speak这个接口里面定义了say方法所有实现了Speak的类都必须实现say方法publicclassChineseimpl......
  • Java 面试题之 Logback 打印日志是如何获取当前方法名称的?
    在Java中,有四种方法可以获取当前正在执行方法体的方法名称,分别是:使用Thread.currentThread().getStackTrace()方法使用异常对象的getStackTrace()方法使用匿名内部类的getClass().getEnclosingMethod()方法Java9的Stack-WalkingAPI本文将根据以上四种方法来给......
  • JVM系列-第1章-JVM与Java体系结构-cnblog
    title:JVM系列-第1章-JVM与Java体系结构tags:-JVM-虚拟机categories:-JVM-1.内存与垃圾回收篇keywords:JVM,虚拟机。description:JVM系列-第1章-JVM与Java体系结构。cover:'https://gitee.com/youthlql/randombg/raw/master/logo/jvm.png'abbrlink:8c95......
  • Java基础、MySQL数据库、Web前端
    三、简答题(共10题,共30分)1、请写出CSS的6种选择器,并举例?l 标签选择器:a、li、div、table等等l 类选择器:.nav、.itemsl id选择器:#logo、#item1l 通配符选择器:*l 后代选择器:ulli、divaspan等l 并集选择器:li,div,h1l 交集选择器:li.item、input.username等2、将图片展示在网页......
  • java开发问题和解决方法
    java开发问题和解决方法Java开发问题和解决方法Java作为一种广泛使用的编程语言,被广泛应用于各种软件开发项目中。在Java开发过程中,开发人员可能会遇到一些常见的问题,下面我们介绍一些常见问题以及相应的解决方法。1.编译错误在Java开发中,编译错误是常见的问题之一。这些错误通常......
  • 原生JavaScript 与 jQuery 执行Ajax请求
    原生JavaScript和jQuery都可以用来执行Ajax请求,以下是它们的基本实现方式的比较:原生JavaScript实现Ajax请求:varxhr=newXMLHttpRequest();xhr.open("GET","https://api.example.com/data",true);xhr.onreadystatechange=function(){if(xhr.readyState==4&&......