ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串代码-先自学-学会查api和百度

2022-05-24 23:01:55  阅读:104  来源: 互联网

标签:String void System 字符串 api println 自学 百度 out


概述:
1)、程序经常处理大量文本数据,所以字符串在程序中很常用,很重要。
2)、结构:字符串就是一系列字符组成,可以理解为“字符”数组。
3)、字符串对应String类,是引用数据类型。

字符串:
1、创建:有3种方式:见demo1()
2、连接:有4种方式:见demo2()
说明:
*、要求线程安全的情况下,则必须使用StringBuffer类。
*、否则使用StringBuilder类。
*、后面专题细讲。

3、格式字符串,见demo3()
4、日期格式化,见demo4()
5、字符串按字符截取,见demo5()
   *、见idea提示方法会出错,查api文档。
7、字符串分割为数组,见demo6()
8、字符串替换,见demo7()
9、字符串查找定位,见demo8()
10、字符串比较,见demo9()


*、String类是不可变的,因此一旦创建,就无法更改String对象。
*、要对字符串进行大量修改,则应使用StringBuffer和StringBuilder。

 

package com.iit.demo;

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class DemoStr {
    public static void main(String[] args) {
        //创建字符串的3种方式
        //demo1();
        //常见属性
        //demo2();
        //格式化
        //demo3();
        //日期时间格式化
        //demo4();
        //字符串截取
        //demo5();
        //字符串分割到数组
        //demo6();
        //字符串替换
        //demo7();
        //字符串查找
        demo8();
        //字符串比较
        //demo9();
    }

    private static void demo9() {
        //要点:要用equals()方法比较
        String str1 = "abc";
        String str2 = new String("abc");
        String str3 = "ABC";
        System.out.println("equals(str2)"+str1.equals(str2));
        System.out.println("equals(str3)="+str1.equals(str3));
        System.out.println("equalsIgnoreCase(str3)="+str1.equalsIgnoreCase(str3));
    }

    private static void demo8() {
        String words = "today,monday,sunday";
        System.out.println("原始字符串是'"+words+"'");
        System.out.println("indexOf(day)结果:"+words.indexOf("day"));
        System.out.println("indexOf(day,5)结果:"+words.indexOf("day",5));
        System.out.println("indexOf(o)结果:"+words.indexOf("o"));
        System.out.println("indexOf(o,6)结果:"+words.indexOf("o",6));
        System.out.println("lastIndexOf(day)结果:"+words.lastIndexOf("day"));
    }

    private static void demo7() {
        String src = "123451234512345";
        //将123替换为*
        String s1 = src.replaceAll("123","*");
        System.out.println("s1="+s1);
        //将1或2或3替换为*
        //[123]是正则表达式(须专题讲)
        String s2 = src.replaceAll("[123]","*");
        System.out.println("s2="+s2);
    }

    private static void demo6() {
        String Colors = "Red,Black,White,Yellow,Blue";
        //通过var生成代码
        String[] array1 = Colors.split(",");
        System.out.println(Arrays.toString(array1));
        //只要前3个 问题:现在array2中的值是什么?
        //回答:最后一个包含了后面所有的字符串。
        String[] array2 = Colors.split(",",3);
        System.out.println(Arrays.toString(array2));
    }

    private static void demo5() {
        String src = "0123456789";
        String str1 = src.substring(3);
        System.out.println("substring(3)="+str1);
        String str2 = src.substring(3,2);
        System.out.println("substring(3,2)="+str2);
    }

    private static void demo4() {
        //打印日期(不建议用String.format打印日期.
        Date now=new Date();
        //注意:规则大小写敏感
        String format = "yyyy-MM-dd HH:mm:ss";
        showTimeByRule(format);
        //提示:英语单词固定,其它部分可以随便改。
        format = "当前时间:yyyy/MM/dd HH_mm_ss";
        showTimeByRule(format);
        //获取天数、周数等
        showTimeByRule("年中的周数:w");
        showTimeByRule("月份中的周数:W");
        showTimeByRule("月份中的天数:d");
        showTimeByRule("年中的天数:D");
        showTimeByRule("月份中的星期:F");
        showTimeByRule("星期中的天数:E");
    }

    private static void showTimeByRule(String format) {
        Date now=new Date();
        SimpleDateFormat fmt= new SimpleDateFormat(format);
        String timeStr = fmt.format(now);
        System.out.printf("格式【%s】=【%s】\n",format,timeStr);
    }

    private static void demo3() {
        //不同的数据类型,对应不同的格式化字符,此处先了解。
        String name = "张三";
        int age = 22;
        float height = 1.8532f;
        String s1 = String.format("姓名:【%s】;年龄:【%d】;身高=【%9.2f】",
                name,age,height);
        System.out.println(s1);
    }

    //连接字符串
    private static void demo2() {
        //方式1:用+增加(简单场景下使用)
        String s1 = "aa";
        String s2 = "bb";
        String s3 = s1+","+s2;
        //方式2:连续增加:concat
        String s4 = s1.concat(",").concat(s2);
        System.out.println("s3="+s3);
        System.out.println("s4="+s4);
        //方式3:用StringBuilder(优先考虑,看构造方法)
        StringBuilder sb1 = new StringBuilder("a1");
        sb1.append(",a2");
        sb1.append(",a3");
        System.out.println("sb1="+sb1);
        //方式4:用StringBuffer(多线程下考虑,看构造方法)
        StringBuffer sb2 = new StringBuffer("b1");
        sb2.append(",b2");
        sb2.append(",b3");
        System.out.println("sb2="+sb2);
    }

    private static void demox() {
        String greeting = "我爱java";
        int len = greeting.length();
        System.out.println( greeting+" 字符串的长度是: " + len );
    }

    private static void demo1() {
        //方式1
        String s1="hello";
        //方式2
        String s2=new String("java");
        //方式3
        char[] c1 = { '我','爱','j', 'a', 'v', 'a', 'i' };
        String s3=new String(c1);
        System.out.println("s1+s2="+s1+","+s2);
        System.out.println("s3="+s3);
    }
}

 

标签:String,void,System,字符串,api,println,自学,百度,out
来源: https://www.cnblogs.com/xiaoyongdata/p/16307554.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有