8. Java本项目知识基础---下篇

news2024/11/24 1:22:16

Java本项目知识基础—下篇

1. String

拼接字符串

  • 进行头部、中部、尾部拼接 (简单、内存占用大) StringBuffer或StringBuilder进行append拼接(复杂、内存占用小)
public static void main(String[] args) {
   String str = "abc";
   //头部
   str = "头部字符串"+str;
   System.out.println(str);
   //尾部
   str+="尾部字符串";//str = str+"尾部字符串";
   System.out.println(str);

   //中部: 需要在a和b之间拼接 “中部123”
   String str2 = "中部123";
   str2 = "a"+str2+"bc";
   System.out.println(str2);
}

字符串常见方法
判断操作:
01

public static void main(String[] args) {
   System.out.println("你好世界".startsWith("你好"));//true
   System.out.println("你好世界".startsWith("好"));//false
   System.out.println("你好世界".endsWith("世界"));//true
   System.out.println("你好世界".endsWith("世"));//false
   System.out.println("abc".equals("abc"));//true
   System.out.println("abc".equals("Abc"));//false
   System.out.println("abc".equalsIgnoreCase("abc"));//true
   System.out.println("abc".equalsIgnoreCase("ABc"));//true
   System.out.println("你好世界".contains("好世"));//true
   System.out.println("你好世界".contains("好界"));//false
   System.out.println("".isEmpty());//true
   System.out.println(" ".isEmpty());//false
}

对字符串本身进行业务操作:
02
03
04
05
06
07
08
09

public static void main(String[] args) {
   String str = " hello World ";
   System.out.println(str.length());//13
   System.out.println(str.trim().length());//11
   System.out.println(str.charAt(1));//h
   char[] array = str.toCharArray();
   System.out.println(Arrays.toString(array));//[ , h, e, l, l, o,  , W, o, r, l, d,  ]
   String str2 = "HelloWorld";
   System.out.println(str2.toUpperCase());//HELLOWORLD
   System.out.println(str2.toLowerCase());//helloworld
   String s1 = str2.substring(5);
   System.out.println(s1);//World
   String s2 = str2.substring(0, 5);
   System.out.println(s2);//Hello

   String str3 = "abc#cde#fff";
   String[] split = str3.split("#");
   System.out.println(Arrays.toString(split));//[abc, cde, fff]

   String str4 = "192.168.1.1";
   String[] split1 = str4.split("\\.");
   System.out.println(Arrays.toString(split1));

   String str5 = "HelloabcWorldabc你好abc";
   String abc = str5.replaceAll("abc", "");
   System.out.println(abc);//HelloWorld你好

   //寻找第一个abc的出现位置
   int i = str5.indexOf("abc");
   System.out.println(i);//5
   //寻找最后一个abc的出现位置
   int i2 = str5.lastIndexOf("abc");
   System.out.println(i2);//18

   String str6 = "你";
   byte[] bytes = str6.getBytes();
   System.out.println(Arrays.toString(bytes));//[-28, -67, -96]
}

2. 日期

Date
java.util.Date

010

封装当前日期

public static void main(String[] args) throws InterruptedException {
   Date d1 = new Date();//封装这个时刻的时间
   System.out.println(d1);
   System.out.println(d1.toLocaleString());
   Thread.sleep(1000);
   Date d2 = new Date();
   System.out.println(d2.toLocaleString());
}

日期进行移动操作:
毫秒值: 1秒=1000毫秒
获取昨天这个时刻
获取明天这个时刻
获取一个月后这个时刻

public static void main(String[] args) {
   Date d1 = new Date();
   //获取当前时刻的毫秒值
   long t1 = d1.getTime();//System.currentTimeMillis()
   //1天的毫秒值
   long oneDay = 1000L*60*60*24;
   //变为昨天
   Date y = new Date(t1 - oneDay);
   System.out.println(y.toLocaleString());
   //变为明天
   Date t = new Date(t1 + oneDay);
   System.out.println(t.toLocaleString());
   //变为三个月后
   Date m = new Date(t1 + oneDay * 90);
   System.out.println(m.toLocaleString());
}

