当前位置: 首页 > news >正文

花几千上万学习Java,真没必要!(二十九)

1、基本数据类型包装类: 

 测试代码1:

package apitest.com;
//使用Integer类的不同方法处理整数。
//将字符串转换为整数(parseInt)和Integer对象(valueOf),
//将整数转换回字符串(toString)以及转换为十六进制(toHexString)、八进制(toOctalString)和二进制(toBinaryString)字符串。
//使用bitCount、highestOneBit和lowestOneBit方法处理整数的位。
//使用Integer对象的compareTo方法来比较两个Integer对象。
public class IntegerMethodsDemo {  public static void main(String[] args) {  // 字符串转整数  String str = "123";  int numFromString = Integer.parseInt(str);  System.out.println("parseInt: " + numFromString);  // 字符串转Integer对象  Integer intObj = Integer.valueOf(str);  System.out.println("valueOf(String): " + intObj);  // int转Integer对象  Integer intObj2 = Integer.valueOf(456);  System.out.println("valueOf(int): " + intObj2);  // 整数转字符串  String numAsString = Integer.toString(numFromString);  System.out.println("toString: " + numAsString);  // 整数转十六进制字符串  String hexString = Integer.toHexString(numFromString);  System.out.println("toHexString: " + hexString);  // 整数转八进制字符串  String octalString = Integer.toOctalString(numFromString);  System.out.println("toOctalString: " + octalString);  // 整数转二进制字符串  String binaryString = Integer.toBinaryString(numFromString);  System.out.println("toBinaryString: " + binaryString);  // 位操作方法  int numBits = 9; // 二进制: 1001  System.out.println("bitCount: " + Integer.bitCount(numBits));  System.out.println("highestOneBit: " + Integer.highestOneBit(numBits));  System.out.println("lowestOneBit: " + Integer.lowestOneBit(numBits));  // Integer对象比较  Integer int1 = 100;  Integer int2 = 200;  System.out.println("compareTo: " + int1.compareTo(int2)); // 输出: -1  }  
}

运行结果如下:

测试代码2:

package apitest.com;
//创建一个IntAndStringConversion类,包含三个静态方法:intToString、stringToInt和hexStringToInt。
//将int转换为String,String转换为int,将十六进制String转换为int。
public class IntAndStringConversion {  public static void main(String[] args) {  // int 到 String 的转换  int number = 123;  String strFromInt = intToString(number);  System.out.println("int to String: " + strFromInt);  // String 到 int 的转换  String str = "456";  try {  int numFromString = stringToInt(str);  System.out.println("String to int: " + numFromString);  } catch (NumberFormatException e) {  System.out.println("Error: The string cannot be parsed as an integer.");  }  // 十六进制字符串到 int 的转换  String hexStr = "1C8";  try {  int hexNum = hexStringToInt(hexStr);  System.out.println("Hex String to int: " + hexNum);  } catch (NumberFormatException e) {  System.out.println("Error: The hex string cannot be parsed as an integer.");  }  }  // int 到 String 的转换  public static String intToString(int number) {  return String.valueOf(number);  }  // String 到 int 的转换(处理异常)  public static int stringToInt(String str) throws NumberFormatException {  return Integer.parseInt(str);  }  //非数字字符的字符串转换为整数时,会抛出异常。// 十六进制字符串到 int 的转换(处理异常)  public static int hexStringToInt(String hexStr) throws NumberFormatException {  return Integer.parseInt(hexStr, 16);  }  
}

运行结果如下:

2、字符串中的数字排序:

package apitest.com;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
//字符串中数字排序是通过正则表达式或遍历字符串来提取所有的数字,
//然后将这些数字存储到某种集合(如List<Integer>)中,接着对这个集合进行排序,
//最后将排序后的数字重新组合成字符串。
public class SortNumbersInString {public static String sortNumbersInString(String input) {List<Integer> numbers = new ArrayList<>();StringBuilder sb = new StringBuilder();for (char c : input.toCharArray()) {if (Character.isDigit(c)) {numbers.add(Integer.parseInt(String.valueOf(c)));} else {sb.append(c);}}Collections.sort(numbers, Comparator.naturalOrder());for (int num : numbers) {sb.append(num);}return sb.toString();}public static void main(String[] args) {String input = "327810hello82world975java310";String sortedString = sortNumbersInString(input);System.out.println("Sorted string: " + sortedString);}
}

运行结果如下: 

3、自动装箱和自动拆箱:

package apitest.com;
public class AutoBoxingAndUnboxing {  //自动装箱:将基本数据类型自动转换为对应的包装类对象。//自动拆箱:将包装类对象自动转换为对应的基本数据类型。 //性能影响:自动装箱和自动拆箱可能会导致性能下降,因为每次装箱和拆箱时都会创建新的对象(对于装箱)或执行类型转换(对于拆箱)。//在性能敏感的应用中,应当避免不必要的装箱和拆箱操作。//空指针异常:自动拆箱一个null的包装类对象时,会抛出NullPointerException。需要特别注意处理可能为null的包装类对象。//缓存机制:自动装箱的某些基本数据类型(比如Integer、Short、Byte、Character和Boolean,在-128到127之间的Integer值)有特殊的缓存机制。//这个范围内的Integer对象会被缓存,相同的值不会重复创建新的对象。但这并不影响自动拆箱可能导致的NullPointerException。public static void main(String[] args) {  // 自动装箱  Integer integerObject = 5; // int -> Integer  // 使用integerObject像使用Integer对象一样  System.out.println("Integer value: " + integerObject);  // 自动拆箱  int intValue = integerObject; // Integer -> int  // 现在intValue是一个基本数据类型int  System.out.println("int value: " + intValue);  // 自动拆箱可能导致NullPointerException  Integer nullableInteger = null;  try {  int willThrowNPE = nullableInteger; // 尝试自动拆箱  } catch (NullPointerException e) {  System.out.println("Caught NullPointerException: Cannot unbox null value.");  }  // 避免自动拆箱导致的NullPointerException  int safeIntValue = nullableInteger != null ? nullableInteger : 0;  System.out.println("Safe int value: " + safeIntValue);  }  
}

运行结果如下:

4、Date类:

测试代码1:

package apitest.com;
import java.time.LocalDate;  
import java.time.LocalDateTime;  
import java.time.format.DateTimeFormatter;  public class DateTimeExample {  public static void main(String[] args) {  // 打印当前日期  printCurrentDate();  // 打印当前日期和时间,并格式化为字符串  printCurrentDateTimeFormatted();  }  // 打印当前日期  public static void printCurrentDate() {  LocalDate currentDate = LocalDate.now();  System.out.println("当前日期: " + currentDate);  }  // 打印当前日期和时间,并格式化为字符串  public static void printCurrentDateTimeFormatted() {  LocalDateTime currentTime = LocalDateTime.now();  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  String formattedDateTime = currentTime.format(formatter);  System.out.println("当前日期和时间(格式化): " + formattedDateTime);  }  
}

测试代码2:

package apitest.com;
import java.time.LocalDate;  
import java.time.LocalDateTime;  
import java.time.format.DateTimeFormatter;  public class DateFormatExamples {  public static void main(String[] args) {  // 创建一个LocalDate实例  LocalDate date = LocalDate.now();  // 创建一个LocalDateTime实例  LocalDateTime dateTime = LocalDateTime.now();  // 定义并打印不同的日期格式  DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");  System.out.println("格式1: " + date.format(formatter1)); // 例如:2023-10-05  DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd/MM/yyyy");  System.out.println("格式2: " + date.format(formatter2)); // 例如:05/10/2023  DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy");  System.out.println("格式3: " + date.format(formatter3)); // 例如:Thu, 5 Oct 2023  // 定义并打印不同的日期时间格式  DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  System.out.println("格式4: " + dateTime.format(formatter4)); // 例如:2023-10-05 14:30:45  DateTimeFormatter formatter5 = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm a");  System.out.println("格式5: " + dateTime.format(formatter5)); // 例如:05/10/2023 02:30 PM(取决于当前时间)  DateTimeFormatter formatter6 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;  System.out.println("ISO格式: " + dateTime.format(formatter6)); // 例如:2023-10-05T14:30:45  }  
}

运行结果如下:

 测试代码3:

package apitest.com;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;  
import java.time.format.DateTimeParseException;  
import java.util.Locale;  public class DateParseExamples {  public static void main(String[] args) {  String dateString1 = "2023-10-05";  String dateString2 = "05/10/2023";  String dateString3 = "Thu, 5 Oct 2023";  String dateTimeString = "2023-10-05 14:30:45";  try {  DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");  LocalDate date1 = LocalDate.parse(dateString1, formatter1);  System.out.println("解析的日期1: " + date1);  DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd/MM/yyyy");  LocalDate date2 = LocalDate.parse(dateString2, formatter2);  System.out.println("解析的日期2: " + date2);  // 使用 DateTimeFormatter 解析包含星期几的日期字符串  DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH);  LocalDate date3 = LocalDate.parse(dateString3, formatter3);  System.out.println("解析的日期3: " + date3);  DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter4);  System.out.println("解析的日期时间: " + dateTime);  } catch (DateTimeParseException e) {  System.err.println("日期时间解析错误: " + e.getMessage());  }  }  
}

运行结果如下: 

5、 Calendar类:

package apitest.com;
import java.util.Calendar;  
import java.util.GregorianCalendar;  
public class CalendarExample {  public static void main(String[] args) {  // 获取默认时区和语言环境的Calendar实例  Calendar calendar = Calendar.getInstance();  // 显示当前日期和时间  System.out.println("当前日期和时间: " + calendar.getTime());  // 获取并打印年份、月份(注意月份是从0开始的,即0代表1月)、日期  int year = calendar.get(Calendar.YEAR);  int month = calendar.get(Calendar.MONTH) + 1; // 月份加1,以便按常规方式显示  int day = calendar.get(Calendar.DAY_OF_MONTH);  System.out.println("年: " + year + ", 月: " + month + ", 日: " + day);  // 设置日期为2023年10月1日  calendar.set(Calendar.YEAR, 2023);  calendar.set(Calendar.MONTH, Calendar.OCTOBER); // 直接使用Calendar的常量  calendar.set(Calendar.DAY_OF_MONTH, 1);  System.out.println("设置后的日期: " + calendar.getTime());  // 给日期加上10天  calendar.add(Calendar.DAY_OF_MONTH, 10);  System.out.println("加10天后的日期: " + calendar.getTime());  // 使用GregorianCalendar创建特定日期  GregorianCalendar gregorianCalendar = new GregorianCalendar(2022, Calendar.DECEMBER, 25);  System.out.println("特定的日期: " + gregorianCalendar.getTime());  }  
}

运行结果如下:

相关文章:

花几千上万学习Java,真没必要!(二十九)

1、基本数据类型包装类&#xff1a; 测试代码1&#xff1a; package apitest.com; //使用Integer类的不同方法处理整数。 //将字符串转换为整数&#xff08;parseInt&#xff09;和Integer对象&#xff08;valueOf&#xff09;&#xff0c; //将整数转换回字符串&#xff08;…...

C#如何引用dll动态链接库文件的注释

1、dll动态库文件项目生成属性中要勾选“XML文档文件” 注意&#xff1a;XML文件的名字切勿修改。 2、添加引用时XML文件要与DLL文件在同一个目录下。 3、如果要是添加引用的时候XML不在相同目录下&#xff0c;之后又将XML文件复制到相同的目录下&#xff0c;需要删除引用&am…...

WordPress原创插件:自定义文章标题颜色

插件设置截图 文章编辑时&#xff0c;右边会出现一个标题颜色设置&#xff0c;可以设置为任何颜色 更新记录&#xff1a;从输入颜色css代码&#xff0c;改为颜色选择器&#xff0c;更方便&#xff01; 插件免费下载 https://download.csdn.net/download/huayula/89585192…...

Unity分享:继承自MonoBehaviour的脚步不要对引用类型的字段在声明时就初始化

如果某些字段在每个构造函数中都要进行初始化&#xff0c;很多人都喜欢在字段声明时就进行初始化&#xff0c;对于一个非继承自MonoBehaviour的脚步&#xff0c;这样做是没有问题的&#xff0c;然而继承自MonoBehaviour后就会造成内存的浪费&#xff0c;为什么呢&#xff1f;因…...

.NET Core中如何集成RabbitMQ

在.NET Core中集成RabbitMQ主要涉及到几个步骤&#xff0c;包括安装RabbitMQ的NuGet包、建立连接、定义队列、发送和接收消息等。下面是一个简单的指南来展示如何在.NET Core应用程序中集成RabbitMQ。 目录 1. 安装RabbitMQ.Client NuGet包 2. 建立连接 3. 定义队列 4. 发…...

嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化:智能物流管理系统设计思路流程(附代码示例)

目录 项目概述 系统设计 硬件设计 软件设计 系统架构图 代码实现 1. STM32微控制器与传感器代码 代码讲解 2. MQTT Broker设置 3. 数据接收与处理 代码讲解 4. 数据存储与分析 5. 数据分析与可视化 代码讲解 6. 数据可视化 项目总结 项目概述 随着电子商务的快…...

.net core docker部署教程和细节问题

在.NET Core中实现Docker一键部署&#xff0c;通常涉及以下几个步骤&#xff1a;编写Dockerfile以定义镜像构建过程、构建Docker镜像、运行Docker容器&#xff0c;以及&#xff08;可选地&#xff09;使用自动化工具如Docker Compose或CI/CD工具进行一键部署。以下是一个详细的…...

php数据库链接

Php超全局变量 GET 和 POST 都创建一个数组&#xff08;例如 array&#xff08; key1 > value1&#xff0c; key2 > value2&#xff0c; key3 > value3&#xff0c; ...&#xff09;&#xff09;。此数组包含键/值对&#xff0c;其中 键是表单控件的名称&#xff0c;…...

python+vue3+onlyoffice在线文档系统实战20240726笔记,左侧菜单实现和最近文档基本实现

解决右侧高度过高的问题 解决方案&#xff1a;去掉右侧顶部和底部。 实现左侧菜单 最近文档&#xff0c;纯粹文档 我的文档&#xff0c;既包括文件夹也包括文件 共享文档&#xff0c;别人分享给我的 基本实现代码&#xff1a; 渲染效果&#xff1a; 简单优化 设置默认菜…...

vue中的nexttrick

Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;它允许开发者通过声明式的数据绑定来构建网页应用。在 Vue 中&#xff0c;nextTick 是一个非常重要的 API&#xff0c;它用于延迟回调的执行&#xff0c;直到下次 DOM 更新循环之后。 为什么使用 nextTick&#xff1f; …...

【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘

ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&a…...

深入理解JS中的发布订阅模式和观察者模式

发布/订阅模式(Publish/Subscribe)和观察者模式(Observer Pattern)在概念上非常相似,都是用于实现对象之间的松耦合通信。尽管它们在实现细节和使用场景上有所不同,但核心思想是相通的。 观察者模式 直接通信:在观察者模式中,观察者(Observer)直接订阅主题(Subject…...

网站IPv6支持率怎么检测?

在当今数字化的时代&#xff0c;IPv6的推广和应用已经成为网络发展的重要趋势。IPv6拥有更大的地址空间、更高的安全性和更好的性能&#xff0c;对于满足日益增长的网络需求至关重要。对于网站所有者和管理员来说&#xff0c;了解其网站对IPv6的支持率是评估网站性能和兼容性的…...

react中简单的配置路由

1.安装react-router-dom npm install react-router-dom 2.新建文件 src下新建page文件夹&#xff0c;该文件夹下新建login和index文件夹用于存放登录页面和首页&#xff0c;再在对应文件夹下分别新建入口文件index.js&#xff1b; src下新建router文件用于存放路由配置文件…...

RocketMQ消息短暂而又精彩的一生(荣耀典藏版)

目录 前言 一、核心概念 二、消息诞生与发送 2.1.路由表 2.2.队列的选择 2.3.其它特殊情况处理 2.3.1.发送异常处理 2.3.2.消息过大的处理 三、消息存储 3.1.如何保证高性能读写 3.1.1.传统IO读写方式 3.2零拷贝 3.2.1.mmap() 3.2.2sendfile() 3.2.3.CommitLog …...

Linux中的文件操作

linux中exec*为加载器&#xff0c;可以将程序加载到内存。 main()函数也是函数&#xff0c;也要被调用&#xff0c;也要被传参 故在一个程序中exec*系列的函数先被执行 程序替换中execve是系统调用&#xff0c;其他的都是封装。 进程程序替换 1.创建子进程的目的&#xff1…...

[排序]hoare快速排序

今天我们继续来讲排序部分&#xff0c;顾名思义&#xff0c;快速排序是一种特别高效的排序方法&#xff0c;在C语言中qsort函数&#xff0c;底层便是用快排所实现的&#xff0c;快排适用于各个项目中&#xff0c;特别的实用&#xff0c;下面我们就由浅入深的全面刨析快速排序。…...

freertos的学习cubemx版

HAL 库的freertos 1 实时 2 任务->线程 3 移植 CMSIS_V2 V1版本 NVIC配置全部是抢占优先级 第四组 抢占级别有 0-15 编码规则&#xff0c; 变量名 &#xff1a;类型前缀&#xff0c; c - char S - int16_t L - int32_t U - unsigned Uc - uint8_t Us - uint…...

PyQt 信号与槽功能

PyQt 信号与槽功能 基本概念&#xff1a;在 PyQt 中&#xff0c;信号&#xff08;Signal&#xff09;与槽&#xff08;Slot&#xff09;是一种用于对象之间通信的机制。信号可以由一个对象发出&#xff0c;而槽是用于接收信号并执行相应操作的函数。 信号 信号是在 PyQt 的类…...

navicat premium安装和破解

https://blog.csdn.net/qq1031893936/article/details/90264688 提示信息 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...