String类、Arrays类

String类

概念:之前都已经接触到了String的对象,是一个字符串。String类就代表的是字符串
特点

1.双引号引起来的"abc",这种也是String对象,这种对象不是保存到堆中而是方法区的常量池中
2.字符串对象是不可变的对象,只要你观察到字符串的内容变化了,那么肯定是一个新的String对象诞生了
3.字符串对象是不可变的,所以所有的字符串常量对象具有共享性
4.字符串的底层是字符数组
“abc”等效于 char[ ] data = {‘a’,‘b’,‘c’}
String类的使用

构造方法
1.直接赋值:也是一个对象,但是保存到的常量池,常用

String s = "abc";

2.无参构造:

public String();
String s1 = new String();//保存到堆中

3.有参构造:

public String("其他字符串")

String s = new String("abc")//保存到堆中

4.有参构造:常用

public String(char[] chs);

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

5.有参构造:常用

public String (byte[] bs);

byte[] bs = {'a','b','c'};
String s = new String(bs);

常用方法
1.判断

public boolean equals(String anoString);//比较两个字符串对象的内容是否相等,常用

public boolean equalsIgnoreCase(String anotherString);//忽略大小比较内容,常用

public boolean contains(String s);//判断是否包含某个字符串,常用

public boolean startsWith(String anoString);//判断前缀

public boolean endsWith(String anoString);//判断后缀

2.获取,都常用

public int length();//获取字符串的长度

public String concat(String str);//拼接字符串

public char charAt(int index);//获取指定下标的字符

public int indexOf(String str);//获取str第一次出现的索引

public String substring(int buginIndex);//从开始下标处截取字符串,返回新的字符串

public String substring(int beginIndex,int endIndex);//从开始到结束下标截取字符串(含头不含尾)

3.转换

public char[] toCharArray();//转换成字符数组,常用

public byte[] getBytes();//转成字节数组,常用

public String replace(String oldStr,String newStr);//将oldStr转换为newStr,常用

public String toUpperCase();//转成大写字符串

public String toLowerCase();//转成小写字符串

4.分割,就一个肯定常用

public String[] split(String 切割符);//以指定的切割符切割字符串,返回字符串组

Arrays类

概念:是一个工具类,包含用来操作数组的各种方法
特点:所有方法是静态的
常用方法

public static String toString(int[] a);//将数组转换成固定格式字符串,
//打印时不用我们遍历输出了,简化开发

public static void sort(int[] a);//排序数组(升序)

Arrays类练习

public static void main(String[] args) {
        //1.输入一个
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个随机字符串:");
        String str = sc.nextLine();
        //2.升序排序字符串中所有字符
        char[] chs = str.toCharArray();
        Arrays.sort(chs);
        //3.转成字符串
        String newStr = new String(chs);
       //4.倒叙
        for(int i = newStr.length()-1;i >= 0;i--) {
            char ch = newStr.charAt(i);
            System.out.print(ch+" ");
        }
    }

Math类

概念:包含了用于执行基本数学运算的方法
基本运算方法

public static double abs(double a);//求一个数的绝对值

public static double ceil(double a);//向上取整

public static double floor(double a);//向下取整

public static long round(double a);//四舍五入

注意:如果是整数(比如6,6.0),那么ceil和floor都是其本身

热门文章

暂无图片
编程学习 ·

NASM系列啊

文章目录NASM是什么?NASM下载与安装 NASM是什么?The Netwide Assembler, 一款基于80x86和x86-64平台的汇编语言编译程序, 是为了实现编译器程序跨平台和模块化的特性。 NASM支持大量的文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32…
暂无图片
编程学习 ·

10.4 引用的本质

10.4 引用的本质 引用的本质其实是一个指针常量。 也就是说:int &b = a;本质上是:int* const b = &a;回想一下引用的一个特性(引用一旦确定了引用关系就不能改变)不难发现,这与指针常量的特性一样。指针常量也是不能再改变指针指向的地址。
暂无图片
编程学习 ·

提高复杂网络分析效率!中国科学家研发强化学习新框架

提高复杂网络分析效率!中国科学家研发强化学习新框架近日,中国国防科技大学、美国加州大学洛杉矶分校和哈佛医学院的研究人员研发了一个深度强化学习框架FINDER。相比于现有的解决方案,FINDER能够更快速、更高效地找到复杂网络中一组最关键的节点,进而使复杂网络以较高的效…
暂无图片
编程学习 ·

Android 人民币符号在布局中实现的效果不一样的处理方法

大致效果图如下图1 2 这2个都是在java代码中 人民币符号+ 金额 以前没怎么在意ui走查的时候提出来的bug看了半天才发现问题 就是一个是是自己手打的的人民币符号,一个是从ui的效果图上复制过来的人民币符号最后自己的处理方法就是复制ui效果图的人民币符号,大致原因也知道就…
暂无图片
编程学习 ·

Docker 进阶篇(一)镜像加速器,镜像管理,私有镜像仓库

Docker 进阶篇(一)镜像加速器,镜像管理,私有镜像仓库为Docker 设置存储空间配置镜像加速器镜像管理使用离线镜像搜索镜像通过容器创建对象将本地镜像推送到公网Docker 镜像仓库中创建Docker Register 私有仓库 为Docker 设置存储空间 在使用Docker的时候,经常会遇到Docker…
暂无图片
编程学习 ·

网上书城项目分析及前端页面

网上书城项目分析及前端页面项目分析背景/价值需求/功能需求功能划分前端页面实现登录and注册效果代码主页面效果代码搜索页面效果代码购物车页面效果代码思维导图总结 项目分析 背景/价值 背景 个人书店的业务管理使用 价值 方便个人书店的推广 角色 老板 消费者 思维导图需求…
暂无图片
编程学习 ·

Python函数图像绘制(使用海龟库)

序言 如果我们想绘制函数图像,百度上的实现方法琳琅满目,而大多都是使用matlab或其他复杂的库。对于初学者十分头疼。今天我将带着大家一起使用海龟库绘制函数图像。程序十分简单,相对的也不是很美观,大家可以再完善。 准备工作 import turtle as t t.speed(0)#绘制速度达到…
暂无图片
编程学习 ·

SpringBoot+Mybatis实现简单的增删改查

SpringBoot+Mybatis实现简单的增删改查 首先是在Springboot项目中整合Mybatis 先导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.2</version></dependen…
暂无图片
编程学习 ·

mongoDB采坑

mongoDB采坑 安装问题没有权限参考 https://blog.csdn.net/qq_20084101/article/details/82261195
暂无图片
编程学习 ·

docsify 构建文档网站之定制功能(全网最全)

作者: wugenqiang 学习笔记:https://notebook.js.org/ 微信公众号:码客 E 分享(ID:enjoytoshare)文档后续更新地址:docsify 构建文档网站4 定制功能 文章目录4 定制功能4.1 支持 DOT 语言作图4.2 支持 LaTex 数学公式4.3 支持 PDF 页面展示4.4 支持回到顶部4.5 点击页面…
暂无图片
编程学习 ·

人工智能常用数据预处理

人工智能常用数据预处理一级目录正态化、标准化、归一化、正则化区别和作用 一级目录 1.读数据 2.合并训练和测试 2.填充空白数据 4.改变非数字为数字 5.去除无关数据 6.降为(合并相关数据) 7.正态化数据(碗圆) 正态化、标准化、归一化、正则化区别和作用 1.正态化归一化是…
暂无图片
编程学习 ·

斐波那契数列递归算法的优化

public class Fibonacci { //优化使用的数组 static long[] cach = new long[51];public static void main(String[] args) {long a = System.currentTimeMillis();System.out.println( fd( 50 ) );long l = System.currentTimeMillis();System.out.println( l - a );long l1 =…
暂无图片
编程学习 ·

硕彦博创李飞授——Linux权限、掩码、编译

1、文件的权限 - rw- rw- -w- a.txt 类型 创建者 群组 其他人常用类型有:文件(-),文件夹(d),链接文件(l)等文件的权限:文件允许用户操作的一个权限文件对于用户的分类:创建者(u)群组(g)其他人(o)所有用户(a)文件的权限:r (read)读 …
暂无图片
编程学习 ·

C++的默认构造函数与构造函数

构造函数:C++用于构建类的新对象时需要调用的函数。 默认构造函数:未提供显式初始值时,用来创建对象的构造函数。 class testClass { public:testClass(); /* 默认构造函数 */testClass(int a, char b); /* 构造函数 */testClass(int a=10,char b…
暂无图片
编程学习 ·

快手2020校园招聘秋招笔试--工程B试卷

攻击者使用无效IP地址,利用TCP连接的三次握手过程,连续发送会话请求,使受害主机处于开放会话的请求之中,直至连接超时,最终因耗尽资源而停止响应。这种攻击被称为A. DNS欺骗攻击 B. DDoS攻击 C. SYN Flooding攻击 D. 重放攻击DNS欺骗攻击:DNS(Domin Name Sever)是域名服…
暂无图片
编程学习 ·

吴说区块链:吉比特创始人「疑遭警方调查」暂时失联

据吴说区块链消息,吉比特创始人雷太国遭到举报暂时失联,疑似遭到警方调查。雷太国旗下主要有三大业务,分别是云算力销售平台吉比特、发币LTG(辣条哥,也是雷太国名字的三个首字母)、交易所CHANGE COIN(币兑)。吉比特自称,矿场分布在四川有4个,新疆有3个,内蒙古有3个,…