java note

String概述

String 构造方法:

100

        整段加条件:

        快捷键: ctrl+alt +t

        for循环次数    n.fori    n代表次数

101

CharAt()应用:

  for (int i = 0; i < str.length(); i++) {
            //i 依次表示字符串的每一个索引
            char c = str.charAt(i);
            System.out.println(c);
        }
字符串遍历   str.length().fori

-------------------------------------------------------------------------------------------------------------------------------- 

//键盘输入一个字符串,统计该字符串 大写字母,小写字母,数字的个数
 //键盘输入一个字符串,统计该字符串 大写字母,小写字母,数字的个数
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = sc.next();

        int daxie=0,xiaoxie=0,shuzi=0;

        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i)>='a'&&str.charAt(i)<='z'){
                xiaoxie++;
            }else if (str.charAt(i)>='A'&&str.charAt(i)<='Z'){
                daxie++;
            }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){
                shuzi++;
            }
        }
        System.out.println("大写:"+daxie);
        System.out.println("小写:"+xiaoxie);
        System.out.println("数字:"+shuzi);

    }

-------------------------------------------------------------------------------------------------------------------------------- 

// 定义一个方法,把int数组中的数据按照指定格式拼接成一个字符串返回,调用该方法,并在控制台输出结果
//例如 数组int[]{1,2,3}  输出: [1,2,3]
// 定义一个方法,把int数组中的数据按照指定格式拼接成一个字符串返回,调用该方法,并在控制台输出结果
    //例如 数组int[]{1,2,3}  输出: [1,2,3]
    public static void main(String[] args) {
        int arr[] ={1,2,3,4};
        System.out.println(arrtoString(arr));
    }

    public static String arrtoString(int arr[]){
        if (arr==null){
            return "";
        }
        else if(arr.length==0){
            return "[]";
        }
        //当代码执行到这里,表示数组不是null,长度也不为0。
        String result="[";
        for (int i = 0; i < arr.length; i++) {
            result+=arr[i];
            if (i<arr.length-1){
                result+=",";
            }
        }
        result=result+"]";
        return result;

    }

str.length().fori  正向遍历循环

str.length().forr  反向遍历循环

shift+F6:批量修改

//定义一个方法,实现字符串的反转

    public static void main(String[] args) {
        System.out.println(strReverse("abc"));
    }

    public static String strReverse(String str){
        String result="";
        for (int i = str.length()-1; i >= 0; i--) {
            //i依次表示字符串中的每一个索引
            char c = str.charAt(i);
            result+=c;

        }
        return result;
    }

-------------------------------------------------------------------------------------------------------------------------------- 

 public static void main(String[] args) {
        //1.输入一个金额,并进行验证
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入金额:");
        int money = sc.nextInt();

        //验证金额
        while (true) {
            if (money >= 0 && money <= 9999999) {
                break;
            } else {
                System.out.println("你输入的金额有误,请重新输入!");
            }
        }

        //2.将每个位置的数字取出
        String moneyStr = "";
        while (true) {
            int ge = money % 10;
            String captiaclNumber = getCaptical(ge);
            moneyStr=captiaclNumber+moneyStr;
            money /= 10;
            if (money==0){
                break;
            }
        }

        //3.不足七位的补零
        int count = 7-moneyStr.length();
        for (int i = 0; i < count; i++) {
            moneyStr="零"+moneyStr;
        }

        //4.每位后面添加单位
        String arr[]={"佰", "拾", "万", "仟", "佰", "拾", "元", };
        String result = "";
        for (int i = 0; i < moneyStr.length(); i++) {
            char c = moneyStr.charAt(i);
            result=result+c+arr[i];
        }
        System.out.println(result);
    }



    //将小写变为大写
    public static String getCaptical(int number) {
        String captal[] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
        return captal[number];
    }

输入:2135,输出:零佰零拾零万贰仟壹佰叁拾伍元

---------------------------------------------------------------------------------------------------------------------------------

加密手机号:

    public static void main(String[] args) {
        //1.获取一个手机号码
        String phoneNumber = "15837013389";
        
        //2.截取手机号码前面的三位
        String preThree = phoneNumber.substring(0, 3);
        
        //3.截取手机号码后四位
        String backFour = phoneNumber.substring(7);
        
        String  result = preThree+"****"+backFour;
        System.out.println(result);
    }

