java reverse string tutorial with programming examples
이 튜토리얼에서는 예제의 도움으로 StringBuilder 및 StringBuffer 클래스의 Reverse () 메소드를 사용하여 Java에서 문자열을 반전하는 방법을 배웁니다.
여기서는 reverse () String Java 메서드와이 메서드의 적용 가능한 영역에 대한 아이디어를 제공하는 충분한 프로그래밍 예제, FAQ 및 시나리오 기반 질문과 함께 사용법에 대해 설명합니다.
이 튜토리얼을 진행하면 reverse () String Java 메소드를 더 잘 이해할 수 있고 다양한 String 핸들링 프로그램에 직접 적용 할 수 있습니다.
=> 처음부터 Java를 배우려면 여기를 방문하십시오.
학습 내용 :
자바 리버스 문자열
시작하기 전에 Java String 클래스는 불변이며 reverse () 메서드가 없다는 것을 이해해야합니다. 그러나 StringBuilder 및 StringBuffer 클래스에는 내장 된 Java reverse () 메소드가 있습니다.
이름에서 알 수 있듯이 reverse () 메서드는 문자열의 모든 문자 발생 순서를 반대로하는 데 사용됩니다.
통사론:
StringBuffer reverse()
StringBuffer 역방향 문자열
이 예에서 , 문자열 변수를 초기화하고 해당 문자열의 모든 문자를 StringBuffer에 저장했습니다. 그런 다음 reverse () 메서드를 사용하여 문자열의 문자 발생을 반대로했습니다.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); // Printed the StringBuffer System.out.println(sb); } }
산출:
StringBuilder 리버스 문자열
이 예에서 StringBuilder 클래스를 통해 문자의 발생을 되돌리려 고합니다. StringBuffer에서 사용한 것과 동일한 입력 값에 대해 reverse () 메서드를 수행하고 있습니다.
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuilder 'stbuilder' and stored all the characters of the String StringBuilder stbuilder = new StringBuilder(str); // Reversed the occurrence of characters stbuilder.reverse(); // Printed the StringBuilder System.out.println(stbuilder); } }
산출:
시나리오
시나리오 1 : StringBuilder 또는 StringBuffer reverse () 메서드를 사용하지 않고 문자열을 뒤집습니다.
설명: 이 시나리오에서는 reverse () 메서드를 사용하지 않고 문자열의 문자를 뒤집는 방법을 보여줍니다.
입력 문자열을 가져 와서 문자 배열로 변환했습니다. for 루프의 도움으로 문자를 역순으로 인쇄했습니다.
소프트웨어 테스트에서 테스트 데이터 관리 란?
public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'SAKET'; /* * converted String into character Array * and printed all the elements in * reverse order using for loop */ char chars() = str.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) { System.out.print(chars(i)); } } }
산출:
시나리오 2 : Split () 메서드를 사용하여 모든 문자를 뒤집습니다.
설명: 이것은 문자열의 문자 발생을 되 돌리는 또 다른 방법입니다. 이 시나리오에서는 Split () 메서드를 사용하여 String의 각 문자를 분할하고 for 루프를 사용하여 각 문자를 역순으로 인쇄합니다.
여기에서는 스캐너 클래스를 사용하여 콘솔을 통해 입력을 받았습니다.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; // Taking input through the console using Scanner Class Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Splitted each character of the String and then * printed the same in the reverse order using * for loop */ String() split = str.split(''); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ''); } } }
산출:
시나리오 3 : 스와핑을 사용하여 모든 문자를 뒤집습니다.
설명: 이것은 문자열의 문자를 뒤집는 또 다른 방법입니다. 여기서는 'i'와 길이 = 0을 초기화했습니다.
for 루프 내에서 'i'를 0으로 유지하고 초기 인덱스와 마지막 인덱스를 비교할 때마다 1 씩 증가하고 길이를 1 씩 감소시켜 양쪽의 문자를 구문 분석했습니다. 우리는 'i'가 길이의 '같음'또는 '크게'가 될 때까지이 조건을 계속했습니다.
마지막으로 forEach 루프를 사용하여 각 문자를 인쇄했습니다.
class Reverse { public static void main(String() args) { // Initialized an input String String str = 'PLEHGNITSETERAWTFOS SI SIHT'; // Converted the String into character Array char() arr = str.toCharArray(); int i, length = 0; length = arr.length - 1; for (i = 0; i 산출:
자주 묻는 질문
Q # 1) Java에 reverse () String 메소드가 있습니까?
대답: 아니요. String 클래스에는 reverse () 메서드가 없습니다. 그러나 String 클래스 자체에서 여러 방법을 사용하여 String을 뒤집을 수 있습니다. 또한 StringBuilder, StringBuffer 및 Collections는 reverse () 메서드를 지원합니다.
질문 # 2) StringBuilder를 String으로 어떻게 변환 할 수 있습니까?
대답: 다음은 StringBuilder에 저장된 요소를 String으로 변환 한 프로그램입니다.
public class Reverse { public static void main(String args()) { String strArr() = { 'This', 'is', 'an', 'Example', 'of', 'String' }; // Created a new StringBuilder StringBuilder sb = new StringBuilder(); /* * Appended all the elements of str (delimited by space) into StringBuilder */ sb.append(strArr(0)); sb.append(' ' + strArr(1)); sb.append(' ' + strArr(2)); sb.append(' ' + strArr(3)); sb.append(' ' + strArr(4)); sb.append(' ' + strArr(5)); // Converted the StringBuilder into it's String Equivalent String str = sb.toString(); System.out.println(str); } }
산출:
질문 # 3) String, StringBuilder 및 StringBuffer의 차이점을 나열 하시겠습니까?
소프트웨어 테스트의 버그는 무엇입니까?
대답: 아래는 String, StringBuilder 및 StringBuffer의 차이점입니다.
끈 StringBuffer StringBuilder 문자열은 불변 클래스입니다. StringBuffer는 동기화 된 (스레드 안전) Mutable 클래스입니다. StringBuilder는 동기화되지 않은 Mutable 클래스이기도합니다. String은 String 조작을 수행 할 때마다 새 String을 만들고 가비지 수집을 위해 이전 String을 던지기 때문에 StringBuffer 및 StringBuilder보다 덜 효율적입니다. StringBuffer는 덜 효율적입니다. StringBuilder는 StringBuffer보다 효율적입니다. String은 매번 새로운 인스턴스를 생성하기 때문에 여러 String을 연결할 때 StringBuffer보다 느립니다. StringBuffer는 StringBuilder보다 느립니다. StringBuilder는 동기화되지 않기 때문에 빠릅니다.
질문 # 4) Java에서 문자를 문자열로 어떻게 변환합니까?
대답: 내장 된 메소드 'toString ()'을 사용하여 문자를 문자열로 변환 할 수 있습니다.
추천 읽기 => 변환 방법 Java에서 문자를 문자열로
다음은 toString () 메서드를 사용하여 char를 String으로 변환 한 프로그램입니다.
public class Reverse { public static void main(String args()) { char chars = 'A'; /* * With the help of toString() method, we have * converted a Character into its String Equivalent */ String str = Character.toString(chars); System.out.println(str); } }
산출:
질문 # 5) 문자열이 회문인지 여부를 확인하는 Java 프로그램을 작성하십시오 (StringBuffer 사용).
대답: 문자열 리버스 프로그램 (위 그림 참조)을 사용한 다음 회문인지 여부를 확인하는 조건을 추가 할 수 있습니다.
예제 프로그램은 다음과 같습니다.
import java.util.Scanner; public class Reverse { public static void main(String() args) { // Initialized a String variable String str = 'racecar'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); /* * Stored the contents of StringBuffer into str2 * by converting it using toString() */ String str2 = sb.toString(); System.out.println('The Original String is: '+str); System.out.println('The reversed String is '+str2); if (str.equals(str2)) System.out.println('The String is palindrome'); else System.out.println('The String is not a palindrome'); } }
산출:
문 # 6) Java에서 문자열을 단어별로 반전하는 방법은 무엇입니까?
대답: 내장 된 Java String Split () 메소드를 사용하여 Java에서 문자열 (단어 단위)을 반전 할 수 있습니다. 해야 할 일은 Split () 메서드에 공백을 전달하는 것입니다.
아래 예제 프로그램을 확인하십시오.
import java.util.Scanner; public class Reverse { public static void main(String() args) { String str; /* Getting input from console using Scanner class * */ Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Used split() method to print in reverse order * delimited by whitespace */ String() split = str.split(' '); for(int i=split.length-1; i>=0; i--) { System.out.print(split(i) + ' '); } } }
산출:
문 # 7) StringBuilder는 스레드로부터 안전합니까? StringBuilder가 StringBuffer보다 빠른 이유는 무엇입니까?
대답: 아니요, StringBuilder는 스레드로부터 안전하거나 동기화되지 않습니다. StringBuffer는 스레드로부터 안전합니다. 따라서 StringBuilder는 StringBuffer보다 빠른 것으로 간주됩니다.
결론
이 튜토리얼에서 우리는 Java String reverse () 메서드와 String을 뒤집을 수있는 다양한 기술에 대해 배웠습니다.
또한 reverse () 메서드를 이해하는 데 도움이되는 충분한 FAQ와 프로그래밍 예제를 다루었습니다.
=> 모두를위한 Java 교육 시리즈를 보려면 여기를 방문하십시오.
추천 도서