0
点赞
收藏
分享

微信扫一扫

基于Albedo-NDVI特征空间遥感荒漠化信息提取

禾木瞎写 2024-04-29 阅读 7

1.API

应用程序接口

Java API:指的就是JDK 中提供的各种功能的Java类这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

2. String 

String 类在java.lang 包下,所以使用的时候不需要导包
String 类代表字符串,Java程序中的所有字符串文字(例如“abc”)都被实现为此类的实也就是说,Java 程序中所有的双引号字符串,都是String 类的对象
字符串的特点


字符串不可变,它们的值在创建后不能被更改
虽然 String的值是不可变的,但是它们可以被共享

字符串效果上相当于字符数组( char[]),但是底层原理是字节数组( byte[])

3.String 构造方法

package Base_one.Base_008;

public class StringDemo1 {
    public static void main(String[] args) {
        String s1 = new String();
        System.out.println(s1); // 空的

        // public String(char[] chs) 根据字符数组的内容 创建字符串对象
        char[] chs ={'a','b','c'};
        String s2 = new String(chs); //String方法传进去一个字符数组
        System.out.println(s2);

        //public string(byte[] bys):根据字节数组的内容,来创建字符串对象
        byte[] bys = {97,2,3};
        byte[] bys1 = {97,98,99};
        String s3 = new String(bys);
        System.out.println(s3); // a

        String s4 = new String(bys1);
        System.out.println(s4); // abc

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

    }
}

4. String 对象的特点

通过 new 创建的字符串对象,每一次 new都会申请一个内存空间,虽然内容相同,但是地址值不同

char[]chs ={'a','b''c'}i
string sl=new string(chs);
string s2=new string(chs);

上面的代码中,JVM会首先创建一个字符数组,然后每一次new的时候都会有一个新的地址,只不过s1和s2参考的字符串内容是相同的

2)以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个String 对象,并在字符串池中维护

String s3="abc";
String s4="abc";

在上面的代码中,针对第一行代码,JVM 会建立一个String对象放在字符串池中,并给s3 参考;第二行则让s4 直接参考字符串池中的Strinq对象,也就是说它们本质上是同一个对象。

package Base_one.Base_008;

public class String_object {
    public static void main(String[] args) {
        // 构造方法的方式创建对象
        char[] chs = {'a','b','c'};
        String s1 = new String(chs);
        String s2 = new String(chs);

        System.out.println(s1==s2); //false
        // 直接赋值的方式得到对象
        String s3 = "abc";
        String s4 = "abc";
        System.out.println(s3==s4); //true
        // 比较字符串的地址是否相同
        System.out.println(s1==s3); //false

    }
}

5.字符串的比较

package Base_one.Base_008;


public class StringDemo02 {
    public static void main(String[] args) {


    char[] chs = {'a','b','c'};
    String s1 = new String(chs);
    String s2 = new String(chs);

    String s3 = "abc";
    String s4 = "abc";
    // 比较字符串对象的地址值是否相同
    System.out.println(s1==s2); //false
    System.out.println(s1==s3); //flase
    System.out.println(s3==s4); //true
    System.out.println("----");
    //比较字符串内容是否相同
    System.out.println(s1.equals(s2)); //true
    System.out.println(s1.equals(s3)); //true
    System.out.println(s3.equals(s4)); //true

    }
}

6. 用户登录

package Base_one.Base_008;

import java.util.Scanner;
import java.util.stream.Stream;

public class StringTest01 {
    public static void main(String[] args) {
        String user = "user";
        String pwd = "a123456";
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入用户名:");
        String username = scanner.nextLine();

        System.out.println("请输入密码:");
        String password = scanner.nextLine();

        StringTest01 test01 = new StringTest01();

        int cout=0;
        for(int i=0;i<3;i++){
            if(username.equals(user) && (password.equals(pwd))){
                System.out.println("正确");
                break;
            }else {
                System.out.println("第"+(i+1)+"次输入不对,重新输入");
                System.out.println("还有"+(2-i)+"次机会");
                if ((2-i)==0){
                    System.out.println("三次机会使用完毕!");
                    break;
                }else {
//                username = usr.nextLine();
//                password = pw.nextLine();
                    username = test01.userInput(username);
                    password = test01.pwdInput(password);
                }
            }
          }
    }
    public String userInput(String username){
        Scanner usr = new Scanner(System.in);
        String u = usr.nextLine();
        return u;
    }

    public String pwdInput(String password){
        Scanner pw = new Scanner(System.in);
        String p = pw.nextLine();
        return p;
    }
}

7.遍历字符串

package Base_one.Base_008;

import java.util.Scanner;

public class StringYest02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String line = sc.nextLine();
        for (int i = 0;i<line.length();i++){
            System.out.print(line.charAt(i)+" ");
        }
    }
}

8. 统计字符次数

package Base_one.Base_008;

import java.util.Scanner;

public class StringTest03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个字符串");
        String line = sc.nextLine();
        int D = 0;
        int X = 0;
        int number = 0;
        for (int i= 0;i<line.length();i++){
            char ch = line.charAt(i);
            if (ch>='A' && ch<='Z'){
                D++;
            } else if (ch>='a' && ch<='z') {
                X++;
            } else if (ch>='0' && ch<='9') {
                number++;
            }else { // 其他字符的情况
                continue;
            }
        }
        System.out.println(D);
        System.out.println(X);
        System.out.println(number);
    }
}

8. 拼接字符串

举报

相关推荐

0 条评论