016.2 String
内容: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的更多相关文章
- C#和Java中执行SQL文件脚本的代码(非常有用)
原文:C#和Java中执行SQL文件脚本的代码(非常有用) 我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析 去 ...
- IOS_DatePicker_PickerView_SegmentControl_键盘处理
H:/0712/01_UIController_MJViewController.m // MJViewController.m // 01-总结复习 // Created by apple on 1 ...
- 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。
入侵(暴风雨前的宁静) 下午阳光甚好,想趁着安静的周末静下心来写写代码.刚过一个小时,3点左右,客服MM找我,告知客户都在说平台登录不了(我们有专门的客户qq群).看了下数据库连接数,正常.登录阿里云 ...
- Java String Class Example--reference
reference:http://examples.javacodegeeks.com/core-java/lang/string/java-string-class-example/ 1. Intr ...
- 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中文字符输入错误 在实验 ...
- 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 ...
- [C/C++] String Reverse 字符串 反转
#include <iostream> #include <string> #include <algorithm> #include <cstring> ...
- 透过WinDBG的视角看String
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...
- JavaScript String对象
本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...
随机推荐
- 用尾递归和普通递归实现n!算法,二者比较
尾递归 - Tail Recursion尾递归是针对传统的递归算法而言的, 传统的递归算法在很多时候被视为洪水猛兽. 它的名声狼籍, 好像永远和低效联系在一起.尾递归就是从最后开始计算, 每递归一次就 ...
- 问题集录--新手入门深度学习,选择TensorFlow 好吗?
新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...
- 使用StackPanel进行简单地布局
尽管StackPanel非常简单,但是其实用性也非常强 ,Stackpanel将子元素以堆叠的形式 排列在一行或一列.通常建议使用该控件对于一些小范围内的控件进行布局. 如果要架设用户控件的框架结构, ...
- GraphQL介绍&使用nestjs构建GraphQL查询服务
GraphQL介绍&使用nestjs构建GraphQL查询服务(文章底部附demo地址) GraphQL一种用为你 API 而生的查询语言.出自于Facebook,GraphQL非常易懂,直接 ...
- PHP高级工程师面试 - 笔试题
Part1:HTTP协议 1.状态码的含义 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求 ...
- 判断php变量是否定义,是否为空,是否为真的一览表
分类: 使用 PHP 函数对变量 $x 进行比较 表达式 gettype() empty() is_null() isset() boolean : if($x) $x = ""; ...
- Kinect1驱动 PCL OpenCV ROS 安装
1. OpenCV安装 1)在终端安装依赖项sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev li ...
- uwsgi/uWSGI/WSGI简介
参考文章 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换.z WSGI是一种Web服务器网 ...
- 理解position:relative
前言:position有5个属性:static.absolute.relative.fixed和inherit.本篇博客主要介绍relative属性,因为似乎很多人对这个属性的理解很模糊,而且不清楚r ...
- C#基础-for循环执行顺序
for(表达式1;表达式2;表达式3) {循环体} 执行顺序:1-表达式1赋值 2-判断表达式2是否为真 3-表达式2如果为否跳出for循环,如果为真执行循环体 4-执行表达式3 5-判断表达式2继续 ...