Java教程

API和字符串在java中的运用

本文主要是介绍API和字符串在java中的运用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
怎么使用注释文档

/**
 * @author xiaoshuai
 * @since JDK1.8
 * @version 1.0
 *
 */
public class ApiDemo {
    /**
     * sayHello中问候语“你好!”;
     */
    public static final String INFO="你好!";
    /**
     *为给定用户添加问候语
     * @param name 给定的用户名
     * @return 一个含有问候语的字符串
     */
    public String sayHello(String name){
        return "你好!"+name;
    }

}

字符串常量池
/**
 * @author xiaoshuai
 */
public class StringDemo {
    public static void main(String[] args) {
        /**
         * java推荐我们使用字面量形式创建字符串
         * 对象,因为使用相同字面量创建字符串
         * 对象会被重用
         */
        String s1 = "123abc";
        String s2 = "123abc";
        //s2的地址和s1相同,说明重用的s1对象
        System.out.println(s1==s2);//true
        String s3="123abc";
        System.out.println(s2==s3);//true
        //修改内容会创建新的对象
        s1 = s1+"!";
        System.out.println("s1:"+s1);
        //s2不受影响
        System.out.println("s2:"+s2);
        //s1和s2不再指向一个对象
        System.out.println(s1==s2);//false
        String s4 = '1'+23+"abc";
        System.out.println("s4:"+s4);
        System.out.println(s2==s4);
    }
}

获得字符串长度

/**
 * int length()
 * 获取当前字符串长度
 * @author xiaoshuai
 */
public class lengthDemo {
    public static void main(String[] args) {
        String str = "你好java";
        System.out.println(str.length());
    }
}

获得某些字符在字符串中的位置
/**
 * int indexOf(String str)
 * 查找给定字符串在当前字符串中的位置,
 * 若当前字符串不包含给定内容则返回值为-1
 * @author xiaoshuai
 */
public class IndexofDemo {
    public static void main(String[] args) {
        //          0123456789012345
        String str = "thinking in java";
        int index = str.indexOf("in");
        System.out.println(index);//2
        //从开始位置开始检索第一个位置的字符
        index = str.indexOf("in",3);
        System.out.println(index);//5

        //检索开始最后一次出现的位置
        index = str.lastIndexOf("in");
        System.out.println(index);//9
    }
}

从字符串中截取指定的内容

/**
 * String substring(int start,int end)
 * 截取当前字符串指定范围内的字符串
 * 两个参数分别表示开始的下标和结束的下标
 * 需要注意,java API 有一个特点,通常两个
 * 数字表示范围时都是含头不含尾的
 */
public class Substring {
    public static void main(String[] args) {
        //01234567890
          String str = "www.tedu.cn";
          //截取域名
        String sub = str.substring(4,8);
        System.out.println(sub);

        //一个参数的是从指定位置到结尾
        sub = str.substring(4);
        System.out.println(sub);
    }
}

取出域名

/**
 * 编写方法获取域名
 * @author xioashuai
 */
public class Test {
    public static void main(String[] args) {
        String s1 = "www.baidu.com";
        String s2 = "http://www.tedu.cn";
        String s3 = "http://www.tarena.com.cn";
        s1 = getHostName(s1);
        s2 = getHostName(s2);
        s3 = getHostName(s3);
        System.out.println(s1);//baidu
        System.out.println(s2);//tedu
        System.out.println(s3);//tarena
    }
    public static String getHostName(String line){
        int start = line.indexOf(".")+1;
        int end = line.indexOf(".",start);
        return line.substring(start,end);
    }

}
去掉字符串左右的空格
/**
 * String trim
 * 去除字符串两边空白字符
 * @author xiaoshuai
 */
public class TrimDemo {
    public static void main(String[] args) {
        String str = "   hello   ";
        System.out.println(str);
        str = str.trim();//这个方法是java中原有的
        System.out.println(str);
    }
}

根据位置获取字符

/**
 * char charAt(int index)\
 * 获取当前字符串中指定位置的字符
 * @author xiaoshuai
 */
public class CharDemo {
    public static void main(String[] args) {
        //      0123456789012345
        String str = "thinking in java";
        char c = str.charAt(9);
        System.out.println(c);//i  不算空格
        System.out.println("=====================");
        //判断回文  0 1 2    6 7 8
        String line = "1234554321";
        for(int i=0;i<line.length()/2;i++){
            char c1 = line.charAt(i);
            char c2 = line.charAt(line.length()-1-i);
            if(c1!=c2){
                System.out.println("不是回文");
                break;
            }
        }
        System.out.println("是回文");
    }
}

判断字符串首尾的内容

/**
 * boolean startWith(String str)
 * boolean endsWith(String str)
 * 判断当前字符串是否是以给定的字符串开始或结尾的
 * @author xiaoshuai
 */
public class StartsWithDemo {
    public static void main(String[] args) {
        String str = "thinking in java";
        boolean starts = str.startsWith("thin");
        System.out.println(starts);
        boolean ends = str.endsWith("ava");
        System.out.println(ends);
    }
}
转换大小写
/**
 * String toUpperCase()
 * String toLowerCase()
 * 将当前字符串中的英文部分转化为全大写或全小写
 * @author xiaoshuai
 */
public class ToUpperCaseDemo {
    public static void main(String[] args) {
        String str = "你好java";
        String upper = str.toUpperCase();//转化为大写字母
        System.out.println(upper);
        String lower = str.toLowerCase();//转化为小写字母
        System.out.println(lower);

    }
}

基本数据类型换成字符串
/**
 * String提供一组重载的静态方法:valueOf(a)
 * 作用是将java其他类型转换成字符串
 * @author xiaoshuai
 */
public class ValueOfDemo {
    public static void main(String[] args) {
        int a = 123;
        String s1 =String.valueOf(a);
        System.out.println(s1);//"123"

        double b = 123.123;
        String s2 = String.valueOf(b);
        System.out.println(s2);//"123.123"

        String s3 = a+"";
        System.out.println(s3);//123
    }
}

字符串频繁修改带来的损耗

/**
 * 字符串频繁修改会带来性能的损耗
 * @author xiaoshuai
 */
public class StringDemo2 {
    public static void main(String[] args) {
        String str = "a";
        for(int i=0;i<10000000;i++){
            str = str + "a";
        }
        System.out.println("程序结束了!");//程序会很慢,则需要改进方法
    }
}

用StringBuilder操作解决损耗的问题

/**
 * 字符串的特性决定着字符串不能平凡
 * 修改,因为带来的问题是性能低,
 * 内存开销大,因此java提供了一个类:java.lang.StringBuilder
 * @author xiaoshuai
 */
public class StringBuilderDemo1 {
    public static void main(String[] args) {
        String str = "好好学习java";
        StringBuffer builder = new StringBuffer(str);
        /**
         * 好好学习java
         * 好好学习java,为了找个好工作
         * append():追加的内容
         */
        builder.append(",为了找个好工作!");

        str = builder.toString();
        System.out.println(str);

        /**
         * 好好学习java,为了找个好工作!
         * 好好学习java,就是为了改变世界
         * replace():追加的内容
         */
        builder.replace(9,18,"就是为了改变世界!");
        System.out.println(builder);

        /**
         * 好好学习java,就是为了改变世界!
         * ,就是为了改变世界!
         * delete():删除操作
         */
        builder.delete(0,8);
        System.out.println(builder);

        /**
         *,就是为了改变世界
         * 活着,就是为了改变世界
         * insert():插入内容
         */
        builder.insert(0,"活着");
        System.out.println(builder);
    }
}

这篇关于API和字符串在java中的运用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!