zoukankan      html  css  js  c++  java
  • 作业

    动手动脑:

    String.equals()方法的使用:

    public class StringPool {

        

    public static void main(String args[])

        {

            

    String s0="Hello";

            

    String s1="Hello";

            

    String s2="He"+"llo";

            

    System.out.println(s0==s1);//true

            

    System.out.println(s0==s2);//true

            

    System.out.println(new String("Hello")==new String("Hello"));//false

        

    }

    }

    分析:在java中,内容相同的字符串常量只保存一份以节约空间,所以s0,s1实际上引用的是同一个对象。java编译器编译s2时,会去掉+号,直接把两个字符串连接起来得到一个字符串,所以s0s2也引用的是同一个对象。所以返回值都是true.当直接使用new关键字创建对象时,虽然值相同,但仍然是两个独立的对象,所以返回值为false.

    public class StringPool {

        

    public static void main(String args[])

        {

            

    String s1="a";

            

    String s2=s1;

                    

    System.out.println(s1==s2);//true

                    s1+="b";

    System.out.println(s1==s2);//false       

    System.out.println(s1=="ab");//false

                System.out.println(s1.equals("ab"));//true

    }

    }

    分析:给字符串赋值意味着两个变量现在引用同一个字符串变量对象,所以s1==s2返回值为true,String对象是只读的,使用+修改了s1变量的值,实际上得到了一个新的字符串,内容为ab,与原来s1所引用的对象无关,所以返回值是false,字符串常量引用的字符串与s1引用的对象无关,string.equas()方法可以比较两个字符串的内容。

    public class StringEquals {

        

    /**

         * @param args the command line arguments

         */

        

    public static void main(String[] args) {

            

    String s1=new String("Hello");

            

    String s2=new String("Hello");

            

    System.out.println(s1==s2);//使用new关键字创建了两个不同的对象,所以返回值为false

            

    System.out.println(s1.equals(s2));//内容相同,值为true

            

    String s3="Hello";

            

    String s4="Hello";

              

    System.out.println(s3==s4);//内容相同的常量,引用同一个对象,返回值为true

            

    System.out.println(s3.equals(s4));//内容相同,返回值为true

            

        

    }

    }

    Length()//返回当前字符串长度

    charAt(int index):取字符串中的某一个字符,其中的参数index指的是字符串中的序数。字符串的序数从0length()-1.

    getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin):该方法将字符串拷贝到字符数组中。其中srcBegin为拷贝的起始位置,srcEnd为拷贝的结束位置,字符串数组dst为目标字符数组,dstBegin为目的字符数组拷贝的起始位置。

    replace(char oldchar,char newchar)//将字符串中的第一个oldchar替换成newchar

    toUpperCase()://将字符串转化成大写

    toLowerCase()://将字符串转化为小写

    trim()://返回该字符串去掉开头和结尾空格后的字符串

    toCharArray()://string对象转换成char数组

    代码:

    import javax.swing.JOptionPane;

    public class Jiami {

    public static void main(String[] args) {

    // TODO 自动生成的方法存根

           String x=JOptionPane.showInputDialog("请输入一个字符串:");

           char charArray[]=x.toCharArray();

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

           {

            if(charArray[i]=='X'||charArray[i]=='Y'||charArray[i]=='Z')

            charArray[i]=(char)(charArray[i]-23);

            else

            charArray[i]=(char)(charArray[i]+3);

           }

           JOptionPane.showMessageDialog(null, "加密后的字符串:"+String.valueOf(charArray));

    }

    }

  • 相关阅读:
    腾讯云发布“创新成长快线”,首期向创业者赠送10亿分钟实时音视频时长
    Tencent Kona JDK11正式开源,腾讯大数据将持续贡献Java生态发展
    腾讯视频云勇夺云端视频转码大赛多项第一
    分享一些常用的开源博客社区网站
    分享些发表技术类文章的平台
    Linux之ps命令基本使用
    彻底卸载 Oracle11g r2 教程(亲测有效,已重装过)
    Oracle11g R2 安装教程(非常详细 )
    苹果CMS搭建影视网站教程
    JSON 基本使用
  • 原文地址:https://www.cnblogs.com/11-05/p/4907938.html
Copyright © 2011-2022 走看看