Day16-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\classlei

news/2025/10/18 21:18:20/文章来源:https://www.cnblogs.com/David0919/p/19148790

Random()

  1. java.lang.Math.Random

    调用这个Math.Random()能返回带正号的double值,该值[0.0,1.0),该返回值是一个伪随机选择的数,在该范围内近似均匀分布

    public class random {public static void main(String[] args) {System.out.println("Math.Random()="+Math.random());int num =(int) (Math.random()*3);//Math.random()返回值是double所以要强制转换System.out.println("num="+num);//结果为0或1}
    }
    
  2. java.util.Random

    import java.util.Random;public class random {public static void main(String[] args) {System.out.println("Math.Random()="+Math.random());int num =(int) (Math.random()*3);//Math.random()返回值是double所以要强制转换System.out.println("num="+num);Random random = new Random();int i = random.nextInt(1000);//边界为1000,生成一个[0,1000)的整数System.out.println("i="+i);Random rand = new Random(10);for(int j=0;j<10;j++){System.out.println(rand.nextInt(100));}System.out.println();//最后额外输出一个空行}
    }
    

    Random():创建一个随机数的生成器

    Random(long seed):使用单个long种子创建一个新的随机数生成器,对于种子相同的Random对象,生成的随机数序列是一样的

Date()

Date()提供了两个构造函数来实例化Date对象

  1. 构造函数使用当前日期和时间来初始化对象

  2. 构造函数接收一个参数,该参数是自1970年1月1日起的毫秒数

  3. import java.util.Date;//不建议
    import java.time.LocalDateTime;//建议使用这个public class date {public static void main(String[] args) {Date currentdate = new Date();//import java.util.Date;初始化Date对象//date date = new date();System.out.println(currentdate);System.out.println(currentdate.getTime());//返回毫秒值System.out.println(currentdate.getTime()-8640000);//返回毫秒值Date pastDate = new Date(System.currentTimeMillis() - 86400000);// 一天前的时间(86400000毫秒=1天)//System.currentTimeMillis() 用于获取当前系统时间的毫秒数(时间戳,从 1970 年 1 月 1 日 00:00:00 UTC 开始计算)。boolean isafter = pastDate.after(currentdate);//布尔值比较,返回布尔值对Date类的pastDate使用after方法System.out.println(isafter);}
    }

Calendar()

public class Calendar {static java.util.Calendar calendar= java.util.Calendar.getInstance();static java.util.Calendar calendar1= java.util.Calendar.getInstance();public static void main(String[] args) {SimpleDateFormat d = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//实例化SimpleDateFormat,简便日期格式类System.out.println(d.format(calendar.getTime()));//调用简便日期格式类中的format方法System.out.println(Calendar.calendar);calendar1.set(2025,10,18);System.out.println(calendar1);}
}

String()

String str = "hello"直接赋值法创建对象在方法区的常量池

String str1= new String(“hello”)通过构造方法创建字符对象储存在堆内存

str储存在在栈内存中,hello储存在堆内存中

public class Stringg {public static void main(String[] args) {java.lang.String str1 = "David";//只开辟一块内存空间,自动入池,不产生垃圾,享元模式java.lang.String str2 = new java.lang.String("David");//开辟两块堆内存空间,其中一块变成垃圾,且不能自动入池,需要通过public String intern();入池java.lang.String str3 = str2;java.lang.String str4 = "David";System.out.println(str1==str2);System.out.println(str1==str3);System.out.println(str2==str3);System.out.println(str1==str4);System.out.println("=============");System.out.println(str1.equals(str2));//Object类中的equals是比较地址的,但是String类重写了之后仅比较内容String str5 = "1,2,3,4";String[] str6 = str5.split(",");for (String str7 : str6) {//for-each循环遍历打印System.out.println(str7);}String str8 = new java.lang.String("Davis");//创建了两个对象//首先出现了字面量“Davis”,先去String Pool中查找是否有相同字符串存在,由于该程序只有一行,自然是没有的,那么会在Java Heap中用字面量"hello"创建一个String对象//接着new java.lang.String("Davis"),关键字new有在Java Heap中创建了一个对象,然后调用接收String参数的构造器进行了初始化,最终引用这个对象}
}

String Builder和StringBuffer

String Builder和StringBuffer都继承了AbstractStringBuilder,前者是非线程安全的,后者是线程安全的。都是可变的字符串容器,可以直接在原有对象上修改内容(如拼接、插入、删除等),避免频繁创建新对象,从而提升性能。

public class StringBuilderandStringBuffer {public static void main(String[] args) {StringBuilder sb = new StringBuilder();sb.append("Hello");       // 拼接:"Hello"sb.append(" ");           // 拼接:"Hello "sb.append("World");       // 拼接:"Hello World"sb.insert(6, "Java ");    // 插入:"Hello Java World"sb.delete(5, 6);          // 删除空格:"HelloJava World"sb.reverse();             // 反转:"dlroW avaJolleH"String result = sb.toString();  // 转为String:"dlroW avaJolleH"System.out.println(result);StringBuffer sb2 = new StringBuffer("Hello");sb2.append("World");sb2.insert(5, "Java ");//5这个位置插入Java后,将后面的字符串后移(从0位开始)sb2.insert(5, new StringBuffer("fucking"),0,7);//在5位将fucking从0位到6位插入,左闭右开System.out.println(sb2.toString());sb2.replace(5,12,"nb");//将5到11位替换为nbSystem.out.println(sb2.toString());sb2.delete(5,7);//将5到6位删除System.out.println(sb2.toString());sb2.reverse();String result2 = sb2.toString();System.out.println(result2);StringBuilder hello = new StringBuilder("Hello Java!I love you!");int i1 = hello.indexOf("Hello");System.out.println("Hello首次出现的位置"+i1);int i2 = hello.indexOf("love");System.out.println("love首次出现的位置"+i2);int i3 = hello.indexOf("o",5);System.out.println("o从5位开始首次出现的位置"+i3);int i4 = hello.indexOf("o");System.out.println("o首次出现的位置"+i4);int i5 = hello.indexOf("Python");System.out.println("Python首次出现的位置"+i5);//-1int i6 = hello.lastIndexOf("o");System.out.println("o从后往前数首次出现的位置"+i6);//19}}

在 Java 中,indexOf() 是字符串(String)、StringBuilderStringBuffer 等类中用于查找指定字符或子字符串首次出现位置的方法,类似地还有 lastIndexOf() 用于查找最后一次出现的位置

速度上StringBuilder>StringBuffer>String

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

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

相关文章

一个实用的短视频脚本创作指令分享

整理了一套结构化的AI指令,专门用来生成抖音短视频脚本。实测下来效果不错,这里分享给有需要的朋友。上周帮朋友优化了几个短视频脚本,发现很多人卡在"知道要拍什么,但不知道怎么拍"这个环节。于是整理了…

redis和mysql之间的数据一致性

解决双写一致性问题的主要策略 1、旁路缓存模式(Cache Aside Pattern) 在这个模式中,我们一般都是先更新数据库再删除旧缓存。 首先,为什么我们不选择先删除缓存再更新数据库,因为这样会导致在并发的情况下,假如A线…

ubuntu允许root登录桌面系统

1.设置root密码 sudo passwd root2.解锁root sudo passwd -u root 3.允许root登录 sudo nano /etc/gdm3/custom.conf# [Security] 下添加一下行AllowRoot=truesudo nano /etc/pam.d/gdm-password#注释或删掉以下行au…

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​​ 专门为申威(sw_64)架构的电脑打造的Java 8运行环境。 ​1. 下载文件​ 安装包下载:https://pan.quark.cn/s/936281541bdf ,确保你已经下载了 java-1.8.…

AI协科学家:技术革命还是安全噩梦?

本期节目深入探讨AI协科学家如何推动科学突破,分析基于智能体架构中的安全黑洞问题,讨论人类是否准备好让AI处理所有日常任务,并揭示相关技术风险与挑战。在《两个漏洞之间》的这期特别节目中,我们紧接着上个月的内…

一个决定

一个决定在家毛了好几天了,一个原因是下雨,一个原因是家里有大显示器。 但是家里的效率奇差。 自己做饭,一日三餐得刷碗,然后吃饭得时候刷剧,吃完饭了,还很难抽离出来。 今天好了,炒白菜得时候加了两勺我妈今年…

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

npm镜像配置

npm全称Node Package Manager,是node.js的模块依赖管理工具。由于npm的源在国外,所以国内用户使用起来各种不方便。下面整理出了一部分国内优秀的npm镜像资源,国内用户可以选择使用。 国内优秀npm镜像淘宝npm镜像搜…

一些特性

原始字符串(Raw String Literals) C++ 11特性 一种所见即所得的东西,可以完美返回你想要的字符串,包括换行等等 大体长这样 R"()"使用方式如 string k = R"(asdfasd sd gf a)"; cout <<…

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统2025-10-17 20:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: …

计算机视觉技术与应用深度解析

本文详细介绍了计算机视觉技术在电商推荐、无人机导航、广告生成等领域的实际应用,探讨了视觉语言模型的架构设计与抗幻觉技术,并分析了云端AI服务的三层技术栈构建原理。计算机视觉技术与应用深度解析 在今年的计算…

央链知播受权发布:图说《“可信资产 IPO + 数链金融 RWA” 链改 2.0 六方共识》 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AGC 板刷记录1

准备板刷 \(\text{agc}\),顺便写一个做题记录 [AGC072A] Rhythm Game 感觉水黑吧,洛谷恶评。 一眼就能看出不是贪心就是 \(\text{dp}\),发现其实两者兼有,首先把这个题转化成:有若干个任务,第 \(i\) 个任务在 \(…

2025.10.17总结

心理咨询完成聊天室功能,有点小bug,但是整体上功能已经较为完善了,修修改改后去进行心理视频学习,或心理测评模块的开发

记Windows 11环境Rust下载安装配置流程

记Windows 11环境Rust下载安装配置流程 一、Rustup下载按我的理解,这个工具类似于Steam,Rust则是你要安装的游戏,你可以在这个下载器命令行界面进行对Rust的镜像源、安装位置配置。在Rust官网链接下载Rustup下载器。…

K8s学习笔记(九) job与cronjob - 教程

K8s学习笔记(九) job与cronjob - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

[HZOI]CSP-S模拟33

挂分场CSP-S模拟33今天是挂分场,总计挂分 132 tps。。。T1:Divisors 大简单题。 这里粘一个结论,然后直接暴力做就行了。 结论 $ [1,1e5] 内 因子个数max = 128 (83160) $ $ [1,1e6] 内 因子个数max = 240 (720720)…

[PaperReading] VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual Documents

目录VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual DocumentsTL;DRMethodQ:VLM2Vec-V2与原始VLM2Vec算法有什么区别?BenchmarkQ&AQ:CLS, QA, RET, GD, Overall这些指标是什么含义…

通用UI界面设计

首先需要找到你要复制的界面 ,分别复制.cs文件 , .Designer.cs文件 ,.resx文件 将其复制到你所需要的位置复制完之后 ,复制下其当前的一个路径 ,等下有用 这个时候你返回VS2022里面是看不到的 ,这个时候刚复制的…

ffmpeg使用

用MP4中制作M3U8: ffmpeg -i myVideo.mp4 -c copy -bsf h264_mp4toannexb output.ts ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 output%03d.ts 从M3U8转回MP4: ffm…