API

JDK
  1 JDK包括大量API库类,这些类库是已经编写好的可以直接调用的功能
java.lang不需要import直接使用。
  2 String是用final修饰的,系统给予String很多特权,可以使用跟基本类型
相同方式声明初始化变量。所以通过fina修饰加以限制,不可以被继承。
  3 String是不可改变的对象,如果通过+“”修改字符串会创建新的对象,
而不是在原对象基础上直接修改。
  4 java推荐使用字面量的形式创建字符串。相同的字符串内容可以重用常量池
中已经创建的字符串而不是创建新的。
  5. 使用加号连接两个字面量,jvm会直接将两个字面量合成一个。
      String a="你好";String b="我在学java";
      String c=a+b;
      String d="你好"+"我在学java"
      String e="你好我在学java";
      d=e!=c
  6.String常用功能:
  1) int length();                                    int  length()返回字符串的长度
  2) int indexOf(String str)ch            查询给定字符串在当前字符串中的位置
        int lastIndexOf(String str)        查询给定字符串在当前字符串中的最后位置
        int indexOf(String str  int a ) 从第a个开始查询给定字符串在当前字符串中的位置
  3) String  substring(int start,int end);
        String  substring(int start);
        java api特点:用两个数字表示范围的。通常含头不含尾
  4) char charAt(int index)                  查询指定位置的字符  
  5) String toUpperCase()                      将所有英文变大写  在验证码不区分大小写时
        String toLowerCase()                      将所有英文变小写
  6) String trim()                                    去字符串两端空白字符
  7) boolean startsWith(String str)  判断字符串是否以给定的字符串作为开始或结束。
        boolean endsWith(String str)
  8) String valueOf()
        int a=12343245;
        String b=String.valueOf(a);
  7.StringBuilder
      是在有频繁修改字符串内容时使用。它修改对象实在当前对象的基础上进行的不需要每次修改。
创建新的对象所以对于资源的占用以及效率都很好。StringBuilder提供了方便修改字符串内容的方法
  8.StringBuilder提供了方便修改字符串内容的方法
  1)StringBuilder转String方法
        StringBuilder sv=new StringBuilder("努力学;
        String str = sv.toString();
  2)StringBuilder类型添加字符串
      StringBuilder sv=new StringBuilder("努力学习;
      sv.append(",为了找个好工作?");
      System.out.println(sv);
  3).replace(int start,int end,String str); 替换一定范围字符串
  4).delete(int start,int end);
  5).insert(2, "正义也许会迟到,但他从不缺席"); 从某一句添加一段字符串
  6)sb.delete(16,sb.length());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
String a="hello world"; //在java中有一个常量池,当创建String 类型的引用变量给它赋值时,java会到它的常量池中找"hello world"是不是在常量池中已存在。如果已经存在则返回这个常量池中的"hello world"的地址(在java中叫引用)给变量a 。注意a并不是一个对象,而是一个引用类型的变量。它里面存的实际上是一个地址值,而这个值是指向一个字符串对象的。在程序中凡是以"hello world"这种常量似的形式给出的都被放在常量池中。 String b=new String("hello world"); //这种用new关键字定义的字符串,是在堆中分配空间的。而分配空间就是由new去完成的,由new去决定分配多大空间,并对空间初始化为字符串"hello world" 返回其在堆上的地址。 通过上面的原理,可以做如下实验: String a="hello world"; String b="hello world"; String c=new String("hello world"); String d=new String("hello world"); if(a==b) System.out.println("a==b"); else System.out.println("a!=b"); if(c==d) System.out.println("c==d"); else System.out.println("c!=d"); //输出结果: a==b c!=d 为什么会出现上面的情况呢? String a="hello world"; String b="hello world"; 通过上面的讲解可以知道,a和b都是指向常量池的同一个常量字符串"hello world"的,因此它们返回的地址是相同的。a和b都是引用类型,相当于c语言里面的指针。java里面没有指针的概念,但是实际上引用变量里面放的确实是地址值,只是java为了安全不允许我们对想c语言中的那样对指针进行操作(如++ 、--)等。这样就有效的防止了指针在内存中的游离。 而对于 String c=new String("hello world"); String d=new String("hello world"); 来说是不相等的,他们是有new在堆中开辟了两块内存空间,返回的地址当然是不相等的了。如果我们要比较这两个字符串的内容怎么办呢?可以用下面的语句: if(c.equals(d)) System.out.println("c==d"); else System.out.println("c!=d"); //输出 c==d

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值