java复习(3)---字符串、数组
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)---字符串、数组的更多相关文章
- java语法:字符串数组的赋值
字符串数组怎么赋值呢? 首先当然得先定义啦:String infoPack[] : 然后想当然的以为在for循环里,new一个数组, String infoPack[i] = imgurls; 事实证 ...
- Java解析Json字符串--数组或列表
Json示例: [ { "age": 25, "gender": "female", "grades": "三 ...
- (Java)怎么去掉字符串数组中重复的值?
String fdbs = "WXB,WXA,FDA,WXB"; String[] str = fdbs.split(","); Set set = new H ...
- 字符串数组与字符串之间的互转(join/split)
1.Java 1-1.字符串数组=>字符串:StringUtils: join(Object[] array, String separator) 例: Java代码 收藏代码 import o ...
- java求字符串数组交集、并集和差集
import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Ma ...
- java中如何将字符串数组转换成字符串(转)
如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str = {"abc", "bcd", "def"} ...
- HW—指定字符替换Java(replace)---动态和静态定义字符串数组;
总结: 语法层面上:这里主要用到Java字符串的替换函数,str.replaceAll("待替换的","替换成的").replaceAll接受的是正则花的reg ...
- java中把字节数组转换为16进制字符串
把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...
- java字符串数组进行大小排序
若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lan ...
随机推荐
- Java I/O之NIO Socket
PS:本文简单介绍下旧I/O和NIO下的Socket通讯,仅以UDP来示例. TCP/IP协议 首先简单回顾下TCP/IP协议 Application:应用程序:Socket:套接字:Host:主机: ...
- JS入门(三)
数据的类型转换: 之前提到过,js中数据类型分两种, 基本数据类型string number boolean undefined null 复杂数据类型 对象 Date Array ...
- html表单 2017-03-10PM
在写表单之前补充一点:网页名以及属性的值命名都不能用中文,尽量用英文或拼音. html表单特写 1.表单格式 <form method="get/post" action=& ...
- Java基础——运算符
一.赋值运算符 在前面的学习中,用到最多的是什么呢?就是“=” .例如:int money=1000; //储存本金 使用“=”将数值1000放入变量money的存储空间中.“=”称为赋值运算符. ...
- 软件测试之fault、error和failure的理解
(1) Identify the fault : The first element of the array is not looped. "for(int i=x.length-1;i ...
- 从零开始学JavaWeb
引言 记得上学时,有位导师说过一句很经典的话:"编程语言只是工具,最重要的是掌握思想." 笔者一直主要从事.net领域的开发工作.随着工作阅历的丰富,越来越深刻的理解当年导师说 ...
- python pytesser 的安装
安装包: 需要安装的包主要有两个: PIL 和 pytesser . PIL模块的安装不多说 pytesser 模块的安装: 下载后得到 "pytesser_v0.0.1.zip&quo ...
- 2017年你需要一个VPN
还有29天就2017年了,今天跟同事还在讨论这个问题,2016你都做了些什么事情?2017你有什么计划和期待?有空我们一起来聊聊,今天我们就先来聊聊VPN. 记得2016年11月初的时候,我写过一篇文 ...
- java操作txt文本(一):遇到指定字符换行
想法由来:有时查看网页源代码的css文件内容,竟是恼人的压缩后代码(不换行),如下图所示-- 它的可读性很差,所以写了下面这个简单的程序,实现自动换行. 适用条件:遇到指定字符换行(本例中遇到'}'换 ...
- asp.net core mvc剖析:动作执行
紧跟上一篇文章.通过路由和动作匹配后,最终会得到跟当前请求最匹配的一个ActionDescriptor,然后通过IActionInvoker执行动作. 我们先来看一下IActionInvoker如何得 ...