3.SimpleDataFormat

字符串转日期
日期转字符串

public static void main(String[] args) throws ParseException {
   String str = "2023/09/01 10:10:10";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
   Date parse = sdf.parse(str);
   System.out.println(parse.toLocaleString());
   Date date = new Date();
   String format = sdf.format(date);
   System.out.println(format);//2023/09/07 10:01:08
}

4.Math

需要哪个,就先取Math中进行查找,Math中没有,再来自己进行书写。

5.JSON和Java互转知识

JSON知识
服务器之间交互、服务器和前端交互的 必有数据格式。
格式1:(数组格式)
[元素1,元素2,元素N]

格式2:(对象格式)
{"属性名":"属性值","属性名":"属性值"}


保存几个学生信息:
[
{"name":"小张","sex":"男"},
{"name":"小红","sex":"女"}
]

保存股票列表信息:
{
"basic":"xx股票信息"
"list":[
"2001","2002"
]
}

6. Java转Json

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.17</version>
</dependency>

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
   //JsonProperty 在SpringBoot项目中jackson的指定属性名操作,json就和stuName进行交互了
   @JsonProperty("stuName")
   //JSONField 在SpringBoot项目中,fastjson的指定属性名操作,json就和stuName进行交互了
   //@JSONField(name="stuName")
   private String name;
   private String sex;
   private Double score;
}

public static void main(String[] args) {
   ArrayList<Student> slist = new ArrayList<>();
   Student s1 = new Student("小明", "男", 100.0);
   Student s2 = new Student("小张", "男", 95.0);
   Student s3 = new Student("小红", "女", 80.0);
   Collections.addAll(slist,s1,s2,s3);
   System.out.println(slist);
   //数组格式转换
   String jsonString = JSONArray.toJSONString(slist);
   System.out.println(jsonString);//[{"name":"小明","score":100.0,"sex":"男"},{"name":"小张","score":95.0,"sex":"男"},{"name":"小红","score":80.0,"sex":"女"}]
   //对象格式转换
   String jsonString2 = JSONObject.toJSONString(s1);
   System.out.println(jsonString2);//{"name":"小明","score":100.0,"sex":"男"}

}

7. Json转Java

public static void main(String[] args) {
   String json = "[{\"name\":\"小明\",\"score\":100.0,\"sex\":\"男\"},{\"name\":\"小张\",\"score\":95.0,\"sex\":\"男\"},{\"name\":\"小红\",\"score\":80.0,\"sex\":\"女\"}]";
   String json2 = "{\"name\":\"小明\",\"score\":100.0,\"sex\":\"男\"}";

   Object slist = JSONArray.parse(json);
   System.out.println(slist);
   Object parse = JSONObject.parse(json2);
   System.out.println(parse);
   Student student = JSONObject.parseObject(json2, Student.class);
   System.out.println(student);
}

8. 异常处理体系

异常处理体系知识
异常:程序不正常的状态。(程序设计导致的、程序的突发特殊值导致的)

Throwable顶层异常(一般不用)
----Error (错误,不需要捕获处理,程序设计缺陷,需要停止程序弥补缺陷的)

public class Demo1 {
   public static void main(String[] args) {
       run1();
   }
   public static void run1(){
       run1();//StackOverflowError
   }
}

----Exception (异常,需要捕获处理)

  1. try...catch
    快捷键 Ctrl+alt+t
public static void main(String[] args) {
   String str = null;
   String[] split = new String[0];//NullPointerException
   try {
       //ctrl+alt+t
       split = str.split(",");
   } catch (Exception e) {
       System.out.println("有问题");
   }
   System.out.println(Arrays.toString(split));
}

  1. finally
    无论如何一定执行
