大数据基础之java常用API一

news2024/11/19 16:30:28

常用API

    • 1. Object类
    • 2. String类
      • String案例


在这里插入图片描述

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
      
       }
    ```


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#里在子窗口与父窗口之间进行数据传送

在C#里经常需要在子窗口与父窗口之间进行数据传送,或者调用,虽然有很多方法可以实现,但是采用委托还是比较简单和直接的方式。 所以这次针对委托来演示一下怎么样实现这种功能。 下面先来创建一个带两窗口的例子,如下图所示: 接着来看一下,创建父窗口的代码: namespace…

【C++笔试强训】第十一天

&#x1f387;C笔试强训 博客主页&#xff1a;一起去看日落吗分享博主的C刷题日常&#xff0c;大家一起学习博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a;夜色难免微凉&#xff0c;前方必有曙光 &#x1f31e;。 &#x1f4a6; &…

vite基础知识-1

为什么选择vite&#xff1f; 讲vite之前&#xff0c;我们先来了解一下webpack的原理。 webpack支持多种模块化&#xff08;浏览器端和服务端都可以运行&#xff09;。比如&#xff1a; // index.js const lodash require("lodash"); // commonjs规范 import React…

win10 docker desktop 报 docker desktop stopped

win10电脑安装doker deskto遇到一些问题解决过程记录 报 docker desktop stopped 没过多会, docker desktop就自动退出了, 要以理解为闪退 网上查了一下原因, 虚拟化可能没设置 进入bios, 发现笔记本电脑没有这个设置 重启电脑后, 弹出消息 WSL 2 installation is incompl…

通道分离与合并、彩色图转换为灰度图、二值化

文章目录图像基础重要的函数图像基本知识图像基础通道分离与合并彩色图转换为灰度图二值化图像的加减乘除图像基础 矩阵分辨率8位整型图像浮点数图像 现在简单介绍下二值化、灰度图以及真彩色和假彩色 图像的二值化&#xff0c;就是将图像上的像素点的灰度值设置为0或255&am…

安装宝塔面板(详细教程)

目录 安装宝塔面板 &#xff08;一&#xff09;前言 &#xff08;二&#xff09;准备工作 1、官网&#xff1a;宝塔面板下载&#xff0c;免费全能的服务器运维软件 &#xff08;三&#xff09;安装宝塔面板 1、进入官网&#xff0c;选择“安装脚本” 2、选择对应版本的安…

C++游戏开发小笔记

1.入门小语法 1.1 命名空间 当想使用库文件的某个函数时&#xff0c;为了防止由于重名而引起的混乱调用&#xff0c;使用命名空间来区分同名函数。 字符串String也是标准命名空间的一个。如果没有using namespace std; 想用string 类型得 std:: string 1.2浮点数的存储…

计算机视觉--flask部署 目标检测算法,并在局域网内远端访问

1.flask框架 Flask是一个轻量级的基于Python的web框架。static 文件夹来保存静态文件&#xff0c;templates 文件夹存放前端页面 安装&#xff1a; pip install Flask框架代码&#xff1a; from flask import * from flask import Flaskapp Flask(__name__) //获取实例app.…

Web监听器:Listener

Listener简介常用监听接口监听在线用户信息的实现Model层Controller层OnlineUserListener的实现View层测试简介 监听器&#xff08;Listener&#xff09;&#xff0c;是一个实现特定接口的普通Java程序&#xff0c;用于监听Web应用中的对象或信息发生改变时&#xff0c;作出相应…

大前端进阶

目录 1.概述和前端工具vscode安装 1.下载安装VScode 2.中文界面配置 3.插件安装 4.设置字体大小 5.开启完整的Emmet语法支持 2.Nodejs 1.Nodejs介绍与安装 2.快速入门-Hello World 3.Node - 实现请求响应 4.Node-操作MYSQL数据库 3.Es6 1.ES6的概述 2.ES6的语法…

Docker实战:使用Dockerfile部署第一个netcore程序

目录 1、创建一个NetCore API项目 2、云服务部署 2.1 首先登录云服务器创建一个测试目录 2.2 新建dockerfile文件用来构建镜像。 2.3 构建镜像 2.4 运行镜像 目录 1、创建一个NetCore API项目 2、云服务部署 2.1 首先登录云服务器创建一个测试目录 2.2 新建dockerfil…

Python3,10h行代码,制作艺术签名,从此走上人生巅峰。

制作艺术签名1、引言2、代码实战2.1 代码示例3、总结1、引言 小鱼&#xff1a;小屌丝&#xff0c;你在画啥呢&#xff1f; 小屌丝&#xff1a;… 我这在练习签名呢。 小鱼&#xff1a;这… 艺术签&#xff1f; 小屌丝&#xff1a;喔&#xff0c;鱼哥&#xff0c;你这真实博才多…

CSDN云IDE怎样克隆代码

文章目录1、怎样从GitHub导入项目&#xff1f;1.1、系统生成SSH-KEY2、克隆代码2.1、克隆代码方式一2.2、克隆代码方式二2.3、克隆代码方式三1、怎样从GitHub导入项目&#xff1f; 1.1、系统生成SSH-KEY 1、打开Terminal 2、查看是否存在现有的ssh密钥 $ ls -al ~/.ssh3、检…

【LeetCode】【二叉树的最近公共祖先】

力扣 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以是它自…

《JavaSE-第十四章》之文件(一)

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 刷题求职神器 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水…

Go 语言中的并发编程(Let‘s Go 二十八)

Go从底层就支持并发编程&#xff0c;同时实现垃圾回收机制。 先了解并发相关的几个名词概念。 进程&#xff1a;系统进行资源分配和调度的基本单位&#xff0c;使系统结构的基础&#xff0c;它是一个实体。 线程&#xff1a;是程序中一个单一的顺序执行流程&#xff0c;是进程…

python做了个自动关机工具,再也不会耽误我下班啦

上班族经常会遇到这样情况&#xff0c;着急下班结果将关机误点成重启&#xff0c;或者临近下班又通知开会&#xff0c;开完会已经迟了还要去给电脑关机。 【阅读全文】 今天使用PyQt5做了个自动关机的小工具&#xff0c;设置好关机时间然后直接提交即可&#xff0c;下班就可以…

什么是JWT及在JAVA中如何使用?

目录 1、为什么使用JWT? 2、JWT 的 格式 3、使用 JWT 就绝对安全 吗&#xff1f; 4、JWT 的 鉴权 流程 5、JWT 入门案例 5.1 引入依赖 5.2 生成Token 5.3 解析Token 5.4 工具类 JSON Web token简称JWT&#xff0c; 是用于对应用程序上的用户进行身份验证的标记。 也就…

测试中台初始设置

1.0 测试资源池 存在测试资源之后&#xff0c;将测试资源进行统一的管理&#xff0c;针对不同的测试场景和目的来定义不同的测试环境。将测试资源进行组合&#xff0c;测试平台可以对测试资源池进行统一的功能。 2.0 可用性测试及冒烟测试 可用性测试和冒烟测试都是快速验证…

基于Ubuntu搭建CTFd平台(全网最全)

前言&#xff1a; 最近在看《CTF安全竞赛入门》这本书&#xff0c;里面提到了搭建CTFd平台用于练习&#xff0c;学者可以在本地虚拟机上搭建。 所需系统&#xff1a;Ubuntu20.04 怎么安装虚拟机和配置Ubuntu这里就不再赘述了。 记得给Ubuntu配置VM tools1&#xff0c;方便把w…