题目:逆序遍历字符串"ABCDEFG"
实现思路:
使用StringBuilder创建对象,因为String字符串是不可变的,而StringBuilder内部的方法没有被final关键字修饰,所以将s1的字符串内容传给StringBuilder创建的对象ret1和ret2,内容就可以被改变,而s1的内存地址不会改变。
代码实现:
package com.ztt.Demo01;public class demo17 {public static void main(String[] args) {String s1="ABCDEFG";//方式1:逆序遍历,追加拼接至可变字符串的尾部StringBuilder ret1=new StringBuilder();for(int i=s1.length()-1;i>=0;i--) {char c=s1.charAt(i);ret1.append(c);//当前字符串拼接在字符串尾部}System.out.println(ret1);//方式2:StringBuilder ret2=new StringBuilder();ret2.reverse();//逆序System.out.println(ret2);}}
输出结果:
GFEDCBA
源码分析:
题目:逆序遍历字符串“我本将心照明月”
实现思路:
方式1:使用逆序遍历
方式2:使用顺序遍历
public class demo08 {public static void main(String[] args) {// TODO Auto-generated method stubString s="我本将心照明月";//保存逆序字符String ret="";//方式1:逆序for(int i=s.length()-1;i>=0;i--) {ret=ret+s.charAt(i);}System.out.println(ret);//方式2:顺序ret="";for(int i=0;i<s.length();i++) {ret=s.charAt(i)+ret;}System.out.println(ret);}}
输出结果:
月明照心将本我
月明照心将本我