java字符
先定义字符串String
String str = "aeiou";
定义字符 x 并取出其中第 i 个字符
char x = str.charAt( i );
若 i = 3 ,输出 x 的值为 "o"
对于字符串数组的大小排序,首先需要做的就是比较两个字符串的大小,如果直接使用>或<等符号比较字符串的大小,会直接报出错误:The operator > is undefined for the argument type(s) java.lang.String, java.lang.String。下面介绍两种比较方法:
方法1——可以通过如下的规则进行比较:
1.比较对应位置字母的ASCII码值的大小;
2.如果其中一个字符串的所有字符的ASCII码值都和另一个字符串相等,则直接比较字符串的长度,例如:abc<abcd。
方式一:(未理解)
public class StringArraySort { public static void main(String[] args) { String[] input=new String[] {"tmc","apad","apache","nihao","nihaoa"}; String[] output=arraySort(input); for (String out:output) { System.out.println(out); } } public static String[] arraySort(String[] input){ for (int i=0;i<input.length-1;i++){ for (int j=0;j<input.length-i-1;j++) { if(isBiggerThan(input[j],input[j+1])){ String temp=input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; } /*如果first大于second,则返回true,否则返回false * */ private static boolean isBiggerThan(String first, String second){ if(first==null||second==null||"".equals(first) || "".equals(second)){ System.out.println("字符串不能为空!"); return false; } char[] arrayfirst=first.toCharArray(); char[] arraysecond=second.toCharArray(); int minSize = Math.min(arrayfirst.length, arraysecond.length); for (int i=0;i<minSize;i++) { if((int)arrayfirst[i]>(int)arraysecond[i]){ return true; }else if((int)arrayfirst[i] < (int)arraysecond[i]){ return false; } } if(arrayfirst.length>arraysecond.length){ return true; }else { return false; } }
方式二:
方法2—— 可以用compareTo(String)方法,此外还有compareToIgnoreCase(String) 忽略大小写:
1.compareTo(String)方法返回值是int类型的,如果字符串相等返回值为0,不相等则返回其他数值;
2.比较时是从第一个字符开始,依次比较对应字符的大小(ASCII码值),如果第一个字符和待比较字符串的第一个字符不等,则结束比较并返回他们之间的差值(ASCII码的差值);
3.如果第一个字符相等,则继续比较后边的字符,直到比较完成。
1 public class StringArraySort { 2 3 public static void main(String[] args) { 4 String[] input=new String[] {"tmc","apad","apache","nihao","nihaoa"}; 5 String[] keys=arraySort(input); 6 for (String key : keys) { 7 System.out.println(key); 8 } 9 } 10 11 public static String[] arraySort(String[] input){ 12 for (int i=0;i<input.length-1;i++){ 13 for (int j=0;j<input.length-i-1;j++) { 14 if(input[j].compareTo(input[j+1])>0){ 15 String temp=input[j]; 16 input[j]=input[j+1]; 17 input[j+1]=temp; 18 } 19 } 20 } 21 return input; 22 }
对于字符串的排序
字符串数组的排序(三)_两个蝴蝶飞的博客-CSDN博客_字符串数组排序
字符串比较大小,CompareTo来搞定!_weixin_34315665的博客-CSDN博客
注意:下面那个是比较:
在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。 equals() 方法 equals() 方法将逐个地比较两个字符串的每个字符是否相同。Java字符串比较(3种方法) (biancheng.net)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术