String有很多方法,复习一下,把一些很少用的稍微过遍手,加强记忆,方便以后工程上直接使用

(1)length() 返回长度

(2)indexOf() 返回字符串中字符的下标  如:s.indexOf('a')  注意字符串下标从0开始

  同理 有 lastIndexOf()、 charAt()

(3)subString(int beginIndex, int endIndex ) 返回子字符串

(4)trim() 去空格   toLowerCase()全小写 同理 toUpperCase() 全大写

(5)replace(char old, char new) 某字符全替换

(6)startsWith(String begin)  返回布尔,判断是否以某串开头  同理有 endsWith()

(7)equals(String s) 判断是否字符串相等 等同于"=="判断 返回布尔 同理equalsIgnoreCase()

(8)format("%tX",Object...orgs) 格式化、常用于日期、时间的格式化

(9)正则表达式  判断字符串是否满足某一格式 如邮箱、密码

ps:很多时候需要字符转换,有方法可将字符串转换为数字:

int a=Intenger.parseInt(String s); //转为整数

double b=Double.valueOf(String s);//转为对应浮点数

简单练习代码如下,看了基本都清楚了。目的就是稍微过遍手拉熟悉下拉,方便工程快速使用

package re03;

import java.util.Date;

/**
* Description:String练习
*
* @author weber DateTime 2017年3月20日 下午2:38:36
*/
public class StringPractice { public String subStringPractice(String s) {
String sub = s.substring(0, s.length() - 5); // substring 取子字符串
sub.trim(); // trim 去空格
return sub;
} public boolean startEndPractice(String s) {
char sta[] = { s.charAt(0), s.charAt(1) }; //charAt 获取下标对应char
char en[] = { s.charAt(s.length() - 2), s.charAt(s.length() - 1) };
String start = new String(sta);
String end = new String(en);
return (s.startsWith(start) && s.endsWith(end)); //startsWith 判断是否以某字符串开头
} public boolean equalPractice(String s) {
return s.equalsIgnoreCase(s.toLowerCase().toUpperCase()); //equal 判断相等 toLowerCase 全小写
} public void formatPractice() {
Date d = new Date();
String day = String.format("%te", d); //format 格式化
String month = String.format("%tB", d);
String year = String.format("%tY", d);
String form = String.format("%tF", d);
System.out.println(form + "\n" + year + month + day);
} public void judgePractice(String s) {
String refer = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}"; //正则表达式
if (s.matches(refer))
System.out.println("合法邮箱");
else
System.out.println("不合法邮箱"); } public static void main(String[] args) {
String s = "http://www.cnblogs.com/weberweber/";
StringPractice p = new StringPractice();
System.out.println(p.subStringPractice(s));
System.out.println(p.startEndPractice(s));
System.out.println(p.equalPractice(s));
p.formatPractice();
p.judgePractice(s); }
}

数组同样也有一些方法,在这里简单复习熟悉:

(1)length  返回长度,二维数组b[][]有  b.length 和 b[i].length 两个方法

(2)fill(int arr[], int fromIndex, int toIndex , int value) 填充

(3)copyOf(Object arr, int length); 返回一个新数组  同理有 copyOfRange(Object arr, int fromIndex, int toIndex, int value)

(4)sort(Object arr) 从小到大排序,数字先于大写字母先于小写字母

(5)binarySearch(arr, int fromIndex, int to Index, int value) 返回索引到值的下标

简单练习代码如下,看了基本都清楚了。目的就是稍微过遍手拉熟悉下拉,方便工程快速使用

package re03;
import java.util.Arrays;
import java.util.Scanner;
public class ArrayPractice { public static void main(String[] args)
{
int a[]=new int[]{1,2,3};
int c[]=Arrays.copyOf(a,5); //copyOf练习
int b[][] = new int[2][3];
System.out.println(Arrays.toString(c)); //toString练习
for(int i:a){
System.out.println(i);
}
Arrays.fill(a, 2, 3 , 4); //fill练习
System.out.println(Arrays.toString(a));
Scanner sc = new Scanner(System.in);
for(int i=0;i<b.length;i++)
for(int j=0;j<b[i].length;j++)
{
b[i][j]=sc.nextInt();
}
sc.close();
Arrays.sort(b[1]); //sort练习
System.out.println(Arrays.toString(b[1]));
b[1][2]=5;
System.out.println(Arrays.binarySearch(b[1], 5)); //binarySearch练习 }
}

java复习(3)---字符串、数组的更多相关文章

