java学习笔记

package test0302;

 

 

import java.util.Locale;

 

public class Test1 {

    public static void main1(String[] args) {

        int a = 10;

        //定义了字符串常量s,在栈区为s开辟一块空间

        //然后在字符串常量池中分配一块内存空间存储"hello",并将其地址赋值给s

        //而"hello"这个字符串将不会再改变

        String s = "hello";

        //在字符串常量池中为"helloworld"开辟一块空间,并将其地址赋值给s

        //事实上,s由"hello"->"helloworld",只是将s的值由"hello"的地址改为"helloworld"的地址

        s = "helloworld";

        System.out.println(s);

    }

 

    public static void main2(String[] args) {

        //创建一个空字符串

        String str1 = "";

        //创建一个字符串"abc"

        String str2 = "abc";

        //创建一个字符串数组

        char[] charArry = new char[] {'A','b','c','d'};

        String str3 = new String(charArry);

        //创建一个字节数组

        byte[] arr = {1,2,3,4,5};

        String str4 = new String(arr);

        System.out.println("a" + str1 + "b");

        System.out.println(str2);

        System.out.println(str3);

        System.out.println(str4);

        char[] str5 = new char[] {'A','B','C','D'};

        String str6 = new String(str5);

        byte[] arr1 = {1,2,3,4,5,6};

        String str7 = new String(arr1);

        System.out.println(str5);

        System.out.println(str6);

        System.out.println(str7);

    }

 

    public static void main3(String[] args) {

        String s = "ababcdedcba"; //定义字符串

        System.out.println("字符串的长度为:" + s.length());

        System.out.println("字符串中的第一个字符为:" + s.charAt(0));

        System.out.println("字符c第一次出现的位置是:" + s.indexOf('c'));

        System.out.println("字符c最后一次出现的位置是:" + s.indexOf('c'));

        System.out.println("字符串ab第一次出现的位置是:" + s.lastIndexOf("ab"));

        System.out.println("字符串最后一次出现的位置是:" + s.lastIndexOf("ab"));

    }

 

    public static void main4(String[] args) {

        String s = "abcd";

        String str2 = "ABCD";

        //将s变成字符数组

        char[] str1 = s.toCharArray();

        for(int i = 0; i < str1.length; i++){

            if(i != str1.length - 1){//如果不是数组的最后一个元素,就把","打印出来

                System.out.print(str1[i] + ",");

            }

            else//如果是最后一个元素,就不用打印","

                System.out.println(str1[i]);

        }

        System.out.println("将int值转换为String类型之后的结果:" + String.valueOf(12));

        System.out.println("将字符串转换为大写的结果:" + str2.toUpperCase());//toUpperCase只能被字符串调用,不能被字符数组调用

        System.out.println("将字符串转换为小写的结果:" + str2.toLowerCase());//同理

    }

    

 public static void main5(String[] args) {
        //字符串的替换和去除空格操作
        String s = "itcast";
        System.out.println("将it转换为cn.it的结果是" + s.replace("it","cn.it"));
        String v = " i t c a s t ";
        System.out.println("的" + v);
        System.out.println("去除两端空格的结果为" + v.trim());
        System.out.println(v);
        System.out.println("去除字符串中间的空格的结果为" + v.replace(" ",""));
        System.out.println(v);
        //由此可见,改变的并不是v本身只是将该操作的结果打印出来了
    }

    public static void main6(String[] args) {
        //字符串的判断
        String s1 = "String";
        String s2 = "string";
        System.out.println("判断s1字符串对象是否以Str开头:" + s1.startsWith("Str"));
        System.out.println("判断是否以ng结尾的:" + s1.endsWith("ng"));
        System.out.println("判断是否包含tri:" + s1.contains("tri"));
        System.out.println("判断字符串是否为空:" + s1.isEmpty());
        System.out.println("判断s1,s2的内容是否相同:" + s1.equals(s2));
        System.out.println("忽略大小写的请况下,s1,s2的内容是否相同:" + s1.equalsIgnoreCase(s2));
        System.out.println("按对应字符的Unicode值比较s1,s2的大小:" + s1.compareTo(s2));//返回-32
        //比较字符串是否相等时,可以使用equals,也可以使用==,但两者的使用方式是明显不同的:
        //equals比较的时两字符串的内容是否相同,==判断的是两边的地址是否相同,如下例:
        String str1 = new String("abc");
        String str2 = new String("abc");
        System.out.println(str1 == str2);//结果是false,因为str1 str2这两个对象的地址不同
        System.out.println(str1.equals(str2));//结果是true,因为两个字符串的内容相同
        //但如果是这样,结果为true,因为字符串常量池为"abcd"开辟一块空间,这里是将字符串的地址赋值给了str3和str4,因此地址是一样的
        String str3 = "abcd";
        String str4 = "abcd";
        System.out.println(str3 == str4);
    }

    public static void main(String[] args) {
        //字符串的截取和分割操作
        String str = "石家庄-武汉-哈尔滨";
        //下面是字符串的截取操作
        System.out.println("从第5个截取到末尾的结果:" + str.substring(4));
        System.out.println("从第5个字符截取到第6个字符的结果:" + str.substring(4,6));
        //下面是字符串的分割操作
        System.out.print("分割后的字符串数组的元素依次为:");
        String[] strArray = str.split("-");//分割字符串并将结果放在数组strArray中
        for(int i = 0; i < strArray.length; i++){
            //如果不是数组的最后一个元素就加","
            if(i != strArray.length - 1){
                System.out.print(strArray[i] + ",");
            }
            else
                System.out.println(strArray[i]);
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假若爱有天意

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值