public static void main(String[] args) {
   try {
       int a = 1/0;
   } catch (Exception e) {
       throw new RuntimeException(e);
   } finally {
       System.out.println("无论如何一定执行");
   }
}

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

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

相关文章

Z410 2023款无人机,专为零基础开发者打造的入门级开源无人机

为什么开发Z410升级款-Easydrone无人机 新手开发者通常在本科阶段加入人工智能行业&#xff0c;对无人机二次开发往往一知半解&#xff0c;面临着C、Python、ROS和mavlink等一系列入门知识&#xff0c;学习起来非常困难&#xff0c;学习的过程中也面临许多挫折。为了帮助零基础…

vcruntime140.dll缺失如何修复,vcruntime140.dll重新安装方法分享

大家好&#xff01;今天&#xff0c;我非常荣幸能够站在这里&#xff0c;与大家分享关于vcruntime140.dll丢失的问题以及三种修复方法。希望通过我的演讲&#xff0c;能够帮助到在座的各位&#xff0c;解决我们在使用电脑过程中遇到的一些问题。 首先&#xff0c;让我们来了解一…

京东数据分析平台:9月中上旬白酒消费市场数据分析

9月份&#xff0c;围绕白酒的热点不断。9月5日&#xff0c;瑞幸咖啡官微发布消息称&#xff0c;瑞幸与贵州茅台跨界合作推出的酱香拿铁刷新单品纪录&#xff0c;首日销量突破542万杯&#xff0c;销售额破1亿元。9月14日&#xff0c;贵州茅台官微发布消息称与德芙推出联名产品“…

VMProtect使用教程(VC++MFC中使用)

VMProtect使用教程(VCMFC中使用) VMProtect是一种商业级别的代码保护工具&#xff0c;可以用于保护VC MFC程序。以下是使用VMProtect保护VC MFC程序的步骤&#xff1a; 1. 下载并安装VMProtect,C包含库及目录。 2. 在VC MFC项目中添加VMProtectSDK.h头文件&#xff0c;并在需…

Spring Boot如何配置CORS支持

Spring Boot如何配置CORS支持 CORS&#xff08;跨源资源共享&#xff09;是一种Web浏览器的安全性功能&#xff0c;用于控制网页上的脚本文件从不同的源加载其他网页资源。在开发现代Web应用程序时&#xff0c;通常需要跨域请求不同的资源&#xff0c;如API服务或其他Web应用程…

STM32CubeMX学习笔记-RTC实时时钟使用

STM32CubeMX学习笔记-RTC实时时钟使用 一、RTC简介二、新建工程三、RTC3.1 选择时钟3.3 生成代码3.5 添加读取时间函数 原创链接 1 一、RTC简介 实时时钟&#xff08;RTC&#xff09; 是一个独立的 BCD 定时器/计数器。 RTC 提供具有可编程闹钟中断功能的日历时钟/日历。RTC 还…

java开源商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

flume安装

安装之前要先注意一下版本兼容,就是jdk的版本与flume的版本 下载flume压缩包 Index of /dist/flume (apache.org)https://archive.apache.org/dist/flume/然后解压到一个目录,以/opt/moudle为例 进入/opt/moudle/apache-flume-1.9.0-bin/conf cp flume-env.sh.template flu…

SM5401是一款锂电池电源管理芯片

简介&#xff1a; SM5401 是一款集成锂电池充电管理&#xff0c; LED 指示功能&#xff0c;升压转换器的移动电源管理芯片&#xff0c;外围只需极少的元件&#xff0c;就可以组成功能强大的移动电源方案。 SM5401 内部集成了 0.8A 的线性充电模式&#xff0c;支持对 0V 电池充电…

第八章 排序 八、堆的插入与删除

一、插入元素 二、删除元素 1、删除元素13&#xff0c;将堆底元素填充到空处 2、为满足小根堆的特性&#xff0c;要让46不断下坠 三、总结

