Java_从入门到JavaEE_14

Day14

一.正则表达式 – 了解

  1. 含义:用来描述或者匹配一系列符合某个语句规则的字符串

  2. 案例:把一个字符串中带电话号码替换成111****1234

    public static void main(String[] args) {String str = "张三11112341234";String regex = "(1\\d{2})(\\d{4})(\\d{4})";str = str.replaceAll(regex , "$1****$3");	System.out.println(str);}
    
  3. 总结:利用正则表达式对字符串进行替换,校验,分割,爬数据。

  4. 常用表达式:见正则表达式常用表达式。

二.日期时间类

Date(java.util.Date) – 日期类
SimpleDateFormat – 格式化日期类
Calendar – 日历类

1.日期类

Date日期类案例:

import java.util.Date;public class Test {	public static void main(String[] args) {	Date date = new Date();//星期 月份 日期 时:分:秒 时区 年份//Sat May 11 10:42:59 CST 2024System.out.println(date);}
}

2.SimpleDateFormat格式化日期类

案例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Test {public static void main(String[] args) throws ParseException {		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");	//将Date对象转换为符合格式的日期时间字符串String datetime = sdf.format(new Date());System.out.println(datetime);//2024年05月13日 10:49:21	//将符合格式的日期时间字符串转换为Date对象Date date = sdf.parse("2024年05月13日 10:65:21");System.out.println(date);	}
}

3.Calendar日历类

案例:

import java.util.Calendar;public class Test03 {public static void main(String[] args) {		//获取日历对象Calendar c = Calendar.getInstance();		int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;//0~11月int day = c.get(Calendar.DAY_OF_MONTH);int hour = c.get(Calendar.HOUR);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);		System.out.println(year);System.out.println(month);System.out.println(day);System.out.println(hour);System.out.println(minute);System.out.println(second);}
}

总结:Calendar类(日历)是一个抽象基类,主要用于完成日期字段之间相互操作的功能。

  1. Date 和 SimpleDateFormat联合使用,获取出想要的日期时间格式
  2. Calendar获取单个日历数据

三 .Math

  1. Math 类提供了一序列基本数学运算和几何函数的方法。
  2. Math类是final类,并且它的所有成员变量和成员方法都是静态的。

1. Math类的常量和常用方法

  1. 案例:

    public class Test {public static void main(String[] args) {System.out.println("求次方:" + Math.pow(3, 2));//9.0System.out.println("求平方根:" + Math.sqrt(9));//3.0System.out.println("获取绝对值:" + Math.abs(-100));//100System.out.println("向上取整(天花板):" + Math.ceil(1.1));//2.0System.out.println("向下取整(地板):" + Math.floor(1.9));//1.0System.out.println("四舍五入:" + Math.round(1.5));//2System.out.println("最大值:" + Math.max(10, 20));//20System.out.println("最小值:" + Math.min(10, 20));//10System.out.println("获取随机值(0包含~1排他):" + Math.random());//0.39661220991942137//需求:随机出1~100的数字System.out.println((int)(Math.random()*100) + 1);}
    }
    
  2. 注意:Math类的abs()是有可能会返回负数的。

    //-2的31次方
    System.out.println(“获取int类型最小值:” + Integer.MIN_VALUE);//-2147483648

    //2的31次方-1
    System.out.println(“获取int类型最大值:” + Integer.MAX_VALUE);//2147483647
    //结果为负数:-2147483648

  3. 静态导入:将类里的静态属性和方法导入到本类来,成为本类自己的静态属性和方法,但可读性不高,有可能会与本类的静态属性和方法出现命名冲突。

四.Random

  1. 作用:此类用于生成随机数

  2. 案例:

    	Random ran = new Random();System.out.println("随机出int类型范围里的数字:" + ran.nextInt());System.out.println("随机出double类型范围里的数字:" + ran.nextDouble());System.out.println("随机出boolean类型范围里的数字:" + ran.nextBoolean());System.out.println("随机出0~9的int数字:" + ran.nextInt(10));//0~9
    
  3. 点名器:

String[] names = {"张三","李四","王五","赵六"};Random ran = new Random();int index = ran.nextInt(names.length);System.out.println(names[index]);
  1. Random的种子数

    当Random(100)种子数固定时,随机出的数据也是固定的。

五.Runtime

  1. Runtime代表Java程序的运行时环境,可以通过 getRuntime 方法获取当前运行时。

  2. 应用程序不能自己创建Runtime对象,可以通过Runtime的静态方法getRuntime()获得Runtime对象。

  3. Runtime类可以访问jvm的相关信息,如处理器数量,内存信息等

    public static void main(String[] args) {//获取运行时系统(单例模式)Runtime run = Runtime.getRuntime();System.out.println("获取处理数:" + run.availableProcessors());//8System.out.println("获取最大内存数(字节):" + run.maxMemory());System.out.println("获取闲置内存数(字节):" + run.freeMemory());}
    
  4. 单例模式:

    概念:
    实例化:new对象的过程
    单例模式:该类只有1个对象

六.System

Java程序的运行平台

  1. System类提供了一些静态属性和方法,允许通过类名直接调用。
  2. System类提供了代表标准输入、标准输出、错误输出的类属性。
  3. System类提供了一些静态方法用于访问环境变量、系统属性的方法。

1. System类属性

  1. 案例:
public static void main(String[] args) {//系统标准的输入流(方向:控制台->程序)InputStream in = System.in;Scanner scan = new Scanner(in);String next = scan.next();//系统标准输出流(方向:程序->控制台)//PrintStream out = System.out;	//out.println(next);//系统标准的错误输出流(方向:程序->控制台)PrintStream err = System.err;err.println(next);scan.close();}
  1. 研究System.out 和 System.err

    		System.out.println("小明");System.err.println("小红");System.out.println("小强");
    

    多次输出的结果会出现不同

    根本原因是out与err是两个不同的线程

    当两个同时出现时会从出现抢线程的情况

2. System(系统类)的方法

案例:

public static void main(String[] args) {//获取自1970.1.1 0:0:0到现在的毫秒数long currentTimeMillis = System.currentTimeMillis();System.out.println("获取毫秒数:" + currentTimeMillis);//获取当前系统配置文件对象Properties properties = System.getProperties();System.out.println(properties);//通过配置文件里的键获取值String property = System.getProperty("os.name");System.out.println(property);//退出当前虚拟机(0表示正常提出)//System.exit(0);//拷贝数组String[] names = {"张三","李四","王五","赵六"};String[] newNames = new String[3];System.arraycopy(names, 1, newNames, 0, 3);//(原数组,开始下标,目标数组,开始下标,拷贝长度)System.out.println(Arrays.toString(newNames));//删除数组的功能System.arraycopy(names, 2, names, 1, 6);System.out.println(Arrays.toString(names));}

七.大数值的运算类

  1. 整数大数值运算类:BigInteger: 能表示比Integer更大的数字

    案例:

    public static void main(String[] args) {BigInteger big1 = new BigInteger("1234567890000");BigInteger big2 = new BigInteger("1234567890000");BigInteger add = big1.add(big2);System.out.println("加法:" + add);BigInteger subtract = big1.subtract(big2);System.out.println("减法:" + subtract);BigInteger multiply = big1.multiply(big2);System.out.println("乘法:" + multiply);BigInteger divide = big1.divide(big2);System.out.println("除法:" + divide);}
    
  2. 小数大数值运算类:BigDecimal:浮点数的计算

    案例1:

    	public static void main(String[] args) {BigDecimal big1 = new BigDecimal("0.5");BigDecimal big2 = new BigDecimal("0.4");BigDecimal add = big1.add(big2);System.out.println("加法:" + add);BigDecimal subtract = big1.subtract(big2);System.out.println("减法:" + subtract);BigDecimal multiply = big1.multiply(big2);System.out.println("乘法:" + multiply);BigDecimal divide = big1.divide(big2);System.out.println("除法:" + divide);}
    

    案例2:

    	public static void main(String[] args) {BigDecimal big1 = new BigDecimal("10");BigDecimal big2 = new BigDecimal("3");BigDecimal divide = big1.divide(big2, 3, BigDecimal.ROUND_HALF_UP);System.out.println("除法:" + divide);}
    

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

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

相关文章

数据库开发记录

一.MySQL相关 1.Spatial Data相关

学习前端第三十三天(函数对象,NFE,定时器)

一、函数对象 函数的类型是对象。 1.属性“name” 函数都有个“name”,即使函数被创建时没有名字,名称赋值的逻辑也能给它赋予一个正确的名字,然后进行赋值。 const fn function () { };function fnn() {}const user {sayBye: function …

OpenAI发布最强大模型GPT-4o:对所有用户免费

OpenAI 最新推出的 GPT-4o 模型在实现更自然的人机交互方面迈出了重要一步。GPT-4o的“o” 源自拉丁语“全方位”,意思是“一切”。活动期间 OpenAI, 米拉穆拉蒂该公司技术总监上台展示了新的语言模型。她强调,拥有 OpenAI 帐户的每个人都可以免费使用新…

蓝桥杯备战21.哥德巴赫猜想

P1304 哥德巴赫猜想 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; struct student {string name;int c,m,e,s; }; bool check(int n) {for(int i2;i*i<n;i){if(n%i0)return 0;}return 1; } void out(int n) {for(int …

安装adobe系列,提示错误代码146解决办法

安装Adobe系列产品如PS、PR、Lrc等产品时&#xff0c;会因为各种各样的错误导致安装失败&#xff01;今天小编为大家带来的是安装adobe系列&#xff0c;提示错误代码146解决办法&#xff0c;收藏起来吧&#xff01; 方法一&#xff1a;就是传说中的万能大法&#xff0c;关机重启…

【MySQL】sql表设计的注意事项

程序员的实用神器 文章目录 程序员的实用神器强烈推荐引言注意事项强烈推荐专栏集锦写在最后 强烈推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站:人工智能 推荐一个个人工作&#x…

五、Linux二进制安装MariaDB 六、MariaDB主从复制

目录 五、Linux二进制安装MariaDB1 卸载mariadb1.1 卸载相关的服务(mysql和mariadb都查询一下)1.2 查找MySQL和mariadb相关的文件目录 2 安装mariadb2.1 mariadb下载地址2.2 将安装包放入到服务器中并解压 (我放到opt下)2.3 将解压后的目录移动到安装目录下2.4 创建数据目录(根…

高效且安全的传输工具:FileLink跨网文件传输

在数字化时代&#xff0c;文件传输已成为我们日常工作和生活不可或缺的一部分。无论是企业内部的资料共享&#xff0c;还是企业对外的文件交换&#xff0c;都需要一个高效、稳定且安全的传输工具。而FileLink跨网文件传输正是满足这些需求的理想选择。 FileLink跨网文件传输 首…

MYSQL5.7.39 升级到 MYSQL8.0.33

1 下载 mysql-shell-8.0.37-linux-glibc2.12-x86-64bit.tar.gz https://dev.mysql.com/downloads/shell/ 2 安装mysql-shell #上传mysql-shell安装包,并安装 #tar -xvf mysql-shell-8.0.37-linux-glibc2.12-x86-64bit.tar.gz #cd /data/app #mv mysql-shell-8.0.37-linux…

雇佣 K 位工人的总代价

题目链接 雇佣 K 位工人的总代价 题目描述 注意点 costs[i]是雇佣第 i 位工人的代价每一轮雇佣后&#xff0c;剩余工人的下标可能会发生变化一位工人只能被选择一次如果剩余员工数目不足 candidates 人&#xff0c;那么下一轮雇佣他们中代价最小的一人如果有多位代价相同且最…

IOS 苹果IAP(内购)之创建沙盒账号

IOS 苹果IAP&#xff08;内购&#xff09;之创建沙盒账号 沙盒账号是什么&#xff1f;沙盒账号创建的前提条件沙盒账号创建沙盒账号使用流程沙盒账号注意事项 沙盒账号是什么&#xff1f; 如果IOS应用里面用到了苹果应用内付费&#xff08;IAP&#xff09;功能&#xff0c;那么…

第6章 Elasticsearch,分布式搜索引擎【仿牛客网社区论坛项目】

第6章 Elasticsearch&#xff0c;分布式搜索引擎【仿牛客网社区论坛项目】 前言推荐项目总结第6章 Elasticsearch&#xff0c;分布式搜索引擎1.Elasticsearch入门2.Spring整合ElasticsearchDiscussPostRepositoryDiscussPostControllerEventConsumer 3.开发社区搜索功能 最后 前…

上位机图像处理和嵌入式模块部署(树莓派4b的替代品)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 实话实说&#xff0c;树莓派4b的产品力还是比较优秀的&#xff0c;价格还算适中。但是和国产卡片电脑比起来&#xff0c;则逊色不少。功能差不多的…

第四篇 Asciidoc - MindMap 思维导图 不是事

MindMap 是一种对思维的简单抽象,说到底,就是一个树状结构。 以下是一个样例: Figure 1. MindMap示例 我们的目录结构、模块结构、分类结构等等,都是树型结构,它非常普遍,因此 MindMap 是笔记软件中,获得最多支持的一种图。 精确地说,这类图,是对思维结构的一种映射…

BES 平台 SDK之 美格信Dongle 连接

前言: 最近项目到了试产阶段,需要用到美格信的Dongel 来测试ANC 相关功能。在此简单介绍下如何连接Dongel 的操作步骤。 一:硬件材料清单 1.美格信dongle 一台 2.待测机器 二:软件工具 1.BES_Designer_Tool_v1.0.782 2.美格信驱动安装包 :libusb-win32-devel-filter-1.2…

Polynomial Round 2022 C. Ice and Fire (构造)

小 09 和他的朋友们正在玩游戏。共有 n 名玩家&#xff0c;玩家 i 的温度值是 i 。 环境类型表示为 0 或 1 。当两个棋手在一个特定的环境中对战时&#xff0c;如果环境的类型是 0 &#xff0c;那么在这个环境中温度值较低的棋手总是获胜&#xff1b;如果环境的类型是 1 &#…

【Ubuntu系统hgfs共享文件夹不显示问题解决】

问题描述&#xff1a;为了实现本地物理机与虚拟机之间的文件传输&#xff0c;我们通常采用共享文件夹的方式。但是在Vmware虚拟机使用Ubuntu系统的过程中&#xff0c;由于某种特殊或意外原因&#xff0c;Ubuntu系统或发生/mnt/hgfs共享文件夹丢失不显示的问题。以下是本次问题发…

C语言易错提醒选择题精选

Ⅰ 易错题 1.设有double p;&#xff0c;为变量p声明一个引用名称rp,则定义语句为 double& rpp; 2.已知‘A’一‘Z’的ASCII码为65—90&#xff0c;当执行“char ch14*52&#xff1b;cout<<ch<<endl;”语句序列后得到的输出结H &#xff0c;72对应ASCII码中…

免费分享一套SpringBoot+Vue教务管理(课程管理)系统,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue教务管理(课程管理)系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue教务管理(课程管理)系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue教务管理(课程管理)系统 …

分布式开发

文章目录 分布式开发2024 分布式开发2024 分布式锁&#xff0c;有zk和redis二种实现方式 利用redis有一个框架Redisson 来实现 分布式事务的解决方案 分布式事务详解-Seata 通过springCloud的组件Seata来解决&#xff0c;这个是分布式项目问题解决框架通过自己来实现&#xff…