Java里的实用类

1.枚举

语法:

public enum 变量名{

值一,值二······}

某个变量的取值范围只能是有限个数的值时,就可以把这个变量定义成枚举类型。

2…装箱(boxing) 和拆箱(unboxing)

装箱(boxing): 把基本数据类型变成引用类型

拆箱(unboxing):把引用类型变成基本数据类型

 int i = 1;Integer o = i ;//自动装箱(在1.6版本之前是错误的)int i = 1;Integer o = new Integer(i);//手工装箱(在1.6版本之前的标准写法)Integer o = 10;//自动装箱(在1.6版本之前是错误的)int i = o; //自动拆箱(在1.6版本之前是错误的)

在1.6版本之前必须这么去做:

Integer o = new Integer(10);//手工装箱int i = o.intValue(); //手工拆箱

3.字符串类型和包装类(基本数据类型)的转换

每一个基本数据类型都有对应的包装类

包装类基本数据类
Booleanbooolean
Bytebyte
Integerint
Shortshort
Longlong
Floatfloat
Doubledouble
Characterchar
字符串类型和包装类(基本数据类型)的转换
int i = 10;
String s = i + "";
//String s = String.valueOf(i);
//String s = new String("a");
int j = Integer.parseInt(s);
double d = Double.parseDouble(s);

4.Java中的Math类

Math类是Java中提供的一个数学工具类,用于执行常见的数学运算。它提供了许多静态方法,可以用于执行数值计算和数学操作。下面是Math类的一些常用方法:

基本数学运算

  • abs(x):返回参数x的绝对值。例如:Math.abs(-5)的结果是5。
  • max(x, y):返回x和y中较大的值。例如:Math.max(3, 7)的结果是7。
  • min(x, y):返回x和y中较小的值。例如:Math.min(3, 7)的结果是3。
  • ceil(x):返回大于或等于参数x的最小整数。例如:Math.ceil(5.3)的结果是6。
  • floor(x):返回小于或等于参数x的最大整数。例如:Math.floor(5.7)的结果是5。
  • round(x):返回参数x的四舍五入值。例如:Math.round(5.5)的结果是6。

指数和对数运算

  • exp(x):返回参数x的指数值。例如:Math.exp(2)的结果是7.38905609893065,这是e的平方。
  • log(x):返回参数x的自然对数(以e为底)。例如:Math.log(10)的结果是2.302585092994046,表示10的自然对数。
  • pow(x, y):返回x的y次方。例如:Math.pow(2, 3)的结果是8,表示2的3次方。
  • sqrt(x):返回参数x的平方根。例如:Math.sqrt(25)的结果是5。

三角函数

  • sin(x):返回参数x的正弦值。例如:Math.sin(Math.PI/2)的结果是1,表示π/2的正弦值。
  • cos(x):返回参数x的余弦值。例如:Math.cos(Math.PI)的结果是-1,表示π的余弦值。
  • tan(x):返回参数x的正切值。例如:Math.tan(0)的结果是0,表示0的正切值。

随机数生成

  • random():返回一个[0, 1)范围内的随机浮点数。例如:Math.random()的结果可能是0.678987654321。

这只是Math类提供的一小部分方法,还有其他方法可以用于其他类型的数学运算。要使用Math类的方法,

5.Random类

获取伪随机数

Random ran = new Random(); 
int i = ran.nextInt(10);
System.out.println(i);

6.String类

字符串:不可变的字符序列
在这里插入图片描述

