zoukankan      html  css  js  c++  java
  • Number&Math&Character&Stringbuffer&StringBuilder类

    概述

    了解各个类的主要方法。了解其中的主要思想

    Number类

    首先我们引出一个疑问呢?我们知道已经有了内置数据类型了,为啥,还要用Number类呢!!!
    这是因为,Java是面向对象编程,在开发过程中难免遇到使用对象,而不是内置数据类型的情况,因此为了解决这个问题,Java为每个内置数据类型提供了相应的包装类。
    Integer Long Byte Double Float Short 都是Number的子类

    public class Test{
     
       public static void main(String args[]){
          Integer x = 5;
          x =  x + 10;
          System.out.println(x); 
       }
    }
    

    Math类

    包含了用于执行基本数学运算的属性和方法

    Character

    该类用于对单个字符进行操作
    Character类在对象中包装了一个基本数据类型char的值

    StringBuffer&StringBuilder

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
    和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
    StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
    由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

    今日奖励

    牛客网
    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
    编程语言用Java

        public static String replaceSpace(StringBuffer str) {
            String a;
            int first;
            int i=0;
            char str1 [];
            str1=new char[1000000];
            for(;str.length()!=0;){
                first=str.indexOf(" ");
                if(first!=-1){
                str.getChars(0,first,str1,i);
                i=i+first;
                str1[i]='%';
                str1[i+1]='2';
                str1[i+2]='0';
                i=i+3;
                str=str.delete(0,first+1);
                }
                else{
                    str.getChars(0,str.length(),str1,i);
                    str=str.delete(0,str.length());
                }
            }
    
            StringBuffer aa;
            aa=new StringBuffer("");
            for(i=0;str1[i]!='';i++){
                aa.append(str1[i]);
            }
            return aa.toString();
        }
    

    在Java中这类主要用到
    StringBuffer类,他的具体函数可以查看API。JavaApi
    现在,我就我用到的函数,进行讲解

    indexOf(char str)

    该函数表示 查找字符str在StringBuffer首次出现的位置,当StingBuffer中没有是返回-1
    例如
    I Like Study

    getChar(int strBegin,int strEnd,char [],int destBegin)

    该函数表示从StringBuffer复制从strBegin到StrEnd的字符,其中不包括末尾字符

    delete(int a,int b)

    该函数表示从StringBuffer删除从strBegin到StrEnd的字符,其中不包括末尾字符
    该题的主要思路
    首先判断空格的位置first记录下来,并利用getcahar函数将StringBuffer从0到first的字符复制字符数组a,然后加入%20,并记录destBegin得值。然后删除前first的值,并进行循环,当最没有空格时,直接将最后的StringBuffer值加入a,并删除StringBuffer值,结束循环。

    首次写题解,欢迎评论。
  • 相关阅读:
    今天分享一个参数转Python字典的案例
    Django 列表搜索后,进行数据编辑,保存后返回搜索前的页面 && 多条件搜索
    django 中多条件搜索
    selenium 对滑动验证框的处理
    django 中使用request请求失败,requests.exceptions.ConnectionError: HTTPConnectionPool(host='xxx', port=80):
    java Spring boot 单元测试 @Autowired 注入为空
    Vue中显示js格式插件vue-json-viewer
    Vue-cli项目中过滤器使用
    Vue 中权限校验
    Vue平台项目问题汇总
  • 原文地址:https://www.cnblogs.com/gaochunhui/p/11700623.html
Copyright © 2011-2022 走看看