DW-CHEN的Java点滴记录-API

API

  • API:Application Programming interface应用程序编程接口
  • Java API:指JDK中提供的各种功能的Java类

Scanner

  • next()方法:遇到空格就不再录入数据了
  • nextLine()方法:可以将数据完整的接收过来
    注意:nextInt()和nextLine()方法配合使用的时候,nextLine()方法就没有键盘录入的机会了。
    建议:后边如果有键盘录入数据的时候,有数字和字符串一起接收,建议使用next()方法接收字符串

String

  • String类代表字符串,Java程序中所有的双引号字符串,都是String类的对象
  • 字符串不可变,它的值在创建之后不能被修改,虽然String的值是不可变的,但是它们可以被共享
  • 注意:== 号 字符串的比较
    1.基本数据类型:比较的是具体的值
    2.引用数据类型:比较地址值
  • equals()方法:比较字符串对象它们的内容是否相同,将此字符串与指定的对象进行比较
String常用方法
方法名说明
public boolean equals(Object anObject)比较字符串内容,严格区分大小写
public boolean equalsIgnoreCase(String anotherString)比较字符串的内容,忽略大小写
public int length()返回此字符串的长度
public char charAt(int index)返回指定索引处的char值
public char[] toCharArray()将字符串拆分为数组后返回
public String substring(int beginIndex,int endIndex)根据开始和结束索引进行截取,得到新的字符串(包含头,不包含尾)
public String substring(int beginIndex)从传入的索引处截取,截取到末尾,得到新的字符串
public String replace(CharSequence target,CharSequence replacement)使用新值,将字符串中的旧值替换,得到新的字符串
public String[] split(Sting regex)根据传入的规则切割字符串,得到字符串的数组
代码
用户登录
package cn.cdw.demo;

import java.util.Scanner;

/**
 * @author DW-CHEN
 * 用户登录
 */
public class Demo26 {

    public static void main(String[] args) {
        String name = "小明";
        String password = "123";//给的用户名和密码暂时写死
        login(name, password);//调用登录方法
    }

    public static void login(String name, String password) {//登录方法
        int count = 3;//设置只有三次登录机会
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.print("请输入用户:");
            String n = scanner.nextLine();
            System.out.print("请输入密码:");
            String p = scanner.nextLine();

            if (n.equals(name) && p.equals(password)) {
                System.out.println("登录成功");
                break;//结束循环
            } else {
                System.out.println("登录失败,近日你还有" + (count - 1) + "次机会");
                count--;
            }
            if (count == 0) {
                System.out.println("登录失败,今日登录次数已用完,请明天再来登录,谢谢");
                break;//结束循环
            }
        }
    }
}
拆分字符串
package cn.cdw.demo;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author DW-CHEN
 * 拆分字符串
 */
public class Demo27 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个字符串:");
        String string = scanner.nextLine();

        toChar(string);
        System.out.println("============================================");
        toCharArray(string);
    }

    public static void toChar(String string) {//通过charAt(index i)方法获取到字符串每个索引的值的方法
        for (int i = 0; i < string.length(); i++) {
            char c = string.charAt(i);
            System.out.println(c);
        }
    }

    public static void toCharArray(String string) {//通过toCharArray()方法拆分字符串到数组中,然后遍历获取到每个字符的方法
        char[] chars = string.toCharArray();
        System.out.println("该字符串的每个字符在数组中为:" + Arrays.toString(chars));
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);//遍历字符数组打印出每个字符
        }
    }
}
统计一个字符串的大写字母,小写字母,数字和其它字符的出现次数
package cn.cdw.demo;

import java.util.Scanner;

/**
 * @author DW-CHEN
 * 统计一个字符串的大写字母,小写字母,数字和其它字符的出现次数
 */
