import java.util.Scanner; /** * 字符串的反转 * @lcs2017年4月15日 */ public class TestNum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("输入一个字符串:"); String str = sc.next(); System.out.println("字符串反转结果:"+new StringBuilder(str).reverse().toString()); } }
import java.util.Scanner; /** * 数字的反转 * @lcs2017年4月15日 */ public class TestNum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("输入一个正整数:"); int num = sc.nextInt(); int rev = 0; for (; ;) { int a = num%10; rev = rev*10+a; num = num/10; if(num == 0) break; } System.out.println("反转后的数字:"+rev); } }
数组元素反转(就是把元素对调)
方式1:
public static int[] reverseArray(int[] arr) { for (int i = 0; i < arr.length/2; i++) { arr[i]= arr[i]+arr[arr.length-1-i]; arr[arr.length-1-i]=arr[i]-arr[arr.length-1-i]; arr[i] = arr[i]-arr[arr.length-1-i]; } return arr; } public static void main(String[] args) { int[] arr = {1,3,6,8,2,4,9}; int[] reverseArray = reverseArray(arr); for(int j = 0 ; j < arr.length;j++){ System.out.print(reverseArray[j]); } }
方式2:
public static int[] reverseArray(int[] arr) { for (int i = 0; i < arr.length/2; i++) { int a = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = a; } return arr; } public static void main(String[] args) { int[] arr = {1,3,6,2,8,4,9}; int[] array = reverseArray(arr); for(int j = 0 ; j < arr.length;j++){ System.out.print(array[j]); } }
import java.util.ArrayList; /** * 数组的反转 * @lcs2017年4月15日 */ public class TestNum { public static void main(String[] args) { int[] arr = {1,3,6,8,2,4,9}; for (int i = 0; i < arr.length/2; i++) { int a = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = a; } ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 0; i < arr.length; i++) { list.add(arr[i]); } System.out.println("反转后的数组元素:"+list); } }
String、StringBuffer与StringBuilder之间区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String
StringBuilder:线程非安全的
StringBuffer:线程安全的
当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因
对于三者使用的总结:
1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer