学习蓝桥杯过程中总结day1

本文介绍了Java中字符串的基础操作,包括使用split方法进行分隔、增强for循环的应用以及字符串比较的方法。重点讲解了如何利用String类的compareTo方法来比较字符串大小,并提供了不同日期格式字符串比较的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1字符串的处理: String afterstr[]=str.split(";");//分号为分界符

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

        System.out.print(item + " ");
    }
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方法:

  String t1="20131011";
  String t2="20131030";
  int result = t1.compareTo(t2);

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

  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  Date d1 = sdf.parse(t1);
  Date d2 = sdf.parse(t2);
  long result = d1.getTime()-d2.getTime();

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

  int int1 = Integer.parseInt(t1);
  int int2 = Integer.parseInt(t2);
  int result = int1-int2;

注: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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值