API帮助文档与字符串的使用(第十二节)

API的使用与说明

API:应用程序编程接口

简单理解:API就是别人写好的东西,我们不需要写直接使用即可

java API:指的就是JDK中提供的各种功能的java类

比方说我们现在想用API帮助文档,使用Scanner类,然后再进行输入一个小数,再输出

第一步:打开帮助文档

 第二步 查看Scanner类的构造方法

第三步查看Scanner类的返回值,看看我们要如何传参过去

第四步:代码测试 

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数");
        double a = sc.nextDouble();
        System.out.println("输入的数是:"+a);
    }
}

字符串-String 

java不会字符串,开发就得凉一半

1.Strin是Java定义好的一个类。定义在java.lang 包中
所以使用的时候不需要导包
2.Java 程序中的所有字符串文字 (例如“abcdefg”)。
都被实为此类的对象
3.字符串不可变,它们的值在创建后不能被更改

创建字符串的几种方式 

 1.使用直接赋值方式

 String s1 = "abc";
 System.out.println(s1);

运行结果:

abc

 2.使用new的方式,获取一个字符串对象

 String s2 = new String();
 System.out.println("@" + s2 + "!");

运行结果:

@!

3.传递一个字符串,根据传递的字符串内容再创建一个新的字符串对象 

  String s3 = new String("avg");
  System.out.println(s3);

运行结果:

avg

4.传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象 

     char[] chs = {'a','b','c','d'};
     String s4 = new String(chs);
     System.out.println(s4);

运行结果:

abcd

 修改字符串

 需求:我要修改字符串内容 

注意:字符串是不能发生改变的,所以我们需要先把abc变成一个字符数组,数组是可以发生变化的

 char[] chs = {'a','b','c','d'};
 String s4 = new String(chs);
 System.out.println(s4);

运行结果:

abcd

传递一个字节数组,根据字节数组的内存再创建一个新的字符串对象,拿到ASCLL码值的字母,再把它转换成字符串

 byte[] bytes = {97,98,99,100};
 String  s5  = new String(bytes);
 System.out.println(s5)

运行结果:

abcd

字符串的比较 

 String a1 = "abc";
 String a2 = new String("abc");
 System.out.println(a1==a2);

==号到底比的是什么?(基本数据类型)

这个分两种情况来讨论的 ,如果是比较的基本数据类型,那么就是比较的是具体的值

   int a = 10;
   int b = 20;
   System.out.println(a == b);

运行结果:

false

 此时的代码,比较的就是10跟20这两个具体的值是否相等,现在很简单,肯定是不相等的,也就是基本数据类型比较的数据值,结果是false

==号到底比的是什么?(引用数据类型)

比较的是s1跟s2这两个变量记录的地址值是否相同,我们通过内存图可以知道,每一次new出来的它都是一块新的小空间,我们现在看到了两个new,在堆内存中它就是有两个小空间s1记录的是第一个小空间的地址值,s2记录的是第二个小空间的地址值。这两个地址值肯定不一样啊,这里的结果就是false

        String s1 = new String("abc");
        String s2 = new String("abc");
        System.out.println(s2==s1);

运行结果: 

false

字符串比较1 

 像这种直接赋值的字符串它是在"串池"里面,所以在这里它会去检查串池当中有没有abc  ,它检查的时候会发现它已经有了abc了,所以说这个时候它是不会创建新的,而是会复用。在这个情况下s1跟s2它记录的地址值是一样的,这里的结果就是true

        String s1 ="abc";
        String s2 ="abc";
        System.out.println(s1==s2);

运行结果

true

首先来看s3它是new出来的,只要是new出来的,它就是在堆里面开辟了一个小空间,我们在来看s4里面所存放的abc它是在串池里面的。所以s3它记录的是堆里面的地址,s4记录的就是串池里面的地址,两个地方都不一样,结果肯定是false

        String s3 = new String("abc");
        String s4 = "abc";
        System.out.println(s3 == s4);

 运行结果:

false

字符串比较2

boolean equals方法(要比较的字符串)   完全一样结果才是true,否则为false

我们实例化两个对象,s1跟s2,我们使用equals方法,我们线s1调用equals方法然后,圆括号里面填上所比较的变量名

        String s3 = new String("abc");
        String s4 = "abc";
        boolean result1 = s3.equals(s4);
        System.out.println(result1);

运行结果:

true

如果说我们改动一下s4里面的内容,换成一个大写的Abc,看看结果

        String s3 = new String("abc");
        String s4 = "Abc";
        boolean result1 = s3.equals(s4);
        System.out.println(result1);

运行结果:

false

false表示假,equals在比较的时候,要完全一样 

boolean equalslgnoreCase(要比较的字符串)  忽略大小写的比较
        String s3 = new String("abc");
        String s4 = "Abc";
        boolean result1 = s3.equalsIgnoreCase(s4);
        System.out.println(result1);

运行结果:

true

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值