第八周学习笔记DAY.4-实用类介绍

本课目标

能够定义并使用枚举类型

掌握包装类及装箱、拆箱概念

会使用Math类进行数学运算

枚举

枚举指由一组固定的常量组成的类型

Java API

常用Java API

java.lang

        Enum、包装类、Math、String、StringBuffer、System… …

java.util

java.io

java.sql

… …

包装类

包装类把基本类型数据转换为对象

每个基本类型在java.lang包中都有一个相应的包装类

包装类的作用

提供了一系列实用的方法

集合不允许存放基本数据类型数据,存放数字时,要用包装类型

包装类的构造方法

所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例

public Type(type value)

如:Integer i=new Integer(1);

除Character类外,其他包装类可将一个字符串作为参数构造它们的实例

public Type(String value)

如:Integer i=new Integer("123");

注意事项

Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false

当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常

包装类的常用方法

XXXValue():包装类转换成基本类型

Integer integerId=new Integer(25);

int intId=integerId.intValue();

toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)

String sex=Character.toString('男');

String id=Integer.toString(25);

String sex='男'+"";

String id=25+"";

parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)

int num=Integer.parseInt("36");

boolean bool=Boolean.parseBoolean("false");

valueOf()

所有包装类都有如下方法(基本类型->包装类)

    public static Type valueOf(type value)

如:Integer intValue = Integer.valueOf(21);

除Character类外,其他包装类都有如下方法(字符串->包装类)      

public static Type valueOf(String s)

如: Integer intValue = Integer.valueOf("21");

装箱和拆箱

基本类型和包装类的自动转换

Integer intObject = 5;

int intValue = intObject;

装箱:基本类型转换为包装类的对象

拆箱:包装类对象转换为基本类型的值

包装类的特点

JDK1.5后,允许基本数据类型和包装类型进行混合数学运算

包装类并不是用来取代基本数据类型的

在基本数据类型需要用对象表示时使用

Math类

java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)

Math.abs(-3.5); //返回3.5

Math.max(2.5, 90.5);//返回90.5

int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数

本课目标

会使用Random类获取随机数

会使用String操作字符串

Random类

生成随机数的其他方式

java.util.Random类

Random rand=new Random(); //创建一个Random对象

for(int i=0;i<20;i++){//随机生成20个随机整数,并显示

         int num=rand.nextInt(10);//返回下一个伪随机数,整型的

      System.out.println("第"+(i+1)+"个随机数是:"+num);

}

用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的

String trim():返回字符串的副本,忽略前导空白和尾部空白

String bb =aa.trim();

字符串中常用的方法

int length():返回此字符串的长度。
int length =str1.length();

各种长度获取方式:
数组长度:数组名.length;
集合长度:集合名.size();
字符串长度:字符串.length();

比较两个字符串中的内容是否相同
 boolean equals(Object anObject) :将此字符串与指定的对象比较。比较的是两个对象的内容,注意,区分大小写

 equals()方法本类是Object类中的方法,在Object类中equals()方法和==没有区别,比较的都是对象的内存地址值,并且Object类中的equals()方法底层代码就是==
 在String类中,对Object类中的equals()方法进行了重写,比较两个字符串对象的内容,逐一比较字符串中每一个字符,如果第一个字符相同,就比较第二个,第三个,....,依此类推
 

boolean equalsIgnoreCase(String anotherString) :将此 String 与另一个 String 比较,不考虑大小写。

boolean result4 =str2.equalsIgnoreCase(str5);

String toLowerCase() :使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String toUpperCase():使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

String upperCaseStr1 =str1.toUpperCase();
String lowerCaseStrr2 =str2.toLowerCase();

字符串的连接:concat()
String concat(String str):将指定字符串连接到此字符串的结尾。
String result1 =str1.concat(str2);

字符串常用提取方法

char charAt(int index) :返回指定索引处的 char 值。

char ch1 =str1.charAt(0);

获取字符串中最后一个字符
char ch3 =str1.charAt(str1.length()-1);

遍历字符串中所有字符
for(int i =0;i<str1.length();i++){
char ch =str1.charAt(i);
System.out.print(ch+" ");
}

int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。如果未出现该字符,则返回 -1。

int indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。如果未出现该字符,则返回 -1。

int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。返回的是要查找的字符串中第一个字符的索引。如果未出现该字符串,则返回 -1。

