花几千上万学习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());  }  
}

运行结果如下:

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

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

相关文章

【计算机网络】DNS命令练习与抓包分析实验

一&#xff1a;实验目的 1&#xff1a;掌握DNS缓存的清除方法&#xff0c;了解DNS缓存的作用和影响。 2&#xff1a;熟悉nslookup和dig等DNS查询工具的使用&#xff0c;理解DNS查询的基本原理和过程。 3&#xff1a;通过抓包和分析&#xff0c;深入了解DNS查询和响应消息的格…

html+css 实现悬浮按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

Python+Flask+MySQL+日线指数与情感指数预测的股票信息查询系统【附源码,运行简单】

PythonFlaskMySQL日线指数与情感指数预测的股票信息查询系统【附源码&#xff0c;运行简单】 总览 1、《股票信息查询系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 个人中心界面2.4 基金详情界面2.5 其他功能贴图 3、下载 总览 自己做的项…

【iOS】——属性关键字

属性关键字的类型 在iOS中属性关键字分为四种类型&#xff1a; 可访问性: readonly ,readwrite原子性 &#xff1a; atomic &#xff0c;nonatomic内存管理 &#xff1a; retain/strong/copy&#xff0c; assign/unsafe_unretained&#xff0c;weak方法命名&#xff1a;sette…

Linux 动静态库

一、动静态库 1、库的理解 库其实是给我们提供方法的实现&#xff0c;如上面的对于printf函数的实现就是在库中实现的&#xff0c;而这个库也就是c标准库&#xff0c;本质也是文件&#xff0c;也有对应的路径 2、区别 静态库是指编译链接时&#xff0c;把库文件的代码全部加入…

前端canvas——赛贝尔曲线

曲线之美&#xff0c;不在于曲线本身&#xff0c;而在于用的人。 所以就有了这期赛贝尔曲线。 新规矩&#xff0c;先上个GIT。 效果图 开局一张图&#xff0c;代码全靠编。 代码 画骨 先想着怎么画一个心形吧&#xff0c;等你想好了&#xff0c;就知道怎么画了。 首先就还…

Cyberchef基础概念之-循环语句操作-Jump/Label

在本专栏的前面的文章介绍了fork,merge,subsection,register等多种概念来解决实际场景的问题。本文将介绍的Jump/Label的操作类似于编程语言中的for和while的功能&#xff0c;相信在学会使用jump操作后&#xff0c;将有助于解决更为复杂的数据处理问题。 本文将详细的介绍该操…

每日OJ_力扣+牛客_另类加法_不用加号的加法

目录 力扣面试题 17.01. 不用加号的加法 解析代码 牛客另类加法 解析代码 力扣面试题 17.01. 不用加号的加法 面试题 17.01. 不用加号的加法 设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2提示&#xff1a; a, b 均可能…

OpenSSL学习笔记及在项目中的使用

OpenSSL官方命令手册&#xff1a;OpenSSL commands - OpenSSL Documentation 参考教程&#xff1a; 操作&#xff1a;OpenSSL的基本使用教程(一&#xff09;_openssl.exe使用教程-CSDN博客 操作&#xff1a;Linux和Shell回炉复习系列文章总目录 - 骏马金龙 - 博客园 (cnblog…

【MR】现代机器人学-时间最优时间缩放

MR章节目录 第2章 配置空间 第3章 刚体运动 第4章 正向运动学 第5章 速度运动学与静力学 第6章 逆向运动学 第7章 闭链运动学 第8章 开链动力学 第9章 轨迹生成 9.1 定义 9.2 点到点轨迹 9.3 多项式通过点轨迹 9.4 时间最优时间缩放 第10章 运动规划 第11章 机器人控制 第12章 …

20 Python常用内置函数——eval()

内置函数 eval() 函数用来计算字符串的值&#xff0c;在有些场合也可以用来实现类型转换的功能。除此之外&#xff0c;eval() 也可以对字节串进行求值&#xff0c;还可以执行内置函数 compile() 编译生成的代码对象。 print(eval(b35)) print([eval(8), type(eval(8))]) # 把…

Keras入门:一维线性回归问题

目录 一、一维变量线性回归 1. 数据生成 2. 建立训练模型 3. 作图 4. 完整代码 一、一维变量线性回归 1. 数据生成 import keras import numpy as np import matplotlib.pyplot as plt #matplotlib inline xnp.linspace(0, 100, 30) #0~100之间&#xff0c;生成30个数 y…

构建现代数据湖

现代数据湖是一半数据仓库和一半数据湖&#xff0c;对所有事情都使用对象存储。使用对象存储来构建数据仓库是通过 Open Table Formats OTF&#xff09; 实现的&#xff0c;例如 Apache Iceberg、Apache Hudi 和 Delta Lake&#xff0c;这些规范一旦实现&#xff0c;就可以无缝…

PHP基础语法-Part1

脚本格式 PHP脚本以<?php开头&#xff0c;以?>结尾&#xff1b; PHP语句以分号结尾&#xff08;;&#xff09; PHP是解释型语言&#xff1b; 输入和输出 获取用户的输入&#xff1a; $input readline("input:"); echo $input; echo "input:";…

Github 2024-07-26开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目2TypeScript项目2C++项目2HTML项目1Python项目1C#项目1Lua项目1JavaScript项目1Vue项目1C项目1免费编程学习平台:freeCodeCamp.org 创…

为什么很多人在一定年龄后的肥胖无法避免

人体在营养均衡状态的时候&#xff0c;是不容易长胖的&#xff0c;且身体也远比一般人更健康些&#xff0c;但想要一直维持身体的这种健康均衡的状态&#xff0c;不仅生活上要很有规律&#xff0c;饮食上也要营养均衡才行。但以如今社会的快节奏生活而言&#xff0c;基本没有人…

计算机毕业设计-程序论文-基于 Java 的高校教资报名系统的设计与实现

本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven 此文章为本人亲自指导加编写&#xff0c;禁止任何人抄袭以及各类盈利性传播&#xff0c; 相关的代码部署论文ppt代码讲解答辩指导文件都有可私要 项目源码&#xff0c;请关注❥点赞收藏并私信博主&#x…

软考-软件设计师(4)-计算机网络与安全:OSI七层、子网划分、网络安全控制技术、网络安全协议、网络安全威胁、对称与非对称加密等高频考点

场景 软考-软件设计师-计算机网络与信息安全模块高频考点整理。 以下为高频考点、知识点汇总,不代表该模块所有知识点覆盖,请以官方教程提纲为准。 注: 博客:霸道流氓气质-CSDN博客 实现 知识点 OSI/RM七层模型 注意各层的主要功能,特别是表示层负责数据的加密、压…

AI 正在取代工作岗位、ChatBot 进入厌倦期、向量数据库崛起,人工智能现状报告有这些重要发现!...

作者 | Echo Tang&GPT 出品丨AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 百度的无人驾驶“萝卜快跑”已经在武汉大面积推广&#xff0c;在部分城市进行小量的试运行&#xff0c;以低廉的价格直接卷翻滴滴、出租车司机&#xff0c;让人们热议“五年、十…

7月23日JavaSE学习笔记

异常&#xff1a; 程序中一些程序处理不了的特殊情况 异常类 Exception 继承自 Throwable 类&#xff08;可抛出的&#xff09; Throwable继承树 Error&#xff1a;错误/事故&#xff0c;Java程序无法处理&#xff0c;如 OOM内存溢出错误、内存泄漏...会导出程序崩溃 常见的…