Java里的实用类

news2024/9/21 19:47:31

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.coloradmin.cn/o/1369687.html

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

相关文章

npm安装vue,添加淘宝镜像

如果是第一次使用命令栏可能会遇到权限问题。 解决vscode无法运行npm和node.js命令的问题-CSDN博客 安装 在vscode上面的导航栏选择terminal打开新的命令栏 另外可能会遇到网络或者其他的问题&#xff0c;可以添加淘宝镜像 npm install -g cnpm --registryhttps://registry.…

Java经典框架之Dubbo

Dubbo Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Dubbo概述 2. Dubbo基本应用 3…

【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 分段锁的好处&#xff1a; 结语 我的其他博客 前言 在Java 8中&#xff0c;ConcurrentHashMap的实现经历了重大的改进&am…

新AI图像分割方法GenSAM:一个提示实现批量图片分割

近期&#xff0c;研究人员提出了一种新型图像分割方法&#xff0c;称为Generalizable SAM&#xff08;GenSAM&#xff09;模型。该模型的设计目标是通过通用任务描述&#xff0c;实现对图像的有针对性分割&#xff0c;摆脱了对样本特定提示的依赖。在具体任务中&#xff0c;给定…

C# 强制类型转换和as区别和不同使用场景

文章目录 1.强制类型转换2. as 运算符3.实例总结&#xff1a; 在C#中&#xff0c;as 和 强制类型转换&#xff08;例如 (T)value&#xff09;的主要区别在于它们处理类型转换不成功时的行为和适用场景&#xff1a; 1.强制类型转换 使用语法&#xff1a;Type variable (Type)…

C语言深度剖析 -- 深度理解符号

文章目录 注释符号yx/*p条件编译 续行符与转义符 \回车与换行的区别 单引号与双引号逻辑运算符位运算符&、|、^整型提升问题左移 << 右移 >>花括号&#xff08;了解&#xff0c;不太推荐&#xff09;、-- 操作符 我们为什么要深入理解C语言中的符号呢&#xff…

JS入门笔记整理:函数

函数一般用来实现某种重复使用的功能&#xff0c;在需要使用该功能的时候&#xff0c;直接调用函数就可以了&#xff0c;不需要再重复地编写一大堆代码。并且在需要修改该函数功能的时候&#xff0c;也只需要修改和维护这一个函数就行。函数一般会在两种情况下使用&#xff1a;…

助力企业出海,Ogcloud提供一站式网络解决方案

随着全球市场的开放和跨境电商的蓬勃发展&#xff0c;越来越多企业开始在海外拓展业务。但在这过程中&#xff0c;各种各样的网络问题成为企业出海的阻碍。Ogcloud凭借其卓越的技术实力和丰富的经验&#xff0c;为全球业务的公司提供全面的网络解决方案&#xff0c;包括SD-WAN、…

文件或目录损坏的磁盘修复方法

文件或目录损坏是一种常见的计算机问题&#xff0c;可能由多种原因导致&#xff0c;如磁盘故障、病毒或恶意软件攻击、文件系统错误等。这些损坏可能导致数据丢失或无法访问文件&#xff0c;因此及时修复至关重要。本文将深入探讨文件或目录损坏的原因&#xff0c;并提供相应的…

Zookeeper的基础介绍和安装教程

1、 Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的&#xff0c;为分布式应用提供协调服务的Apache项目。 1.2 特点 1.3 数据结构 1.4 应用场景 提供的服务包括&#xff1a;统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。 统一…

编程基础 - 初识Linux

编程基础 - 初识Linux 返回序言及专栏目录 文章目录 编程基础 - 初识Linux前言一、Linux发展简介二、现代Linux三、Linux系统各发行版小结 前言 为什么要学习Linux呢&#xff1f;我这Windows用得好好的&#xff0c;简单易用傻瓜式、用的人还超多&#xff01;但是我要告诉你的…

解决word图片格式错乱、回车图片不跟着换行的问题

解决word图片格式错乱、回车图片不跟着换行的问题 1.解决方法。 先设置为嵌入型 但是设置的话会出现下面的问题。图片显示不全。 进一步设置对应的行间距&#xff0c;原先设置的是固定值&#xff0c;需要改为1.5倍行距的形式&#xff0c;也就是说不能设置成固定值就可以。

mybatisplus快速入门-个人理解版

mybatisplus快速入门 1.快速入门1.1准备开发环境-idea2019.2.1版第一步&#xff1a;新建工程第二步&#xff1a;导入依赖 1.2创建数据库和表创建库表添加数据 1.3编写代码进行测试第一步&#xff1a;配置application.yml第二步&#xff1a;添加实体类第三步&#xff1a;添加map…

让开发改bug全靠催?分享6个实用技巧

测试小伙伴们&#xff0c;你们有遇到下图的情况吗&#xff1f; ​ 这张图其实还算“温柔”的&#xff0c;其实有些情况下&#xff0c;某些测试人员或者开发人员脾气大的可能撕逼或者快干架。所以如何和开发有效沟通&#xff0c;并高效劝说开发改掉bug是一门学问&#xff0c;以…

手拉手springboot3整合mybatis-plus多数据源

环境介绍 技术栈 springbootmybatis-plusmysql 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3.1.7 dynamic-datasource 3.6.1 mybatis-plus 3.5.3.2 加入依赖 <dependency><groupId>com.baomidou</groupId><arti…

softmax详解

在神经网络中&#xff0c;Softmax 是一个用于多类别分类的激活函数。给定一个包含原始分数&#xff08;未经处理的模型输出&#xff09;的向量&#xff0c;Softmax 将这些分数转化为表示概率分布的向量。具体而言&#xff0c;对于给定的原始分数向量 ( z )&#xff0c;Softmax …

STM32-03-STM32HAL库

文章目录 STM32HAL库1. HAL库介绍2. STM32Cube固件包3. HAL库框架结构4. 新建HAL版本MDK工程 STM32HAL库 1. HAL库介绍 HAL库 HAL&#xff0c;英文全称 Hardware Abstraction Layer&#xff0c;即硬件抽象层。HAL库是ST公司提供的外设驱动代码的驱动库&#xff0c;用户只需要调…

CentOS找回root密码

很悲伤&#xff0c;你忘记了root密码。。。 那就来重置它吧~ 1、在启动时选择操作系统&#xff1a;在引导过程中&#xff0c;选择CentOS操作系统并按下键盘上的任意键来停止引导。 2、 进入编辑模式&#xff1a;在启动菜单中&#xff0c;找到并选择要编辑的CentOS条目&…

科锐16位汇编学习笔记 04 乘除和移位指令

乘法和除法指令用的不多,因为效率很低 比较指令CMP (compare) •格式&#xff1a;CMP OPD&#xff0c;OPS •功能&#xff1a;(OPD) — (OPS),跟减法指令很像,但是不存结果 •说明&#xff1a;目的操作数减去源操作数&#xff0c;然后根据结果设置标志位&#xff0c;但该结…

Hyperledger Fabric 通道配置文件解析

fabric 版本 v2.4.1 Fabric 网络是分布式系统&#xff0c;采用通道配置&#xff08;Channel Configuration&#xff09;来定义共享账本的各项行为。通道配置的管理对于网络功能至关重要。 通道配置一般包括通道全局配置、排序配置和应用配置等多个层级&#xff0c;这些配置都存…