-------------------------------------------------------------------------------------------------------------------------------- 

从身份证号码中获取信息
 public static void main(String[] args) {
        //1.定义一个变量存储身份证号码
        String idNumber = "411426199904196610";
        //获取出生年、月、日
        String birthyear = idNumber.substring(6, 10);//(6,14);
        String birthmonth = idNumber.substring(10, 12);
        String birthday = idNumber.substring(12, 14);

        //获取性别代码

        String sexNum = idNumber.substring(16, 17);//获取到的是字符串 数字  需要将其变为int 型
        //也可以使用
        // char c = idNumbercharAt(16)

        //利用ASCII码表进行转换
        /*
        * ‘0’  ---》  48
        * ‘1’  ---》  49
        * 例如:’9‘ - 48 = 9
        * */
        String sex = "";
        int num = Integer.parseInt(sexNum);
        sex = num%2!=0? "男":"女";


        System.out.println(birthyear + "年" + birthmonth + "月" + birthday + "日," + "性别:" + sex);

    }

输出:    1999年04月19日,性别:男

-------------------------------------------------------------------------------------------------------------------------------- 

敏感词替换

public static void main(String[] args) {
        //1.获取到 字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入内容:");
        String context = sc.next();

        //2.可以将敏感词汇定义一个库
        String arr[] = {"TMD", "tmd", "MLGB", "mlgb", "SB", "sb", "CNM", "cnm"};

        //3.循环得到数组中的每一个敏感词,依次进行替换
        for (int i = 0; i < arr.length; i++) {
            context = context.replace(arr[i], "***");

        }
        //4. 打印结果
        System.out.println(context);

    }

 

StringBuilder

StringBuilder是一个容器,创建后内容可以发生变化。

作用:提高字符串的操作效率

StringBuilder构造方法:
        public StringBuider()

        public StringBuider(String str) 

 StringBuider常用方法:

        public StringBuilder append(任意类型)

        public StringBuilder reverse()

 public static void main(String[] args) {
        //1.创建StringBuilder对象
        StringBuilder sb = new StringBuilder("abc");

        //2.添加元素
        sb.append(1);
        sb.append(2.3);
        sb.append("asd");
        sb.append(true);

        //2.反转方法
        sb.reverse();

        //3.获取长度
        int len = sb.length();
        System.out.println(len);

        /*
        * 普及:StringBuilder是java已经写好的类
        * java在底层对他进行了一些特殊处理
        * 打印对象不是地址值,而是属性值
        * */
        System.out.println(sb);

    }
        //3.再把StringBuilder变回字符串
        String str = sb.toString();
        System.out.println(str);
//链式编程:
//当我们调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法 
​​​​​​​String result = new StringBuilder().append(str).reverse().toString();
判断字符串是否对称:
public static void main(String[] args) {
        //1.键盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str = sc.next();

        //2.反转键盘录入的字符串
//        StringBuilder sb = new StringBuilder(str);
//        sb.reverse();

        //链式:
        String result = new StringBuilder().append(str).reverse().toString();

        //3.比较
       if (str.equals(result)){
           System.out.println("对称");
       }else
           System.out.println("不对称");

    }
//使用StringBuilder的场景:
//1.字符串的拼接
//2.字符串的反转
拼接字符串:
public static void main(String[] args) {
        //1.定义数组
        int arr[] = {1,2,3,4};

        //调用方法把数组变成字符串
        System.out.println(arrToString(arr));
    }

    public static String arrToString(int arr[]){
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i==arr.length-1){
                sb.append(arr[i]).append("]");
            }else
                sb.append(arr[i]).append(", ");
        }
        return sb.toString();
    }

StringJoiner概述:

        StringJoiner和StringBuilder一样,也可以看成一个容器,创建之后内容是可以改变的。

        作用:提高字符串的操作效率,而且代码编写特别简洁,但是市场上用得少。

 总结:

 --------------------------------------------------------------------------------------------------------------------------------

 

 总结:​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值