StringBuffer s = new StringBuffer();
s.append("a");
s.append("b");
s.append("c");
s.append("d");
System.out.println(s.toString());StringBuilder s1 = new StringBuilder();
s1.append("a");
s1.append("b");
s1.append("c");
s1.append("d");
System.out.println(s1.toString());//StringBuffer 是线程安全的,性能比StringBuilder低
//StringBuilder是线程不安全的
public static void main(String[] args) {String s = " adEb cde ";// 获取字符串的长度// System.out.println(s.length());// 获取指定位置的字符// System.out.println(s.charAt(2));// 将指定字符串连接到原字符串末尾// System.out.println(s.concat("d"));// 判断字符串是否包含指定字符序列// System.out.println(s.contains("ac"));// 判断字符串是否以指定字符序列结尾// System.out.println(s.endsWith("de"));// 返回指定字符在字符串中第一次出现的位置// 如果找不到,则返回-1// System.out.println(s.indexOf('f'));/* 返回指定字符序列在字符串中第一次出现的位置* System.out.println(s.indexOf("de")); // 11* System.out.println(s.lastIndexOf("de")); // 5*/// 判断字符串是否为空// System.out.println(s.isEmpty());// 将字符串中指定字符序列替换为新的字符序列// System.out.println(s.replace("de","xy"));// 根据指定的分隔符将字符串拆分为字符串数组// 返回一个数组// System.out.println(s.split("d"));/* 使用分隔符将字符串拆分为字符串数组,并逐个打印数组元素* for (String o : s.split("d")) {*     System.out.println(o);* }*/// 判断字符串是否以指定字符序列开头// System.out.println(s.startsWith("a"));// 截取子串:从索引0开始截取到索引5(包括索引0位置,不包括索引5位置)// System.out.println(s.substring(0,5));// 将字符串转换为字符数组// char[] arr = s.toCharArray();// 将字符串转换为小写字母// System.out.println(s.toLowerCase());// 将字符串转换为大写字母// System.out.println(s.toUpperCase());/* 输出带有前后空格的字符串* System.out.println("|" + s + "|");* 输出去除前后空格的字符串* System.out.println("|" + s.trim() + "|");*/// 将其他类型转换为字符串// String s1 = String.valueOf(123);
}
public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入一个字符串:");String s = input.next();System.out.print("请输入要查找的字符:");String ch = input.next();int count = 0;for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (ch.equals(c + "")) {count++;}}System.out.println(s + "中包含" + count + "个" + ch);
}

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

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

相关文章

YOLOv5改进之OTA、SimOTA

一、OTA 1.1 原理 OTA原论文链接: https://readpaper.com/paper/3148566359 此处推荐一篇博文,对OTA讲解的非常详细: https://blog.csdn.net/hymn1993/article/details/127278641 1.2 如何改进 ota代码如下: import torch.nn.functional as F from utils.metrics import…

Android 屏蔽下拉状态栏(StatusBar)

Android 屏蔽下拉状态栏&#xff08;StatusBar&#xff09; 最近收到项目需求&#xff0c;需要屏蔽设备下拉状态栏&#xff08;StatusBar&#xff09;&#xff0c;总结出两种修改方法&#xff0c;具体如下&#xff1a; 第一种&#xff1a; /vendor/mediatek/proprietary/pac…

【c++】vector模拟

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;能手撕vector模拟 > 毒鸡汤&#xff1a;在等待…

MYSQL - SQL优化

插入数据优化 小批量数据 批量插入 最好插入500-1000条比较好 手动提交事务 主键顺序插入 大批量插入数据 主键优化 页分裂 页合并 主键优化设计原则 order by优化 group by优化 limit优化 count优化 count(1)里面不一定必须1&#xff0c;数字都可以 update优化 更新字…

安卓多用户管理之Userinfo

目录 前言Userinfo----用户信息1.1 属性1.2 构造器1.3 信息的判断及获取方法1.3.1 获取默认用户类型1.3.2 基础信息判断 1.4 序列化部分 总结 前言 UserManagerService内部类UserData中有一个Userinfo类型的info参数&#xff0c;在UserData中并未有所体现&#xff0c;但在后续…

基于长短期神经网络lstm的电子密度预测

目录 背影 摘要 代码和数据下载:基于长短期神经网络lstm的电子密度预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88714821 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络lstm的电子密度预测 结果分析 展望 参考论文 背影 …

arch modelsim 解决无法运行

13.0的quartus modelsim版本10.1d 是32位的 修改/etc/pacman.conf [multilib] Include /etc/pacman.d/mirrorlistpacman -Sy安装 lib32-l…

《linux就该这样学》笔记(抽空更新)