int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果未出现该字符串,则返回 -1。

int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。如果未出现该字符,则返回 -1。

int lastIndexOf(int ch, int fromIndex):返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。如果未出现该字符,则返回 -1。

int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引。如果未出现该字符串,则返回 -1。

int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。如果未出现该字符串,则返回 -1。

String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。从beginIndex索引开始截取到字符串最后,注意,包含beginIndex索引的字符

String substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。从beginIndex索引开始截取到endIndex索引处,注意,包含beginIndex索引的字符,不包含endIndex索引的字符

字符串的拆分

String[] split(String regex) :根据给定正则表达式的匹配拆分此字符串。

String[] split(String regex, int limit(分割次数)):根据匹配给定的正则表达式来拆分此字符串。

String类中其它需要注意的常用方法

static String copyValueOf(char[] data):返回指定数组中表示该字符序列的 String。

static String copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String。

boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束

boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。

boolean startsWith(String prefix, int toffset) :测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

byte[] getBytes():使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

boolean isEmpty():当且仅当 length() 为 0 时返回 true。

String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

char[] toCharArray():将此字符串转换为一个新的字符数组。

static String valueOf(char c) : 返回 char 参数的字符串表示形式。

static String valueOf(char[] data):返回 char 数组参数的字符串表示形式。

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

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

相关文章

大数据时代,保护个人隐私小Tips Get 起来!

随着大数据时代的到来&#xff0c;我们的隐私正处于越来越易被侵犯的风险中。在各种社交媒体和信息共享平台上&#xff0c;我们需要输入各种个人信息&#xff0c;而这些信息可能被不法分子盗取&#xff0c;甚至被用来进行欺诈行为。在如今的大数据时代&#xff0c;保护个人隐私…

进一步了解android studio 里 AGP,gradle等关系

目录 &#xff08;1&#xff09; gradle是什么 &#xff08;2&#xff09; 工程的jdk版本&#xff0c;及引用包的编译版本的关系 实践 问题与解决 编译成功与运行成功 编译成功 运行成功 &#xff08;1&#xff09; gradle是什么 Gradle是一个构建工具&#xff0c;它是…

(学习日记)2024.04.28:UCOSIII第五十二节:User文件夹函数概览(uC-LIB文件夹)第二部分

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

【八大排序(一)】插入排序与希尔排序

❣博主主页: 33的博客❣ ▶️文章专栏分类:八大排序◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多排序知识 目录 1.前言2.常见排序算法3.稳定性4.插入排序4.1概念4.2直接插入排序4.3希尔排序 5.总结 …

TechTool Pro for mac中文激活版:硬件监测和系统维护工具

TechTool Pro mac帮助用户实现系统硬件监测&#xff08;CPU、内存、硬盘、网络、USB等&#xff09;、内存测试、S.M.A.R.T检测、磁盘宗卷扫描、宗卷重建和优化、数据恢复和粉碎等等&#xff0c;定期使用&#xff0c;可以确保您的Mac保持优化和无故障。 TechTool Pro for mac v1…

机器学习笔记(二)回归

一、线性回归 线性回归是一种用于预测的统计方法&#xff0c;特别适用于连续值预测。&#x1f4c8;线性回归通过最小化误差的平方和来寻找一个线性关系&#xff0c;用于预测一个变量&#xff08;因变量&#xff09;基于一个或多个其他变量&#xff08;自变量&#xff09;的值。…

[Kubernetes] 集群重新初始化

文章目录 1.master节点2.worker节点3.查看结果 1.master节点 kubeadm reset清理信息: cd ~ 进入根目录ll -a 查看是否存在.kube文件 rm -rf /root/.kubesystemctl restart docker ## 重启docker systemctl restart kubelet ## 重启kubeletrm -rf /etc/cni/net.d初始化主节点…

【Canvas与艺术】绘制朝鲜国旗

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>绘制朝鲜国旗</title><style type"text/css">…

windows环境下DVWA靶场搭建

目录 一&#xff0c;安装PHPstudy 二&#xff0c;DVWA靶场上传 一&#xff0c;安装PHPstudy 具体安装步骤&#xff0c;请看上篇文章https://blog.csdn.net/m0_72210904/article/details/138258609?spm1001.2014.3001.5501 二&#xff0c;DVWA靶场上传 压缩包&#xff1a;&…

