String类笔记

目录

一、字符串对象的创建

 二、两个字符串对象的比较

 三、字符串常用操作

3.1、字符串查找

3.2、字符串转化

3.2.1、其他类型转化为字符串对象

3.2.2、字符串转数字

3.2,3、大小写转换(这两个函数只转换字母)

3.2.4、字符串转数组 toCharArray方法

3.2.5、字符串转为字节数组  getBytes方法

 3.2.6、格式化字符串 String.format(" ")

3.3、字符串替换

3.4、字符串拆分

3.5、字符串截取


String是引用数据类型,因此String str只是保存了字符串对象的地址,字符串对象到底是如何保存的呢?

所有高级语言,字符串类型,本质上都是字符数组,字符串就是由一个个的字符来组成。

一、字符串对象的创建

          // a.通过字符串字面量直接赋值
          String str = "hello";
          // b.是类就有构造方法,通过构造方法产生对象
          String str1 = new String("hello");
          // c.通过字符数组来产生对象
          char[] arr = new char[] {'h','e','l','l','o'};
          String str2 = new String(arr);
          // d.通过字符串的静态方法valueOf来产生对象
          String str3 = String.valueOf("hello");

 二、两个字符串对象的比较

2.1.通过==比较(比较的是两个字符串的地址,不看内容)

2.2.通过equals方法来比较两个字符串对象的内容是否相等(大小写敏感)返回boolean

2.3.通过equalslgnoreCase比较两个字符串对象的内容是否相等(大小写不敏感)boolean

2.4.通过compareTo方法来比较两个字符串大小的关系 返回int

2.4.1、compareTo方法的比较规则

 三、字符串常用操作

3.1、字符串查找

 3.1.1、练习:写一个方法,判断用户输入的字符串是否是纯数字组成

    public static boolean isDigit(String str){
        //先判断边界条件
        if(str==null||str.length()==0){
            return false;
        }
        //将字符串拆分为一个一个字符来判断
        for(int i=0;i<str.length();i++){
            char c=str.charAt(i);
//            //1.找到反例一定不是数字字符
//            if(c<'0'||c>'9'){
//                return false;
//            }
            //2.jdk中char的包装类Character中有一个静态方法可以判断字符是否为数字字符
            if(!(Character.isDigit(i))){
                return false;
            }
        }
        return true;
    }

3.2、字符串转化

3.2.1、其他类型转化为字符串对象

valueOf方法,可以接收所有参数

String s1 = String.valueOf(1234);
String s2 = String.valueOf(12.34);
String s3 = String.valueOf(true);
String s4 = String.valueOf(new Student("Hanmeimei", 18));
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);

3.2.2、字符串转数字

//Integer、Double等是Java中的包装类型
int data1 = Integer.parseInt("1234");
double data2 = Double.parseDouble("12.34");
System.out.println(data1);
System.out.println(data2);

3.2,3、大小写转换(这两个函数只转换字母)

 

String s1 = "hello";
String s2 = "HELLO";
// 小写转大写
System.out.println(s1.toUpperCase());
// 大写转小写
System.out.println(s2.toLowerCase());

3.2.4、字符串转数组 toCharArray方法

       String s = "hello";
        // 字符串转数组
        char[] ch = s.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]);
        }
        System.out.println();
        // 数组转字符串
        String s2 = new String(ch);
        System.out.println(s2);

3.2.5、字符串转为字节数组  getBytes方法

 3.2.6、格式化字符串 String.format(" ")

String s = String.format("%d-%d-%d", 2019, 9,14);
System.out.println(s);

3.3、字符串替换

使用一个指定的新的字符串替换掉已有的字符串数据,可用的方法如下:
 

 注意事项: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串.

3.4、字符串拆分

 

 另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义字符.

eg:以拆分ip地址为例

3.5、字符串截取

 练习:传入一个字符串(只包含字母)进行首字母大写操作

        String str5="weuowcnwo";
        String str6=str5.substring(0,1).toUpperCase()+str5.substring(1);
        System.out.println(str6);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值