您的位置:首页 > 其它

学习蓝桥杯过程中总结day1

2017-10-22 14:44 148 查看
1字符串的处理:String afterstr[]=str.split(";");//分号为分界符

2加强的for循环
 
for
 
(String item : chars) {


3字符串比较大小

用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2


有三种方法实现

第一种直接用字符串类的compareTo方法:

第二种是把这个日期字符串转换成long:

第三种是把日期字符串转换成整形int:

注:result大于0,则t1>t2;

       result等于0,则t1=t2;

       result小于0,则t1<t2;

'20131011'.comapreTo('20131030')

返回1表示大于,返回0表示相等,返回-1表示小于

千万别把字符串转成啥日期或整数类型再比较,那会贼慢,循环1百万遍就知道了

public class Hello {

public static void main(String args[]) {

String str1 = "20131030";

String str2 = "20131030"; // 技巧:comapreTo 正则大 负则小 相等为0

if (str1.compareTo(str2) > 0)

System.out.println(str1 + "比" + str2 + "大");

else if (str1.compareTo(str2) == 0)

System.out.println(str1 + "等于" + str2);

else

System.out.println(str1 + "比" + str2 + "小");

}

}

先用Integer.parseInt()转型,再相减就OK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: