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.rhkb.cn/news/234299.html

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

相关文章

React 实现拖放功能

介绍 本篇文章将会使用react实现简单拖放功能。 样例 布局侧边栏拖放 LayoutResize.js import React, {useState} from "react"; import { Button } from "antd"; import "./LayoutResize.css";export const LayoutResize () > {const […

【C语言题解】 | 101. 对称二叉树

101. 对称二叉树 101. 对称二叉树代码 101. 对称二叉树 这个题目要求判断该二叉树是否为对称二叉树&#xff0c;此题与上一题&#xff0c;即 100. 相同的树 这个题有异曲同工之妙&#xff0c;故此题可借鉴上题。 我们先传入需要判断二叉树的根节点&#xff0c;通过isSameTree()…

印象笔记03 衍生软件使用

印象笔记03 衍生软件使用 Verse 以下内容来源于官方介绍 VERSE是一款面向未来的智能化生产力工具&#xff0c;由印象笔记团队诚意推出。 你可以用VERSE&#xff1a; 管理数字内容&#xff0c;让信息有序高效运转&#xff1b;搭建知识体系&#xff0c;构建你的强大知识库&am…

独占锁ReentrantLock的原理

类图结构 ReentrantLock是可重入的独占锁&#xff0c;同时只能有一个线程可以获取该锁&#xff0c;其他获取该锁的线程会被阻塞而被放入该锁的AQS阻塞队列里面。 首先看下ReentrantLock的类图以便对它的实现有个大致了解。 从类图可以看到&#xff0c;ReentrantLock最终还是使…

Transformers 2023年度回顾 :从BERT到GPT4

人工智能已成为近年来最受关注的话题之一&#xff0c;由于神经网络的发展&#xff0c;曾经被认为纯粹是科幻小说中的服务现在正在成为现实。从对话代理到媒体内容生成&#xff0c;人工智能正在改变我们与技术互动的方式。特别是机器学习 (ML) 模型在自然语言处理 (NLP) 领域取得…

练习-指针笔试题

目录 前言一、一维整型数组1.1 题目一1.2 题目二 二、二维整型数组2.1 题目一2.2 题目二2.3 题目三 三、结构体3.1 题目一&#xff08;32位机器运行&#xff09; 四、字符数组4.1 题目一4.2 题目二 总结 前言 本篇文章记录关于C语言指针笔试题的介绍。 一、一维整型数组 1.1 …

36-javascript输出方式,弹框:普通,confirm弹框,prompt弹框,控制台输出:普通,warm,error

1.页面打印 <body><p>你真是一个小机灵鬼</p><script>// 页面打印document.write("打印内容");</script> </body> 2.覆盖文档 <body><p>你真是一个小机灵鬼</p><script>// 覆盖文档window.onload f…

超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落

引言&#xff1a;使用二维码引导无人机实现精准降落&#xff0c;首先需要实现对二维码的识别和定位&#xff0c;可以参考博客的二维码识别和定位内容。本小节主要是通过获取拿到的二维码位置&#xff0c;控制无人机全向的移动和降落&#xff0c;分为两种&#xff0c;一种是无人…

各种锁的概述

乐观锁与悲观锁 悲观锁指对数据被外界修改持保守态度&#xff0c;认为数据很容易就会被其他线程修改&#xff0c;所以在数据被处理前先对数据进行加锁&#xff0c;并在整个数据处理过程中&#xff0c;使数据处于锁定状态。 悲观锁的实现往往依靠数据库提供的锁机制&#xff0…

【AI视野·今日NLP 自然语言处理论文速览 第六十九期】Wed, 3 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 3 Jan 2024 Totally 24 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers An Autoregressive Text-to-Graph Framework for Joint Entity and Relation Extraction Authors Zaratiana Ur…

centos用yum安装mysql详细教程

1 查询安装mysql的yum源,命令如下 ls /etc/yum.repos.d/ -l 界面如下图所示&#xff0c;未显示mysql的安装源 2 安装mysql相关的yum源,例如&#xff1a; 例如&#xff1a;rpm -ivh mysql57-community-release-el7.rpm 要注意 mysql的版本和系统的版本匹配 mysql57-communi…

SpringBoot 如何增强PageHelper入参的健壮性

PageHelper.startPage(int pageNum, int pageSize, boolean count) 参数为外部输入&#xff0c;故存在异常输入场景。比如 pageNum 和 pageSize 输入的值 负数 或者 0&#xff0c;所以引入PageUtils来对入参进行判断矫正&#xff0c;从而避免引入异常。 第1步&#xff1a;支持…

【web】Springboot3 集成 Swagger3

文章目录 Maven 依赖配置类&#xff08;可选&#xff09;访问示例 Maven 依赖 <!--swagger3--> <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.0.2</v…

总420+,专业120+南京大学851信号与系统电子信息考研经验通信,电子信息

今年考研数学130&#xff0c;专业课120&#xff0c;总分420顺利被南京大学电通录取&#xff0c;梦圆南大&#xff0c;这一年的复习有过迷茫&#xff0c;有过犹豫&#xff0c;最后都坚持过来了&#xff0c;总结一下自己的复习经验&#xff0c;希望对大家有所帮助。数学 5-8月数…

用C语言实现动态数组Vector

代码仓库地址 1. 动态数组原理 定义一个结构体类型&#xff0c;在结构体中用指针指向一个在堆空间开辟的一块内存。 2. 编写头文件 在头文件里定义Vector的数据结构和相关操作&#xff0c;可以通过修改 “typedef char* Element;” 来修改存储的数据的类型&#xff1b; #ifn…

MPEG4Extractor

1、readMetaData 必须要找到 Moov box&#xff0c;找到 Mdat box或者 Moof box&#xff0c;并且创建了 ItemTable 大端 box 分为 box header 和 box content&#xff1a; box header由8个字节组成&#xff0c;前面四个字节表示这个box 的大小&#xff08;包含这个头的8字节&a…

【Docker】Docker基础

文章目录 安装使用帮助启动命令镜像命令容器命令 安装 # 卸载旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine # 设置存储库 sudo yum install -y yum-utils …

QT自定义信号和槽

信号和槽 介绍实现创建文件对teacher的h和cpp文件进行处理对student的h和cpp文件进行处理对widget的h和cpp文件进行处理 介绍 Qt中的信号和槽是一种强大的机制&#xff0c;用于处理对象之间的通信。它们是Qt框架中实现事件驱动编程的核心部分。 信号&#xff08;Signal&#x…

pgAdmin和asdf postgres的安装

安装pgAdmin&#xff1a; curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key addsudo sh -c echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmi…

MyBatisPlus学习一:快速入门

前言 前面快速学习了Mybatis&#xff0c;现在开始快速学习MyBatisPlus 学习教程&#xff1a; 黑马mybatis教程全套视频教程&#xff0c;2天Mybatis框架从入门到精通 黑马程序员最新MybatisPlus全套视频教程&#xff0c;4小时快速精通mybatis-plus框架 简介 MyBatisPlus 是…