Java字符串

1、递归

public class TestDemo {
    public static void main(String[]args){
        int result = sum(100);
        System.out.println(result);
    }

    /**
     * 递归求和
     * @param num
     * @return
     */
    public static int sum(int num){
        if(num == 1){
            return 1;
        }
        return num + sum(num-1);
    }
}

2、String操作

    1)字符串长度

        String.length();

    2) 取字符串中的特定字符

        String.charAt();

    3)当前字符串是否包含制定字符

        String.contains();

    4)搜索;索引从0开始

        String.indexOf();

    5)字符串是否为空

        String.isEmpty();

    6)替换讲参数1替换为参数2

        String.replace(参数1,参数2);

    7)拆分;按照参数拆分

        String.split(参数);

    8)截取字符串

        String.substring(参数1,参数2)

    9)转成字符串

        String.toCharArray();

    10)字符串变大写

        String.toUpcase();

    11)字符串变小写

        String.toLowercase();

    12)去掉两端的空白

        String.trim()

public class StringDemo {
    public  static  void main(String[]args){
        String string = "Hello,Welcome to Study Java";
        //字符串长度
        int length = string.length();
        System.out.println(string+"的长度为:"+ length);
        /**
         * 取字符串中的特定字符(索引从0开始)
         * 比如:取第8个字符
         */
        char word = string.charAt(8);
        System.out.println(string+"的第八个字符为:"+word);
        /**
         * 当前字符串是否包含指定字符
         * 比如说:string 字符串中是否包含java和word
         */
        boolean flag = string.contains("Java");
        if(flag){
            System.out.println(string+"中包含"+"Java");
        }else{
            System.out.println(string+"中不包含"+"Java");
        }
        /**
         * 字符串是否为空
         */
        boolean flag2 = string.isEmpty();
        if(flag2){
            System.out.println(string+"为空");
        }else{
            System.out.println(string+"不为空");
        }
        /**
         * 替换讲参数1替换为参数2
         */
        String str = "张三,我去年买了一个登山包。";
        if(str.contains("我去年买了一个登山包")){
            System.out.println(str+"替换之后为:\n"+str.replace(str,"张三,*****"));
        }
        /**
         * 按照参数拆分
         */
        String line = "我喜欢的男明星有:吴京、李连杰、甄子丹、成龙、洪金宝、周润发、周星驰。";
        String[] lines = line.split("、");
        for(String strline: lines){
            System.out.println(strline);
        }
        /**
         * 截取字符串
         */
        line = line.substring(9);
        System.out.println("从"+line+"\n截取明星的名字:"+line);
        /**
         * 字符串变大写
         */
        System.out.println(string+"变成大写之后:"+string.toUpperCase());
        /**
         * 字符串变小写
         */
        System.out.println(string+"变成小写之后:"+string.toLowerCase());
        /**
         * 去掉两端的空白
         */
        String strim = "      空白开始,空白结束     ";
        System.out.println("去掉空白之前的长度为:"+strim.length());
        strim = strim.trim();
        System.out.println("去掉空白之后的长度为:"+strim.length());
    }

}

3、格式化输出

    

/**
 * 收据
 */
public class Receipt {
    private double total = 0;
    private Formatter f = new Formatter(System.out);

    /**
     * 标题头
     * -15s  长度15 s:字符串 -:左边对其
     * d    整数
     * c    Unicode
     * b    Boolean
     * s    String
     * f    浮点数
     * e    浮点数(科学计数)
     * x    整数(十六进制)
     * h    散列码(十六进制)
     * %    字符%
     */
    public void printTitle(){
        f.format("%-15s %5s %10s\n","Item","Qty","Price");
        f.format("%-15s %5s %10s\n","----","---","-----");
    }

    public void print(String name,int qty,double price){
        f.format("%-15.15s %5d %10.2f\n",name,qty,price);
        total += price;
    }

    public void printTotal(){
        f.format("%-15s %5s %10.2f\n","Tax","",total*0.06);
        f.format("%-15s %5s %10s\n","","","-----");
        f.format("%-15s %5s %10.2f\n","Total","",total*1.06);
    }

    public static void main(String[]args){
        Receipt receipt = new Receipt();
        receipt.printTitle();
        receipt.print("Hello",2,7);
        receipt.print("Bellow",1,10.5);
        receipt.print("Green",5,17.25);
        receipt.printTotal();
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值