大数据基础之java常用API一

Posted 淼淼_喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据基础之java常用API一相关的知识,希望对你有一定的参考价值。

常用API


1. Object类

  1. 构造方法
  2. 空参构造
  3. 全参构造

Object类: 是所有类的基类,或者说公共父类,每个类都直接或者间接的继承自Object,所以该类中有的方法,其他类中都有

构造方法:
public Object(); 所有类的构造方法中都会默认调用super() 会逐级调用直到调用到Object类为止.
成员方法:
public String toString(); 将对象转换为字符串时调用,可以打印指定内容,类似于Python中的__str__()
public boolean equals(Object obj); 对比两个对象的大小

注意:在开发中一般使用 == 比较是否为同一地址
会使用equals 比较两个对象是否为同一内容
例如: 在开发中 new Person(“小红”, 12); 与 new Person(“小兰”, 15); 不是同一对象
但是.在开发中 new Person(“小红”, 12); 与 new Person(“小红”, 12); 是同一对象

2. String类

构造方法

    //1.构造方法
   //   String name = new String(); // 此处为空字符串
char[] arrChar = 'a', 'b', 'c';
String str1 = new String(arrChar);
System.out.println(str1);
String name = "jack"; // 字符串定义的语法糖 
System.out.println(name);
  1. toString

  2. equals

  3. equalsIgnoreCase

  4. charAt

  5. toCharArray

public static void main(String[] args) 
   String str1 = "abc";
    char[] arrChar = 'a', 'b', 'c';
    String str2 = new String(arrChar);
    System.out.println(str1);
    System.out.println(str2);
   
     // equals: 比较两个字符串是否相等
       System.out.println(str1 == str2); // false 两个内容相同的字符串对象,地址不一定相同
       System.out.println(str1.equals(str2)); // true equals 比较的是两个字符串中的内容是否相同,所以Strign中一定重写了equals
   
       // equalsIgnoreCase: 比较两个字符串是否相等,忽略大小写
       String str3 = "aBc";
       System.out.println(str1.equals(str3)); // false
       System.out.println(str1.equalsIgnoreCase(str3)); // true 对比内容的时候忽略大小写
   
       // charAt: 可以获取指定位置的字符
       // 获取元素时,索引值从0开始,左至右依次递增.
       char char1 = str3.charAt(1);
       System.out.println(char1); // B
       // 能不能使用索引[]直接从字符串中取值???
       // System.out.println(str3[1]);
   
       // toCharArray: 将字符串拆解为字符数组
       char[] chars = str2.toCharArray();
       System.out.println("chars = " + Arrays.toString(chars));
   
       //探索: 在Python中常用的一些替换 拆分 等等功能在java存在么??
       String str4 = "hello world and java";
       // 字符串替换
       str4 = str4.replace("java", "bigdata");
       System.out.println(str4);
       // 根据分隔符拆分字符串
       String[] s1 = str4.split(" ");
       System.out.println(Arrays.toString(s1)); // [hello, world, and, bigdata]
       // toUpperCase将字符串准换为大写, toLowerCase 将字符串全部转换为小写
       String s2 = str4.toUpperCase();
       System.out.println(s2);
       
       //面试题: 获取字符串的长度怎么做?
       System.out.println(str4.length());
       // 获取数组的长度,怎么做??
       System.out.println(chars.length);
       // 结论: 获取字符串长度,使用的是length方法, 获取数组长度使用的是length属性
       
   

String案例

public static void main(String[] args) 
        // 1. 定义两个变量,分别保存账号和密码信息
        String userName = "传智播客";
        String passWord = "123456";
        // 6. 循环三次,每次获取循环的次数
        // 由于我们是循环指定的次数,所以此时我们选择for循环
        for (int i = 1; i <= 3; i++) 
            // 2. 让用户键入账号密码信息
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您的账号:");
            String inputUserName = sc.nextLine();
            System.out.println("请输入您的密码:");
            String inputPassWord = sc.nextLine();
            // 3. 比对账号密码是否正确
            // == 判断的是地址相同,这里的需求时判断数值是否相同,所以应该选择equals进行相等判断