紧固行业内卷严重,张友君的飞沃科技能独善其身吗?

文&#xff5c;新熔财经 作者&#xff5c;文泽 “历经转折”的飞沃科技(301232.SZ)于今年6月&#xff0c;登陆资本市场。 公开资料显示&#xff0c;飞沃科技主要从事风电类高强度紧固件业务&#xff0c;主要产品包括预埋螺套、整机螺栓、锚栓组件。公司的实际控制人是张友君…

mysql-执行计划

1. 执行计划表概述 id相同表示加载表的顺序是从上到下。 id不同id值越大&#xff0c;优先级越高&#xff0c;越先被执行。id有相同&#xff0c;也有不同&#xff0c;同时存在。 id相同的可以认为是一组&#xff0c;从上往下顺序执行&#xff1b;在所有的组中&#xff0c;id的值…

移远通信5G RedCap模组现网实测再获新成果!携手行业伙伴加速5G产业成熟发展

近日&#xff0c;移远通信联合中国移动、爱立信、高通等产业链合作伙伴&#xff0c;在湖南岳阳5G现网中成功完成了基于5G RedCap 模组&#xff0c;开展的行业首个连接建立、数据传输、语音通话等功能测试。这也意味着&#xff0c;移远通信在推动RedCap产业成熟与应用落地上&…

秋日氛围 VoxEdit 大赛

将您的创造力提升到一个新的水平。在这个美妙的季节性 VoxEdit 比赛中释放您惊人的体素设计技能。 下载 VoxEdit 开始创作吧&#xff01; 主题&#xff1a;秋天的颜色无处不在。红色、黄色和橙色。南瓜、树叶和温暖舒适的毛衣。创造一个秋天相关的资产。无论是一个穿着秋季衣…

基于安卓android微信小程序的校园求职系统

运行环境 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&a…

虚拟环境搭建、后台项目创建及目录调整、封装logger、封装全局异常、封装Response、后台数据库创建

1 虚拟环境搭建 #1 虚拟环境作用多个项目&#xff0c;自己有自己的环境&#xff0c;装的模块属于自己的# 2 使用pycharm创建-一般放在项目路径下&#xff1a;venv文件夹-lib文件夹---》site-package--》虚拟环境装的模块&#xff0c;都会放在这里-scripts--》python&#xff0…

Flink---12、状态后端(HashMapStateBackend/RocksDB)、如何选择正确的状态后端

星光下的赶路人star的个人主页 大鹏一日同风起&#xff0c;扶摇直上九万里 文章目录 1、状态后端&#xff08;State Backends&#xff09;1.1 状态后端的分类&#xff08;HashMapStateBackend/RocksDB&#xff09;1.2 如何选择正确的状态后端1.3 状态后端的配置 1、状态后端&am…

人工智能(AI)技术的行业应用

人工智能&#xff08;AI&#xff09;技术具有广泛的应用潜力&#xff0c;几乎可以应用于各个行业和领域。以下是一些AI技术在不同行业中的主要应用领域&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

DM宣传单制作,利用在线模板,快速替换文字

如果你需要制作一批宣传单&#xff0c;但是时间很紧&#xff0c;而且没有专业的设计人员协助&#xff0c;那么你可以选择使用在线模板来快速制作宣传单。本文将介绍如何使用乔拓云平台&#xff0c;快速制作宣传单的方法。 步骤一&#xff1a;选择适合的在线制作工具 首先&…

【刷题笔记10.6】LeetCode:翻转二叉树

LeetCode&#xff1a;翻转二叉树 一、题目描述 给你一颗二叉树的根节点root&#xff0c;翻转这颗二叉树&#xff0c;并返回其根节点。 二、分析 我们在做二叉树题目时候&#xff0c;第一想到的应该是用 递归 来解决。 仔细看下题目的 输入 和 输出&#xff0c;输出的左右…