Zebe_32 Zebe_32
关注数: 26 粉丝数: 10 发帖数: 105 关注贴吧数: 4
String类方法 分类整理记忆策略 分为“转、处、测、取、比”五类(注:省略了参数,主要是为了说明作用,且只列举了常用方法) 第一块:转换类(to开头的,以及所有的valueOf) toLowerCase(),将字符串转换为小写形式 toUpperCase(),将字符串转换为大写形式 toCharArray(),将字符串转换为字符数组(需要一个新的char[]数组来保存) valueOf(xxx),将xxx类型的数据转换为String类型(几乎所有的类型都可以转) 第二块:处理类(此类包含一些高级用法,比如split可以分割多个字符串) trim(),去除前导空白和尾部空白 split(),对字符串进行分割 concat(),与其他字符串进行连接(一般不常用) replace(),替换字符串 第三块:测试类(都返回一个boolean值) startsWith(),测试是否以指定的字符串开头 endsWith(),测试是否以指定的字符串结尾 isEmpty(),测试是否为空串(不等于null) 第四块:取值类(凡是区间取值的,包含from,不包含to) length(),返回字符串的长度(字符个数) subString(),返回字符串的子字符串(可指定) charAt(),返回字符串中指定索引处的字符 indexOf(),返回指定字符在字符串中第一次出现处的索引值 lastIndexOf(),返回指定字符在字符串中最后一次出现处的索引值 getBytes(),返回字符串的编码序列(需要一个新的byte[]数组来保存) 第五块:比较类(凡是没有IgnoreCase的,都要区分大小写) compareTo(),以字典顺序比较字符串是否相同,区分大小写 compareToIgnoreCase(),以字典顺序比较字符串是否相同,忽略大小写 equals(),与指定的对象比较,若相同则返回true,区分大小写 equalsIgnoreCase(),与另一个字符串比较,若相同则返回true,忽略大小写(注意不是与对象比较)
【抛砖引玉】深入理解for循环运行机制及break和continue的作用 深入理解for循环及流程控制。在标准的for循环结构中:for(初始化;条件;迭代),初始化部分仅执行一次。当这个循环被运行,它就执行了。在之后运行的过程中,即使用跳转语句重新跳转到这个循环的开始处,这个初始化部分也不会被再次执行。 要深入理解for循环,就必须理解break和continue语句的真正作用。通过下面这个例子,可以深刻理解for循环的工作原理,以及break和continue语句。 public static void main(String[] args) { int i =0; // 声明一个整型变量 i,赋初值为0 for(i=1;i<=10;i++){ // 建立一个循环,从1到10,迭代器每次递增1 if(i==5){ // 当迭代器的值等于5时, System.out.println("break"); // 在控制台打印一个break消息 break; // 中断循环 } } System.out.println("循环结束。当前 i 的值="+i); } 执行以上程式,控制台输出的 i 的值是5。现在分析它运行的过程: A 程序运行,i 的值等于0。 B 进入for循环,执行此结构中初始化部分,执行后,i 的值等于1。 C 判断i<=10条件是否成立?若成立则执行D,否则执行G。 D 执行循环体。如果 i 等于5,执行E;否则,执行F。 E 在控制台打印出“break”,然后中断循环,执行G。 F 迭代器递增1,即 i 的值增1,然后执行C。 G 执行for循环后的语句,在控制台打印出当前 i 的值。 以上就是for循环工作的过程。首先运行初始化部分,运行后判断条件是否成立,如果成立就执行循环体,否则直接跳过循环。执行循环体后,执行迭代部分,执行完后,循环增量发生了变化,继续判断是否满足条件,若满足条件就继续执行循环体,然后再执行迭代部分,以此类推,直到迭代部分得到的值不满足条件时,循环结束。 在以上的程序中,如果循环体为空,即什么内容都不执行,仅运行一个空循环,最后输出的 i 的值是多少呢?答案是11。因为 i 是在方法内部被定义的,所以整个方法内部有效,当循环执行完后,循环中的迭代器最后一次将 i 的值调到了11,这样就导致了循环结束。所以最后输出的结果是11。这也说明了一个问题,迭代器在for循环的工作流程中,它在首次循环过后就正式“上班”,而初始化部分正式“辞职”。 continue语句的作用又是什么呢?如果将上面程式中的break语句换成continue。那么最后输出的结果是11。continue的功能应当如何理解? “中断本次循环,重新回到循环语句的调用处开始新一轮的循环”。在很多书籍和资料上都这样说明它的作用,这很容易让人产生误解,主要是"中断"和“新的一轮循环”这两句话可能产生误解。如果本次循环中断了,开始新的一轮循环,那么迭代器的值究竟是多少,会被初始化部分重新初始化吗?还是使用现在的值呢?上面已经说到,迭代器在for循环的工作流程中,它在首次循环过后就正式“上班”,而初始化部分正式“辞职”。 也就是说,初始化部分早就“辞职”了,不可能再继续“工作”,而迭代器仍然在勤奋的“工作”。当使用了continue这个语句之后,它首先忽视掉自身后面所有的语句,然后通知迭代器继续“工作”。于是,迭代器再次发生变化,再次判断,再次执行或者结束循环。这才是“中断本次循环”的真正含义 ,它并不是停止,而是中断。何谓中断,可以理解为“从中间断开”,从continue这个语句所在的地方断开。因此这个语句的作用可以概括为“忽略之后的语句,通知循环继续工作”。这个语句的好处就在于能够跳过那些暂时不需要被执行的语句。 在下乃新手中的新手,首发原创贴,以证明自己确实又向前迈进一小步了,呵呵。这是自己对for循环以及流程控制的理解,有误之处还请各位指出。
1 下一页