  1. java语法:字符串数组的赋值

    字符串数组怎么赋值呢? 首先当然得先定义啦:String infoPack[] : 然后想当然的以为在for循环里,new一个数组, String infoPack[i] = imgurls; 事实证 ...

  2. Java解析Json字符串--数组或列表

    Json示例: [ { "age": 25, "gender": "female", "grades": "三 ...

  3. (Java)怎么去掉字符串数组中重复的值?

    String fdbs = "WXB,WXA,FDA,WXB"; String[] str = fdbs.split(","); Set set = new H ...

  4. 字符串数组与字符串之间的互转(join/split)

    1.Java 1-1.字符串数组=>字符串:StringUtils: join(Object[] array, String separator) 例: Java代码 收藏代码 import o ...

  5. java求字符串数组交集、并集和差集

    import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Ma ...

  6. java中如何将字符串数组转换成字符串(转)

    如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str = {"abc", "bcd", "def"} ...

  7. HW—指定字符替换Java(replace)---动态和静态定义字符串数组;

    总结: 语法层面上:这里主要用到Java字符串的替换函数,str.replaceAll("待替换的","替换成的").replaceAll接受的是正则花的reg ...

  8. java中把字节数组转换为16进制字符串

    把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...

  9. java字符串数组进行大小排序

    若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lan ...

随机推荐

  1. 图片流量节省大杀器:基于腾讯云CDN的sharpP自适应图片技术实践

    目前移动端运营素材大部分依赖图片,基于对图片流量更少,渲染速度更快的诉求,我们推动CDN,X5内核,即通产品部共同推出了一套业务透明,无痛接入的CDN图片优化方案:基于CDN的sharpP自适应图片无 ...

  2. Java面试10|数据库相关

    1.ID分配单点问题 系统使用一张表的自增来得到订单号,所有的订单生成必须先在这里insert一条数据,得到订单号.分库后,库的数量变多,相应的故障次数变多,但由于单点的存在,故障影响范围并未相应的减 ...

  3. Docker存储驱动之ZFS简介

    ZFS是下一代的文件系统,支持了很多存储高级特性,如卷管理.快照.和校验.压缩和重复删除技术.拷贝等. ZFS由Sun公司创建,现属于Oracle,ZFS是开源的,并基于CDDL license.因为 ...

  4. 2243: [SDOI2011]染色

    2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 3113  Solved: 1204[Submit][Status ...

  5. 算法模板——sap网络最大流 1(非递归+邻接矩阵)

    实现功能:首行输入N,M,S,T,代表这张图N个点,M条边,源点为S,汇点为T:接下来T行输入个边的出发点.终点和权值:输出最大流 原理:sap网络流算法(详见百度百科,个人觉得这个模板已经不错了,虽 ...

  6. 学习ASP.NET MVC(十一)——分页

    在这一篇文章中,我们将学习如何在MVC页面中实现分页的方法.分页功能是一个非常实用,常用的功能,当数据量过多的时候,必然要使用分页.在今天这篇文章中,我们学习如果在MVC页面中使用PagedList. ...

  7. commonJS的核心思想

    服务器端的 Node.js 遵循 CommonJS规范,该规范的核心思想是允许模块通过 require 方法来同步加载所要依赖的其他模块,然后通过 exports 或 module.exports 来 ...

  8. Oralce Plsql 中文显示乱码问题无需修改注册表完美解决

    此方法在其它版系统也可以解决 win10-64 plsql oracle 11g绿色版客户端 错误现象: 因为oracle用的是绿色版,无法设置注册表,尝试以下方法. 解决方法: 1.在plsql中查 ...

  9. 自学spring过程中碰到的问题list,一个一个解决

    1.spring的基本原理 2.spring注解有哪几种方式 3.什么情况下适合用哪种注解 4.@autowired @Resource 等的区别 5.spring是怎么使用反射的 6.cjlibe ...

  10. 任何一款IDE的设计思路

    我们以Windows操作系统为例.现在,基于操作系统的任何计算机语言,我们说都是高级语言,从C开始.无论是哪一种,都是通过操作系统的API与计算机交互.即便.Net的FrameWork库从一定意义上何 ...