Java学习案例二

文章介绍了Java中字符串的比较方式,包括使用`==`和`equals()`函数,以及如何遍历字符串并计数大写字母、小写字母和数字的出现次数。此外,还展示了字符串反转的案例,并详细讲解了StringBuilder类的使用,包括其特性、与String之间的转化以及如何利用StringBuilder进行字符串反转操作。
摘要由CSDN通过智能技术生成

接上一篇文章

1.字符串比较与字符串地址比较

public class ArithmeticoperatorDem1 {
    public static void main(String[] args) {
        //构造方法的方式得到对象
        char[]chs={'a','b','c'};
        String s1=new String(chs);
        String s2=new String(chs);
        System.out.println(s1==s2);
        //直接赋值的方式得到对象
        String s3="abc";
        String s4="abc";
        System.out.println(s3==s4);
        //比较字符串对象地址是否相同
        System.out.println(s1==s3);
    }
}

2.使用equals()函数比较两个字符串的内容是否相同

public class ArithmeticoperatorDem2 {
    public static void main(String[] args) {
        //字符串的比较
        //使用==号做比较
        //基本类型:比较的是数据值是否相同。引用类型:比较的是地址值是否相同
        //字符串是对象,他比较内容是否相同,是通过一个方法来实现的,方法叫:equals()
        //构造方法的方式得到对象
        char[]chs={'a','b','c'};
        String s1=new String(chs);
        String s2=new String(chs);
        //直接赋值的方式得到对象
        String s3="abc";
        String s4="abc";
        //比较字符串对象地址是否相同
        System.out.println(chs);
        System.out.println(s1==s3);
        System.out.println(s1==s2);
        System.out.println(s3==s4);
        //比较字符串内容是否相同
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));
    }
}

3.逐个字母遍历输入的字符串

public class ArithmeticoperatorDem3 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line=sc.nextLine();
        for(int i=0;i<line.length();i++){
            System.out.println(line.charAt(i));
        }
    }
}

4.循环遍历记录字符串中大写字母,小写字母与数字出现的次数

public class ArithmeticoperatorDem4 {
    public static void main(String[] args) {
        //统计字符次数,键盘录入一个字符串,统计该字符串中大写字符次数,小写字母次数,数字字符出现次数(不考虑
        //其他字符)
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String line=sc.nextLine();
        int bigcount=0;
        int smalcount=0;
        int numbercount=0;
        for(int i=0;i<line.length();i++){
            char a=line.charAt(i);
            System.out.println();
            if(a>='A'&&a<='Z'){
                bigcount+=1;
            } else if (a>='a'&&a<='z') {
                smalcount+=1;
            } else if (a>='0'&&a<='9') {
                numbercount+=1;
            }
        }
        System.out.println("大写字母出现的次数为:"+bigcount);
        System.out.println("小写字母出现的次数为:"+smalcount);
        System.out.println("数字出现的次数为:"+numbercount);
    }
}

5.循环遍历字符串

public class ArithmeticoperatorDem5 {
    public static void main(String[] args) {
        int arr[]={1,2,3};
        String s=arrayToString(arr);
        System.out.println(s);
    }
    public static String arrayToString(int[]arr){
        String s="";
        s+="[";
        for(int i=0;i<arr.length;i+=1){
            if(i==arr.length-1){
                s+=arr[i];
            }else {
                s+=arr[i];
                s+=",";
            }
        }
        s+="]";
        return s;
    }
}

6.字符串反转案例

public class ArithmeticoperatorDem6 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String line=sc.nextLine();
        String s=reverse(line);
        System.out.println("反转后");
        System.out.println(s);
    }
    public static String reverse(String s){
        String ss="";
        for(int i=s.length()-1;i>=0;i--){
            ss+=s.charAt(i);
        }
        return ss;
    }
}

7.StringBuilder案例

public class ArithmeticoperatorDem7 {
    public static void main(String[] args) {
        //public StringBuilder();创建一个空白可变字符串对象,不含有任何内容
        StringBuilder sb=new StringBuilder();
        System.out.println("sb:"+sb);
        System.out.println(sb.length());
        StringBuilder sb2=new StringBuilder("hello");
        System.out.println("sb2:"+sb2);
        System.out.println(sb2.length());
    }
}

8.StringBuilder特性

public class ArithmeticoperatorDem8 {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb=new StringBuilder();
        StringBuilder sb2=sb.append("hello");
        System.out.println("sb"+sb);
        System.out.println("sb2:"+sb2);
        System.out.println(sb==sb2);
        //链式编程
        sb.reverse();
        System.out.println(sb);
    }
}

9.String和StringBuilder相互转化

public class ArithmeticoperatorDem9 {
    public static void main(String[] args) {
        //StringBuilder转化为String
        StringBuilder sb=new StringBuilder();
        sb.append("hello");
        //String s=sb;错误
        //String是一个大类,StringBuilder是其中的方法
        //public String toString();通过toStringBuilder转换为String
        String s=sb.toString();
        System.out.println(s);
        //String 转换为StringBulider
        String e="hello11";
        //StringBuilder s=e;错误
        //public StringBuilder(String s);通过构造方法就可以实现方法把String转换为StringBuilder
        StringBuilder s2=new StringBuilder(e);
        System.out.println(s2);
    }
}

10.String转换为StringBuilder调用reverse方法最后转回String

public class ArithmeticoperatorDem10 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line=sc.nextLine();
        String s = myReverse(line);
        System.out.println("s:"+s);
    }
    public static String myReverse(String s){
        StringBuilder sb=new StringBuilder(s);
        sb.reverse();
        String ss= sb.toString();
        return ss;
        //链式编程方案 return new StringBuilder(s).reverse().toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

煎饼果子小鸢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值