java字符串练习题1、反向输出字符串

简介: java字符串练习题1、反向输出字符串

java字符串练习题1、反向输出字符串


 

反向输出字符串,这里的含义是给定一个字符串例如:我爱你,反向输出的结果就是:你爱我。

在基础的字符串长度中我们可以很简单的调换,甚至直接反向通过下标的方式进行输出,但是如果很多呢,那么我们就来分析一下,然后对比一下相同长度的字符串反向输出那种效率最高。

测试语句就是【我爱你】以及输出【你爱我】。

方法1:下标直接反向charAt输出

charAt(int index) 方法直接了当,它是将字符串按照index索引抽出来,抽出后每一个字符都是一个独立的String类型,所以我们反向输出即可。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    for (int i = s.length()-1; i > -1; i--) {
      System.out.print(s.charAt(i));
    }
  }
}

方法2:toCharArray字符串转char数组反向输出法

我们使用toCharArray直接通过下标反向输出即可。下面是代码示例,与方法1类似,我们没有测试效率呢,一会测试看看。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    char[] arr = s.toCharArray();
    for (int i = arr.length-1; i > -1; i--) {
      System.out.print(arr[i]);
    }
  }
}

输出结果:

方法3、StringBuilder反向输出函数reverse()

由于StringBuilder直接给了反向输出的函数,我们直接调用即可。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    StringBuffer sb = new StringBuffer(s);
    String s1 = sb.reverse().toString();
    System.out.println(s1);
  }
}

效果:

运行效果测试:

给定最终测试字符串:约1800字

1、春水四泽是你的爱恋,夏云绕峰是你的缠绵,秋月扬辉是你的温柔,冬梅喜雪是你的情缘。
2、想你没有理由,爱你没有理由,在白天你是太阳,在夜晚你是月亮,下雨了你是我的雨伞,天冷了你是我的衣裳。
3、春宵酒醒,芬芳何寻?
4、你的微笑藏在我心里,春风吹我为你动了情,明月照我思念着你,往事历历在梦里,今生注定爱着你,真心真意永不分离。
5、缘起,在人群中,我看见你。缘灭,我看见你,在人群中。
6、如果可以和你在一起,我宁愿让天空所有的星光全部损落,因为你的眼睛,是我生命汇总最亮的光芒。
7、看到你的第一眼,我知道了什么叫一见钟情,从此,我要用心呵护你一辈子,祝你天天开心,永远漂漂亮亮。
8、答案很长,我准备用一生时间来回答,你准备听了吗?
9、相爱是一种很美好的感觉,与你相识、相知、相爱成就了这种美好,我深爱你和感谢你!愿与你携手一生,相恋、相伴、相守一辈子!
10、情话是看来的,情书是抄来的,套路是学来的,玫瑰是偷来的,勇气是借来的,爱你是天生的。
11、如果喜欢什么人,就要去找她,别在原地等哦。
12、我多么希望靠近你,感觉你散发的诱人的气息;多么希望你抱着我,体会那幸福的感觉!真的好想你!让我们用多一点点的辛苦,来交换多一点点的幸福。
13、两个人相遇,在一起不是目的,目的是要在那些“在一起”的日子一直保有初次见面的热切,欣喜和新鲜。为了对方,每天努力变得不一样,有新鲜空气的相守值得期待,呼吸彼此废气共度余生,就辜负了初遇的缘分。相爱不仅是朝夕相处,更是结伴前行。
14、因为爱你,所以我肝脑涂地!
15、亲爱的,我愿化作满天的星星,为你祝福,我愿成为甘甜的露水,滋润你生气的心灵,我愿做牛做马,只求你的一句可以宽恕。
16、在爱情的世界里,我一无所有,也一无所知,在情感的小站里,我愿你是第一位来客,也是永远的主人,伴着我宠着我:一生一世!
17、曾经人生酸辣苦,有了你之后,便凑齐了甜。
18、我是一条小小的船,船上装满了对你的爱。我经过风暴,游过险滩,不顾一切向你划来。你永远是我停泊的边岸,你永远是我避风的港湾。
19、时间过得真快,一转眼,进入盛夏,暑气逼人。算了算,离最近一次写心情日志的时间,已经过去一个多月了。再敲键盘,指尖生涩,似有许多话要说,却又一时不知从何说起。
20、少和别的女孩子说话,晚上早点睡觉别熬夜。
21、我曾踏月而来,只因你在山中。
22、微风轻轻起,我好喜欢你。
23、走过曲曲折折,才懂得家最温馨。
24、你愿意做我的女朋友吗?如果不愿意,那就换我做你的男朋友!
25、总有一天,你会遇到一个彩虹般绚烂的人,怦然而心动,就如我。
26、不论天涯海,只要你需要我的时候,我就会“飞”回你的身边。
27、是缘分太少,离别太早,互相珍重,就好。
28、我们从来没有抱怨过老天的不公,只是默默的努力、彼此的鼓励。因为我们相信只有努力才可以得到需要的。真心的谢谢你陪我一路走来。
29、如果说每一次选择就是一种放弃,那么就要看你是否承受得了那些放弃!选择了你我放弃了所有的不幸!
30、想把世界都给你,惯到生活不能自理。
31、你可知我百年的孤寂,只为你一人守候千夜的恋歌,只为你一人而唱。
32、日子过得很慢,生活过得很烂,除了想你,其他,我什么都做不好。
33、曾经迷惘的心中,是你牵引我走出寂寞。
34、未来的日子里,希望每天都有你!
35、亲爱的,没有我的日子里你一个人还好吗?只要两颗心在一起,就不怕寂寞来袭。在没有我的日子里,记得照顾好自己哦!
36、抱着你是一种快乐,吻着你是一种陶醉,爱着你是一种刻骨铭心,所以我会用我的一生来换取这份感觉!
37、我一生最奢侈的事,就是途中与你相遇,然后相濡以沫,共闻花香。
38、这世界最好看的风景,最动人的情话,都比不上你看着我时含笑的眼睛。
39、你听听我的心跳,有没有发现,我对你心动了。
40、遇到你心跳加快,不见你心情变坏,梦见你时间溜得太快,拥有你是不是漫长的等待?
41、没有尊重,爱会走掉。没有在乎,爱会无聊。没有诚实,爱会不爽。没有信任,爱会不牢。
42、距离不代表分离;没联络不代表忘记;没通电话不代表冷落;没见面更不是没关心你;在凉爽的季节里,我会牵挂你!
43、喜欢你,用打字很容易,用写的也很容易,别人说的也很容易,可是为什麼当著你的面,我就是说不出来。
44、原谅我将你的手机号码告诉了一个陌生人,他叫丘比特,他要帮我告诉你;我心喜欢你,我心在乎你,我心等待你。
45、别人都说我们的关系就像鱼和水。我想做你这个水里的鱼!

方法1用时4毫秒

方法2用时5毫秒

方法3用时1毫秒

总结

总效率上看,方法3用时最少,仅仅1毫秒,方法3通过StringBuilder的反向输出函数reverse()效率是最高的。

相关文章
|
22天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
137 83
|
1月前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
106 60
|
22天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
53 26
|
26天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
44 8
|
1月前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
48 6
|
2月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
57 15
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
53 4
|
7月前
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
76 0
|
4月前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
74 1
|
4月前
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
200 0
下一篇
DataWorks