public class Demo28 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一段字符串:");
        String string = scanner.nextLine();
        method(string);
    }

    public static void method(String string) {
        int sz = 0;//数字
        int dx = 0;//大写字母
        int xx = 0;//小写字母
        int other = 0;//其他字符

        for (int i = 0; i < string.length(); i++) {
            char c = string.charAt(i);
            if(c >= '0' && c <= '9'){//数字统计
                sz++;
            } else if (c >= 'A' && c <= 'Z') {//大写字母统计
                dx++;
            } else if (c >= 'a' && c <= 'z') {//小写字母统计
                xx++;
            }else {//其他字符统计
                other++;
            }
        }
        System.out.println("出现数字个数:" + sz);
        System.out.println("出现大写字母个数:" + dx);
        System.out.println("出现小写字母个数:" + xx);
        System.out.println("出现其他字符个数:" + other);
    }
}
手机号隐私处理
package cn.cdw.demo;

import java.util.Scanner;

/**
 * @author DW-CHEN
 * 手机号隐私处理
 * 例如:手机号为15111233342,处理为:151****3342
 */
public class Demo29 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个手机号:");
        String string = scanner.nextLine();
        method(string);
    }

    public static void method(String phone) {
        String s1 = phone.substring(0, 3);//截取手机号前三位
        String s2 = phone.substring(7);//从第七位开始截取手机号码的最后四位
        System.out.println("处理后的手机号码:" + s1 + "****" + s2);
    }
}
敏感词替换
package cn.cdw.demo;

import java.util.Scanner;

/**
 * @author DW-CHEN
 * 敏感词替换
 * 例如:你TMD真厉害,处理为:你***的真厉害
 */
public class Demo30 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一段字符串:");
        String string = scanner.nextLine();
        method(string);
    }

    public static void method(String string) {//敏感词处理方法
        String str = string.replace("TMD", "***");//将敏感词替换处理
        System.out.println(str);
    }
}
字符的切割
package cn.cdw.demo;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author DW-CHEN
 * 字符的切割
 * 例如:将dfa,da,sadsas,fd以逗号进行切割保存到数组中为:[dfa,da,sadsas,fd]
 */
public class Demo31 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一段字符串:");
        String string = scanner.nextLine();
        method(string);
    }

    public static void method(String string) {
        String[] split = string.split(",");//以逗号进行切割
        System.out.println("切割后保存到数组中为:"+Arrays.toString(split));
        System.out.println("==================================================");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }
    }
}

StringBuilder

  • StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器
  • 作用:提高字符串的操作效率
StringBuilder的常用方法
方法名说明
public StringBuilder append(任意类型)添加数据并返回对象本身
public StringBuilder reverse()返回相关的字符序列
public intlength()返回长度(字符出现的个数)
public String toString通过toString()就可以把StringBuilder转换为String
StringBuilder和String的区别
  • String:内容是不可变的
  • StringBuilder:内容是可变的
代码
判断字符串是否是一个对称字符串
package cn.cdw.demo;

import java.util.Scanner;

/**
 * @author DW-CHEN
 * 判断字符串是否是一个对称字符串
 * 例如:
 * 对称字符串:123321,111
 * 非对称字符串:123123
 */
public class Demo32 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一段字符串:");
        String string = scanner.nextLine();
        method(string);
    }

    private static void method(String string) {
        StringBuilder stringBuilder = new StringBuilder(string);//将字符串进行转换为StringBuilder
        StringBuilder reverse = stringBuilder.reverse();//字符反转处理
        String s = reverse.toString();//将处理好的反转字符转换为String
        if (s.equals(string)) {//判断反转后的字符串和原来的字符串是否相等
            System.out.println("是对称字符串");
        }else {
            System.out.println("不是反转字符串");
        }

    }

}
拼接字符串
package cn.cdw.demo;

/**
 * @author DW-CHEN
 * 拼接字符串
 * 例如:将一个数组 int[] arr={23,12,13}处理拼接格式为:[23,12,13]
 */
public class Demo33 {
    public static void main(String[] args) {
        int[] arr = {342, 12, 666, 23, 55};
        method(arr);
    }

    public static void method(int[] arr) {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {//最后一个数值
                stringBuilder.append(arr[i] + "]");
            }else {
                stringBuilder.append(arr[i] + ",");
            }
        }
        String str = stringBuilder.toString();
        System.out.println("处理后的数据为:" + str);
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值