JavaAPI: String 类的练习

概述

        java , lang String 类代表字将串。 Java 程序中所有的字符串文字例如" abc “都可以被看作是实现此类的实例。
        类 String 中包括用于检查各个字将串的方法,比如用于比较字符串,星素字符串,提取子字特串以及创建具有翻译为大写或小写的所有字符的字符串的副本。
特点
1.字特串不变:字特事的值在创建后不能被更改。

        String s1 = " abc ":

        s1=s1+ " d ";不是改变s1的值
        内存中有“ abc ",“ abcd ”两个对象。s1从指向“ abc ",改变指向。指向了" abcd”。
2.因为 String 对象界不可改的。所以它们可以被共享。
         String s1." abc ";
         String s2=" abc ":
        内存中只有一个 " abc "时对象被创建,同时被:1和s2共享
3." abc "等效于 char [] data =(' a , b , e ').
         例如:
         String str =" abe ";
         相当于◇
         char data[] .(' a ‘, ’b ',' e ‘);

练习1 :

public class StringDemo {
    public static void main(String[] args) {
        //String练习
        String s= "abc";                
            //创建一个String的对象并直接赋值
        System.out.println(s);          
            //打印 s
        String s1 = new String();       
            //创建一个String类的对象 s1
        char[] ch = {'a','b','c'};      
            //创建一个字符数组并赋值
        String s2 = new String(ch);     
            //创建一个String的对象 s2
        byte[] bytes = {65,66,67};      
            //创建一个bytes(字节)类的对象bytes
        String s3 = new String(bytes);  
            //创建一个String的对象 s3
        String name = "abcdef";            
            //创建一个String的对象 name 并直接赋值
        System.out.println("s1的值"+s1); 
            //打印输出 s1
        System.out.println("s2的值"+s2); 
            //打印输出 s2
        System.out.println("s3的值"+s3); 
            //打印输出 s3
        if(s2.equalsIgnoreCase(s3))     
            //使用String中的equalsIgnoreCase()比较方法,比较 s2 、s3的大小
            System.out.println("两个相等");
        else
            System.out.println("两个不相等");
        System.out.println("s2的长度是" + s2.length()); 
            //使用String类中的length()方法确定 s2 的长度
        System.out.println("s2的组合串时" + s2.concat("def"));
            //使用 String 类中的字符串连接方法 concat() ,将 “def” 连接在s2的后面
        System.out.println("s2的第二个索引位置的字符是"+s2.charAt(2));
            //使用String类中的charAt()方法查看指定位置的值
        System.out.println("bc在s2中第一次出现的位置是"+s2.indexOf("bc"));
            //使用String类中的indexOf()方法确定指定字符串在 s2 对象中第一次出现的位置
        System.out.println("截取name串的结果是"+name.substring(1,2));
            //使用String类中的substring()方法对 name 对象进行指定位置的字符串截取
        char[] nameChar = new char[20];
        nameChar = name.toCharArray();
            //使用String类中的toCharArray()方法,将 name对象(字符串)转换成新的字符数组
        System.out.println(nameChar.length);
        for (int i = 0; i < nameChar.length; i++) {
            System.out.println(name+s1);
        }
        System.out.println();
        byte[] nameBytes = new byte[20];
        nameBytes = name.getBytes();
        for (int i = 0; i < nameBytes.length; i++) {
            System.out.print(nameBytes[i]+" ");
            //将字符转换成数字
        }
        System.out.println();
    }
}

 练习2:

import java.util.Scanner;

public class StringExec {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
            //创建一个scanner对象 并使用标准输入(键盘输入)System.in
        String s = scanner.nextLine();
            //使用Scanner类中的nextLine()方法,将从键盘输入的值赋值给 对象 s
        int lowerCharacter = 0;
            //记录小写字母的变量
        int upperCharacter = 0;
            //记录大写字母的变量
        int numCharacter   = 0;
            //记录数字的变量
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
                //获取对象 s 内指定下标的内容
            if(ch >= 'a' && ch <= 'z')
               lowerCharacter ++;
            else
            if(ch >= 'A' && ch <= 'Z')
                upperCharacter++;
            else
            if(ch >= '0' && ch <= '9')
                numCharacter++;
            else
            System.out.println("输入错误!");
        }
        System.out.println("小写字母的个数是:"+lowerCharacter);
        System.out.println("大写字母的个数是:"+upperCharacter);
        System.out.println("数字字母的个数是:"+numCharacter);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值