//            if (userName == inputUserName && passWord == inputPassWord) 
            if (userName.equals(inputUserName) && passWord.equals(inputPassWord)) 
                // 4. 如果正确 提示 欢迎您
                System.out.println("您登录成功了!!!");
                // 如果输入账号密码正确,则跳出循环结束程序
                break;
             else 
                // 5. 如果不正确 提示剩余次数(3-循环次数)
                System.out.println("输入错误,您还有" + (3 - i) + "次机会");
                if (3 - i == 0) 
                    // 7. 如果剩余循环次数为0 , 则提示您的账号已经被锁定
                    System.out.println("您已经三次输入错误,账号已经被锁定");
                
            
        

    
 public static void main(String[] args) 
        // 键盘录入字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入随机的一个字符串:");
        String nextLine = sc.nextLine();
        // 可以更具ascii码的大小判断字符的类型
//        char a = 98;
//        System.out.println(a);
        //创建几个变量分别记录数字,大写字母,小写字母的数量
        int upperCharCount = 0;
        int lowerCharCount = 0;
        int numberCount = 0;
        // 遍历字符串(获取字符串中的每一个字符)
        for (int i = 0; i < nextLine.length(); i++) 
            char c1 = nextLine.charAt(i);
            // 根据数值的范围统计该类型字符出现的次数
            if (c1 >= 'a' && c1 <= 'z') 
                lowerCharCount++;
             else if (c1 >= 'A' && c1 <= 'Z') 
                upperCharCount++;
             else if (c1 >= '0' && c1 <= '9') 
                numberCount++;
            
        
        System.out.println("大写字母有:" + upperCharCount);
        System.out.println("小写字母有:" + lowerCharCount);
        System.out.println("数字字符有:" + numberCount);
    
public static void main(String[] args) 
    // 1.获取用户键入的字符串信息
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入随机的一个字符串:");
    String nextLine = sc.nextLine();
    // 快速抽取方法的快捷键:ctrl + alt + m
    reverse(nextLine);
    // 思考:在python中直接使用reverse可以进行字符串反转,在java中有没有类似的方法呢??



private static void reverse(String nextLine) 
    //2.创建一个新的字符串用于保存反转后的结果
    String newString = "";
    // 遍历字符串(获取字符串中的每一个字符)
    for (int i = 0; i < nextLine.length(); i++) 
        // 获取每一次遍历得到的字符信息
        char c1 = nextLine.charAt(i);
        newString = c1 +  newString;
    
    System.out.println(newString);

  1. StringBuilder类

    1. append

    2. reverse

    3. toString

 /*
   介绍StringBuilder: 可变的字符序列, 叫做字符串缓存区类
   StringBuilder类,内部的字符数据是可以被修改的,和字符串之间可以相互转换
   构造方法:
 1.public StringBuilder();
 2.public StringBuilder(String s);
   成员方法
  1. append:在stringbuilder中追加字符
  2.  reverse:反转字符
  3. toString: 将StringBuilder类数据转换为字符串数据
   */
  public class Demo01 
      public static void main(String[] args) 
          //StringBuilder对象的定义:
          StringBuilder sb1 = new     
          StringBuilder();// 此时为空字符串
          System.out.println(sb1);
         StringBuilder sb2 = new StringBuilder("hello world!!!");
         StringBuilder sb3 = new       StringBuilder("hello world!!!");
   // 执行打印方法时,自动调用了toString();
   // 此时证明StringBuilder类中重写了toString 方法,输出的是StringBuilder中保存的字符串信息
        System.out.println(sb2); // hello world!!!
        String string = sb2.toString();
      
              // append  给sb1添加字符信息
              // append 方法返回值就是当前的StringBuilder对象本身
              sb1.append(123);
              sb1.append("你好");
              // append 可以反复添加数据
              System.out.println(sb1);
              // 可以使用链式编程的方式进行调用
              sb1.append(123).append(456).append(678);
              System.out.println(sb1);
      
              // reverse 反转字符串
              // 在原有数据上进行了反转,产生新的数据
      //        sb2.reverse();
      //        System.out.println(sb2);
      
     // 拓展:
      // StringBuilder 中的equals没有重写, 还是去对比的两个对象的地址值是否相等
      System.out.println(sb2.equals(sb3)); // false
      
       
    ```


以上是关于大数据基础之java常用API一的主要内容,如果未能解决你的问题,请参考以下文章

一脚踩进java之基础篇28——常用API(Arrays类,大数据运算)

大数据基础之java常用API三(SimpleDateFormat类和Calendar类的使用)

Java基础学习笔记十三 常用API之正则表达式DateDateFormatCalendar

学习大数据:Java基础篇之方法

学习大数据:Java基础篇之方法

Java基础学习笔记十四 常用API之基本类型包装类