2.3常用系统工作命令 2.3.1 echo 2.3.2 date 2.3.3 timedatectl 2.3.4 redoot 2.3.5 poweroff 2.3.6 wget 2.3.7 ps 2.3.8 pstree 2.3.9 top 2.3.10 nice 2.3.11 pidof 2.3.12 kill 2.3.13 killall 2.4系统状态检测命令 2.4.1 ifconfig 2.4.2 uname 2.4.3 upt…

OSPF基础

0x00 前言 本篇简述OSPF相关知识 0x01 正文 为什么需要动态路由协议 静态路由无法适应较大的网络无法动态的随着网络的变化而自动化&#xff0c;耗费人力 动态路由协议 什么是BGP协议 基于距离矢量算法修改后的算法形成协议&#xff0c;被称为路径矢量路由协议 BGP工作…

Spring MVC中JSON数据处理方式!!!

添加json依赖 <!--spring-json依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency> 注解 RequestBody&#xff1a;作…

prometheus 监控 Hyperledger Fabric 网络

本例中使用的 fabric 版本为 2.4.1 修改 orderer , peer 节点 docker-compose 文件 orderer 节点&#xff1a; environment:- ORDERER_METRICS_PROVIDERprometheus- ORDERER_OPERATIONS_LISTENADDRESS0.0.0.0:8443 ports:- 8443:8443peer 节点&#xff1a; environment:- CO…

AGX更新Jetpack后无法SSH报错:写入管道指定不存在

AGX更新Jetpack后无法SSH报错&#xff1a;写入管道指定不存在 报错内容 > IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! > Someone could be eavesdropping on you right now (man-in-the-middle attack)! > It is also possible that a host key has ju…

Python正则表达式(python系列29)

前言&#xff1a;在实际开发中&#xff0c;正则表达式主要用在模式匹配&#xff08;检查一个字符是否符合某种格式&#xff09;和处理复杂的文本数据&#xff0c;例如查找&#xff0c;替换&#xff0c;分割。 定义&#xff1a;使用元字符&#xff08;具有特殊意义的专用字符&a…

【数据库原理】(16)关系数据理论的函数依赖

一.函数依赖的概念 函数依赖是关系数据库中核心的概念&#xff0c;它指的是在属性集之间存在的一种特定的关系。这种关系表明&#xff0c;一个属性集的值可以唯一确定另一个属性集的值。 属性子集&#xff1a;在关系模式中&#xff0c;X和Y可以是单个属性&#xff0c;也可以是…

scVI与MultiVI

scVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/scvi.html MultiVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html 目录 scVI生成推理任务 MultiVI生成推理 scVI single cell variational inference提出了一个…

elementui dialog 回车时却刷新整个页面

到处都是坑&#xff0c;这个坑填完另一个坑还在等你。。。坑坑相连&#xff0c;坑坑不同。。。 使用el-dialog弹出一个表单&#xff0c;当我无意间敲到回车键时&#xff0c;整个页面被刷新了&#xff0c;又是一脸的懵逼。。。 经过查找文档发现解决方案为上述截图标记。。。 e…

科锐16位汇编学习笔记 03 汇编指令

指令种类 数据传送指令算数运算类指令位操作类指令串操作类指令控制转移类指令处理器控制类指令 数据传送类指令 传送类指令不影响标志位&#xff0c;**除了标志位传送指令外。** 传送指令MOV&#xff08;move&#xff09; 说明 ​ 把一个字节或字的操作数从源地址传送至…

用golang 实现给图片添加文字水印

package mainimport ("fmt""github.com/golang/freetype""image""image/draw""image/jpeg""io""os""time" )func main() {// 打开原始图片file, err : os.Open("004.jpeg")if err …

解决Qt Creator中文乱码的问题

方法1 使用QStringLiteral()包裹中文字符串 QString str1"中文测试&#xff01;"; QString str2QStringLiteral("中文测试&#xff01;");方法2 #if _MSC_VER > 1600//MSVC2015>1899,MSVC_VER14.0 #pragma execution_character_set("utf-8&qu…

L1-011 A-B(Java)

题目 本题要求你计算A−B。不过麻烦的是&#xff0c;A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉&#xff0c;剩下的字符组成的就是字符串A−B。 输入格式&#xff1a; 输入在2行中先后给出字符串A和B。两字符串的长度都不超过10的四次方&#xff0c;并且…