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);//转为对应浮点数

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

  1. package re03;
  2.  
  3. import java.util.Date;
  4.  
  5. /**
  6. * Description:String练习
  7. *
  8. * @author weber DateTime 2017年3月20日 下午2:38:36
  9. */
  10. public class StringPractice {
  11.  
  12. public String subStringPractice(String s) {
  13. String sub = s.substring(0, s.length() - 5); // substring 取子字符串
  14. sub.trim(); // trim 去空格
  15. return sub;
  16. }
  17.  
  18. public boolean startEndPractice(String s) {
  19. char sta[] = { s.charAt(0), s.charAt(1) }; //charAt 获取下标对应char
  20. char en[] = { s.charAt(s.length() - 2), s.charAt(s.length() - 1) };
  21. String start = new String(sta);
  22. String end = new String(en);
  23. return (s.startsWith(start) && s.endsWith(end)); //startsWith 判断是否以某字符串开头
  24. }
  25.  
  26. public boolean equalPractice(String s) {
  27. return s.equalsIgnoreCase(s.toLowerCase().toUpperCase()); //equal 判断相等 toLowerCase 全小写
  28. }
  29.  
  30. public void formatPractice() {
  31. Date d = new Date();
  32. String day = String.format("%te", d); //format 格式化
  33. String month = String.format("%tB", d);
  34. String year = String.format("%tY", d);
  35. String form = String.format("%tF", d);
  36. System.out.println(form + "\n" + year + month + day);
  37. }
  38.  
  39. public void judgePractice(String s) {
  40. String refer = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}"; //正则表达式
  41. if (s.matches(refer))
  42. System.out.println("合法邮箱");
  43. else
  44. System.out.println("不合法邮箱");
  45.  
  46. }
  47.  
  48. public static void main(String[] args) {
  49. String s = "http://www.cnblogs.com/weberweber/";
  50. StringPractice p = new StringPractice();
  51. System.out.println(p.subStringPractice(s));
  52. System.out.println(p.startEndPractice(s));
  53. System.out.println(p.equalPractice(s));
  54. p.formatPractice();
  55. p.judgePractice(s);
  56.  
  57. }
  58. }

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

(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) 返回索引到值的下标

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

  1. package re03;
  2. import java.util.Arrays;
  3. import java.util.Scanner;
  4. public class ArrayPractice {
  5.  
  6. public static void main(String[] args)
  7. {
  8. int a[]=new int[]{1,2,3};
  9. int c[]=Arrays.copyOf(a,5); //copyOf练习
  10. int b[][] = new int[2][3];
  11. System.out.println(Arrays.toString(c)); //toString练习
  12. for(int i:a){
  13. System.out.println(i);
  14. }
  15. Arrays.fill(a, 2, 3 , 4); //fill练习
  16. System.out.println(Arrays.toString(a));
  17. Scanner sc = new Scanner(System.in);
  18. for(int i=0;i<b.length;i++)
  19. for(int j=0;j<b[i].length;j++)
  20. {
  21. b[i][j]=sc.nextInt();
  22. }
  23. sc.close();
  24. Arrays.sort(b[1]); //sort练习
  25. System.out.println(Arrays.toString(b[1]));
  26. b[1][2]=5;
  27. System.out.println(Arrays.binarySearch(b[1], 5)); //binarySearch练习
  28.  
  29. }
  30. }

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. BFC原理

    一.BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说 ...

  2. 用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?

    一.用例解释 用例是一种在开发新系统或者软件改造时捕获潜在需求的技术.每个用例提供了一个或多个场景,该场景揭示了系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标.用例要避免技术术语,取 ...

  3. 九度oj1163题

    题目描述: 输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1. 输入: 输入有多组数据. 每组一行,输入n. ...

  4. linux 私房菜 CH6 Linux 的档案权限与目录配置

    查看文件属性 ls -al 第一栏:类型与权限 d:目录: -:档案: l:链接档: b:可随机存取装置: c:一次性存取装置: 第二栏:有多少档名连结到此节点 第三栏:拥有者 第四栏:所属群组 第五 ...

  5. 一些关于Canny边缘检测算法的改进

    传统的Canny边缘检测算法是一种有效而又相对简单的算法,可以得到很好的结果(可以参考上一篇Canny边缘检测算法的实现).但是Canny算法本身也有一些缺陷,可以有改进的地方. 1. Canny边缘 ...

  6. 查看某个ip地址接在交换机的哪个接口

    show ip interface brief 1.如果交换机上没有做VLAN 可以直接使用:show arp MPG3560#sh arp Protocol Address Age (min) Ha ...

  7. 使用Nginx+CppCMS构建高效Web应用服务器(之二)

    使用Nginx+CppCMS构建高效Web应用服务器(之二) 上一篇 使用Nginx+CppCMS构建高效Web应用服务器(之一) 大致介绍了网站的整体架构,实际上通过调用REST获取数据并没有实现. ...

  8. C++ 头文件系列(string)----分析string初始化内存模型

    测大小 这里我们比较4种版本的basic_string模版类,分别是:string, wstring, u16string, u32string. 虽然他们是不同的字符串类型,但是其sizeof的结果 ...

  9. (转)centos6.5安装VNC

    在Linux下用VNC远程桌面是个很不错的玩意.但在CentOS中默认没有安装VNC的.可以用下面语句查询,如果出现下面情况说明没有安装vnc #rpm -q tigervnc tigervnc-se ...

  10. 开发Nagios监控passwd文件插件

    第一步:开发脚本 [root@Admin libexec]# pwd /usr/local/nagios/libexec [root@Admin libexec]# cat check_passwd ...