内容:String方法+练习

#######################################
比较方法:equals()
字符串长度:int length()
字符的位置:int indexOf(ch,fromIndex);
获取指定位置上的字符:char charAt(int)
获取部分字符串:String substring(int start,int end);
字符串变成数组:toCharArray()

String方法查找练习:
         * 1,字符串是否以指定字符串开头。结尾同理。
         *         boolean startsWith(string)
         *         boolean endsWith(string)
         *
         * 2,字符串中是否包含另一个字符串。
         *         boolean contains(string);
         *         int indexOf(string)//如果返回-1,表示不存在。
         *
         * 3,字符串中另一个字符串出现的位置。
         *         int indexOf(string)
         * 4,将字符串中指定的字符串替换成另一个字符串。
         *         String replace(oldstring , newstring)
         *
         * 5,字符串如何比较大小?
         *
         * 6,将字符串转成一个字符数组。或者字节数组。
         *         toCharArray()
         *         getBytes()
         * 7,将字母字符串转成大写的字母字符串。
         *         toUpperCase()
         *         toLowerCase();
         * 8,将字符串按照指定的方式分解成多个字符串, "lisi,wangwu,zhaoliu"获取三个姓名。
         *         String[] split(string);

#compareTo(对象)  对象比较方法

############查找一个字符串里面有多少个另外一个字符串

 public class StringTest2_2 {
public static void main(String[] args) {
/*
* 案例二:
* "witcasteritcasttyuiitcastodfghjitcast"有几个itcast
*
* 思路:
* 1,无非就是在一个字符串中查找另一个字符串。indexOf。
* 2,查找到第一次出现的指定字符串后,如何查找第二个呢?
* 3,无需在从头开始,只要从第一次出现的位置+要找的字符串的长度的位置开始向后查找下一个第一次出现的位置即可。
* 4,当返回的位置是-1时,查找结束。
*/
String str = "witcasteritcasttyuiitcastodfghjitcast";
String key = "itcast"; int count = getKeyCount(str,key);
System.out.println("count="+count);
/*
int x = str.indexOf(key,0);//从头开始找。
System.out.println("x="+x); int y = str.indexOf(key,x+key.length());//从指定起始位开始找。
System.out.println("y="+y); int z = str.indexOf(key,y+key.length());//从指定起始位开始找。
System.out.println("z="+z); int a = str.indexOf(key,z+key.length());//从指定起始位开始找。
System.out.println("a="+a); int b = str.indexOf(key,a+key.length());//从指定起始位开始找。
System.out.println("b="+b);
*/
} /**
* 获取key在str中出现次数。
*/
public static int getKeyCount(String str, String key) { //1,定义变量。记录每一次找到的key的位置。
int index = 0;
//2,定义变量,记录出现的次数。
int count = 0; //3,定义循环。只要索引到的位置不是-1,继续查找。
while((index = str.indexOf(key,index))!=-1){ //每循环一次,就要明确下一次查找的起始位置。
index = index + key.length(); //每查找一次,count自增。
count++;
}
return count;
} }

##################另外一个程序:要求,将该字符串按照长度由长到短打印出来

public class StringTest2_3 {
public static void main(String[] args) {
/*
* 案例三: "itcast_sh"要求,将该字符串按照长度由长到短打印出来。 itcast_sh itcast_s tcast_sh
*/
String str = "itcast";
printStringByLength(str);
}
public static void printStringByLength(String str) {
// 1,通过分析,发现是for嵌套循环。
for (int i = 0; i < str.length(); i++) {
for (int start = 0, end = str.length() - i; end <= str.length(); start++, end++) {
//根据start,end截取字符串。
String temp = str.substring(start, end);
System.out.println(temp);
}
}
}
}

016.2 String的更多相关文章

  1. C#和Java中执行SQL文件脚本的代码(非常有用)

    原文:C#和Java中执行SQL文件脚本的代码(非常有用) 我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析 去 ...

  2. IOS_DatePicker_PickerView_SegmentControl_键盘处理

    H:/0712/01_UIController_MJViewController.m // MJViewController.m // 01-总结复习 // Created by apple on 1 ...

  3. 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。

    入侵(暴风雨前的宁静) 下午阳光甚好,想趁着安静的周末静下心来写写代码.刚过一个小时,3点左右,客服MM找我,告知客户都在说平台登录不了(我们有专门的客户qq群).看了下数据库连接数,正常.登录阿里云 ...

  4. Java String Class Example--reference

    reference:http://examples.javacodegeeks.com/core-java/lang/string/java-string-class-example/ 1. Intr ...

  5. mysql进阶(二十二)MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字符输入错误

    MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1中文字符输入错误 在实验 ...

  6. java Illegal unquoted character ((CTRL-CHAR, code X)): has to be escaped using backslash to be included in string value

    今天在同步日志到ES的时候出现转换Json后 存到es中报这个错. Illegal unquoted character ((CTRL-CHAR, code X)): has to be escape ...

  7. [C/C++] String Reverse 字符串 反转

    #include <iostream> #include <string> #include <algorithm> #include <cstring> ...

  8. 透过WinDBG的视角看String

    摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...

  9. JavaScript String对象

    本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...

随机推荐

  1. JetBrains 产品激活码

    激活码 K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVOYW1lIjoibnNzIDEwMDEiLCJhc3NpZ25lZU5hb ...

  2. cursor : 普通,带参,可更新的游标。使用游标遍历时,强烈建议用for循环!!!

    cursor: 源数据表account中仅有两条记录: 如果输出在判断前,则出错,将最后一条记录输出两次,如下: 所以,一定要先判断notfound再输出结果: exit when (c%notfou ...

  3. php访问mysql数据库的步骤

    官方说5.5开始就废弃mysql_query()这块东西很多,当然常用的就几个还是看手册吧. 这里简单记录一下.在我失忆之后可以找回一点记忆.最近一直用框架原生的都快忘了. 1.打开mysql连接 $ ...

  4. API ,批量添加

    添加引用:cors using   system.web.http.cors API添加这句话:       [EnableCors("*", "*", &qu ...

  5. [LeetCode]Maximum Subarray题解

    Maximum Subarray: Find the contiguous subarray within an array (containing at least one number) whic ...

  6. 标签设置为inline-block后,如何消除标签之间的间隔。

    标签设置为inline-block后,如何消除标签之间的间隔. 例如: <div> <ul> <li><a href="#">学习& ...

  7. C# Task.FromResult的用法

    Task.FromResult用来创建一个带返回值的.已完成的Task. 场景一:以同步的方式实现一个异步接口方法比如有一个接口包含异步方法. interface IMyInterface { Tas ...

  8. ThreeJs 选中物体事件

    选中物体变红色demo: https://threejs.org/examples/#webgl_raycast_sprite <!DOCTYPE html> <html lang= ...

  9. Linux 重置root密码

    1.首先输入:sudo passwd root(设置root密码) 2.输入当前系统的账户密码(账户:my的密码) 3.输入新的root密码,确认新 4.密码,密码更新成功 5.在提示符处输入:su按 ...

  10. CAD增强属性块的还原(转)

    来自:http://blog.3snews.net/space.php?uid=13924959&do=blog&id=70174 作者:毛毛虫 Demo下载:CAD增强属性块的还原 ...