【3GPP IAB】 3GPP支持IAB架构概述

1 概述 IAB用于回传链路的无线传输&#xff0c;对于NR高频尤其重要&#xff0c;3GPP协议讨论了IAB的可能架构和部署方式&#xff0c;一起来看看吧。 2 IAB 功能和接口 IAB尽量重用为接入定义的现有功能和接口。特别是&#xff0c;移动终端(MT)、gNB- DU、gNB- CU、UPF、AMF和S…

虚拟与现实的融合:线上盲盒小程序的创新探索

随着科技的飞速发展&#xff0c;虚拟世界与现实生活之间的界限日益模糊。线上盲盒小程序&#xff0c;作为这一融合趋势的生动体现&#xff0c;以其独特的创新探索&#xff0c;将虚拟的惊喜与现实的体验完美结合&#xff0c;为我们打开了一个全新的购物世界。 线上盲盒小程序的…

VulnHub靶机 DC-9 靶机 详细渗透过程

VulnHub靶机 DC-9 打靶实战 详细渗透过程 目录 VulnHub靶机 DC-9 打靶实战 详细渗透过程一、将靶机配置导入到虚拟机当中二、渗透测试主机发现端口扫描Web渗透SQL注入登入后台文件包含SSH爆破提权 一、将靶机配置导入到虚拟机当中 靶机地址&#xff1a; https://www.vulnhub.…

使用QTcpSocket

(1)客户端每隔10ms向服务器发送一次数字字符串&#xff0c;从0开始。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpSocket> #include <QLabel> #include <QTimer> namespace Ui { class MainWindow; }class Mai…

单模与多模光纤:深入解析与应用

在现代通信系统中&#xff0c;光纤技术是不可或缺的一部分&#xff0c;它以其高速度和大容量传输数据而闻名。光纤主要分为两种类型&#xff1a;单模光纤&#xff08;Single-Mode Fiber, SMF&#xff09;和多模光纤&#xff08;Multimode Fiber, MMF&#xff09;。这两种光纤在…

Matplotlib是什么?

一、Matplotlib是什么&#xff1f; Matplotlib是一个Python语言的2D绘图库&#xff0c;它非常广泛地用于数据的可视化。以下是一些主要特点&#xff1a; 多功能性&#xff1a;它允许用户创建各种静态、动态或交互式的图表&#xff0c;如线图、散点图、直方图等。跨平台性&…

计算机视觉——使用OpenCV GrabCut算法从图像中移除背景

GrabCut算法 GrabCut算法是一种用于图像前景提取的技术&#xff0c;由Carsten Rother、Vladimir Kolmogorov和Andrew Blake三位来自英国剑桥微软研究院的研究人员共同开发。该技术的核心目标是在用户进行最少交互操作的情况下&#xff0c;自动从图像中分割出前景对象。 在Gra…

机器学习/算法工程师面试题目与答案-数学基础部分

机器学习/算法工程师面试题目--数学基础部分 一、数学基础1、微积分SGD,Momentum,Adagard,Adam原理L1不可导的时候该怎么办sigmoid函数特性 2、统计学&#xff0c;概率论求 Max(a, b) 期望拿更长的玫瑰花的最好策略最大化工作天数的员工数切比雪夫不等式随机截成三段组成三角形…

信号分解 | RLMD(鲁棒性局部均值分解)-Matlab

分解效果 RLMD(鲁棒性局部均值分解) RLMD(鲁棒性局部均值分解)-Matlab 代码实现 % %% 清除所有变量 关闭窗口 clc clear all close all%% 导入数据 % data = xlsread(Data.xlsx);%% 输入信号%% RLMD分解 %参数进行设置 % options.display =

SpringCloud系列(20)--Ribbon的简介及使用

1、Ribbon的简介 Spring Cloud Ribbon是基于Netflix Ribboh实现的一套客户端负载均衡的工具&#xff0c;简单的说&#xff0c;Ribbon是Netflix发布的开源项目&#xff0c;主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时…

ETL中元数据处理的方式

ETLCloud平台是用于处理从数据抽取、转换、加载到持续数据捕获等一系列数据管理活动。除此之外还支持微服务治理与快速开发&#xff0c;并且具备数据库监听功能&#xff0c;能够以不同的方式监听并同步源数据库表数据到目标系统&#xff0c;比如直接传输、通过ETL流程处理或者传…