zoukankan      html  css  js  c++  java
  • Java字符串String相关

    一、

    在Java内编写代码如下:

    1        String str="字符串常量";
    2         String str1=new String("字符串常量");//构造方法
    3         String str2=new String("字符串常量");
    4         System.out.println("str="+str);
    5         System.out.println("str2="+str2);
    6         System.out.println("str1="+str1);
    7         System.out.println("str1和str2是否相等:"+(str1==str2));
    8         System.out.println("str和str1是否相等:"+(str==str1));
    9         System.out.println("str和str2是否相等:"+(str==str2));

    则运行结果为:

    发现尽管都是定义的"字符串常量",但是str、str1和str2之间并不相等。

    继续在Java内编写代码如下:

     1 String str="字符串常量"; 2 String str3="字符串常量"; 3 System.out.println("str和str3是否相等:"+(str==str3)); 

    则运行结果为:

    这是为什么呢?

    解释:

     "==" 这种运算,比较的是内存地址是否相等。

    即str和str3引用的是同一个内存地址,而new是开辟新的内存空间,所以str、str1和str2之间并不相等

    若想要str、str1和str2之间相等该如何编写?

    在Java内编写代码如下:

     1 String str1=new String("字符串常量"); 2 String str2=new String("字符串常量"); 3 System.out.println("str1和str2是否相同:"+str1.equals(str2)); 

    则运行结果为:

    由此可见需要使用:equals(变量)

    二、

     1      //字符串信息
     2         String str="字符串常量字符串常量";
     3         System.out.println("字符串长度="+str.length());
     4         //从前往后查找字符串中子字符串的位置,返回找到之后的首字的索引值
     5         System.out.println("常字的位置="+str.indexOf("常"));
     6         System.out.println("常量的位置="+str.indexOf("常量"));
     7         //查找不到,返回-1
     8         System.out.println("我的位置="+str.indexOf("我"));
     9         
    10         System.out.println("最后常字的位置="+str.lastIndexOf("常"));
    11         
    12         //获取字符
    13         char c1=str.charAt(0);  //charAt(索引)
    14         System.out.println("c1="+c1);

    则运行结果依次为:

    附今天的思维导图:

  • 相关阅读:
    iOS——归档对象的创建,数据写入与读取
    iOS——plist的创建,数据写入与读取
    SQL SERVER 2005快捷键
    图片放大源码
    验证url 地址是否是图片
    JS三大经典变量命名法
    载入锁频
    SQL Server 查询分析器键盘快捷方式
    关于ajax get方式请求 url地址参数怎么变成空了的问题
    SQL计算表的列数
  • 原文地址:https://www.cnblogs.com/hanazawalove/p/5228722.html
Copyright © 2011-2022 走看看