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

Java API速记手册(持续更新ing...)

诸神缄默不语-个人CSDN博文目录

之所以干这个事原因也很简单,因为我3年没写Java了,现在在复健。
因为我最近都在用Python,所以跟Python一样的部分我就不写了。

  1. 最基本的框架
    public class MainClass {public static void main(String[] args) {//主函数代码}
    }
    
  2. 打印:System.out.println(打印内容);
  3. 内置对象
    Java数组(未完待续)
  4. 实例化对象
    1. 内置对象
      int x=1;
    2. 自定义对象:类名 实例名=new 类名();
  5. 对象类型转换
    1. 将float转int1
      1. Float类的intValue()
      Float f = 10.5f;
      int i = f.intValue();
      System.out.println("Float转Int:" + i);
      
      1. 强制转换
      float f1 = 10.5f;
      int i1 = (int) f1;
      System.out.println("浮点型强制转换为整型:" + i1);
      
  6. 循环(Java循环(未完待续))
  7. 条件语句2
    1. if
      if(布尔表达式)
      {//如果布尔表达式为true将执行的语句
      }
      
    2. if-else
      if(布尔表达式){//如果布尔表达式的值为true
      }else{//如果布尔表达式的值为false
      }
      
  8. static静态方法
    private私有方法
    final
  9. Arrays类
    1. 赋值 fill()
      public static void fill(arrayname,value)
      public static void fill(arrayname ,starting index ,ending index ,value)
    import java.util.*;
    public class Example{public static void main(String[] args) {int array[] = new int[10];Arrays.fill(array, 1);for (int arrays:array) {System.out.print(arrays+" ");}System.out.println();Arrays.fill(array, 3, 6, 9);for (int arrays:array) {System.out.print(arrays+" ");}}
    }
    
    输出:
    1 1 1 1 1 1 1 1 1 1 
    1 1 1 9 9 9 1 1 1 1 
    
    1. 排序 sort()
      public static void sort(Object[] arrayname) 对一个数组的所有元素进行排序,并且是按从小到大的顺序
      public static void sort(Object[] arrayname,int fromIndex, int toIndex) 对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序
      import java.util.*;
      public class Example{public static void main(String[] args) {int array[] = {2,5,85,30,75,66,-18,0};Arrays.sort(array,2,5);for (int arrays:array) {System.out.print(arrays+" ");}System.out.println();Arrays.sort(array);for (int arrays:array) {System.out.print(arrays+" ");}}
      }
      
      输出:
      2 5 30 75 85 66 -18 0 
      -18 0 2 5 30 66 75 85 
      
      Arrays.sort()的底层原理:
      假设数组长度为n
      1<=n<47,使用插入排序
      47<=n<286,使用快速排序
      n>=286,使用归并排序或快速排序(有一定顺序使用归并排序,毫无顺序使用快速排序)
    2. 查找 binarySearch()
      用二分法查找:数组在调用前必须排序好
      public static int binarySearch(Object[] a,Object key) 在一个数组的所有元素中进行查找

      返回值:
      在数组范围内,索引值为“ - 插入点索引值”
      小于数组内元素,索引值为 – 1
      大于数组内元素,索引值为 – (length + 1)

      public static int binarySearch(Object[] a,int fromIndex,int toIndex,Object key) 在该数组指定的范围内进行查找

      返回值:
      在搜索范围内,索引值为“ - 插入点索引值”
      小于搜索范围内元素,返回–(fromIndex + 1)
      大于搜索范围内元素,返回 –(toIndex + 1)
      import java.util.*;
      public class Example{public static void main(String[] args) {int array[] = {2,5,85,30,75,66,-18,0};Arrays.sort(array);for (int arrays:array) {System.out.print(arrays+" ");}System.out.println();System.out.println(Arrays.binarySearch(array,5));System.out.println(Arrays.binarySearch(array,-99));System.out.println(Arrays.binarySearch(array,100));System.out.println(Arrays.binarySearch(array,60));System.out.println(Arrays.binarySearch(array,1,5,5));System.out.println(Arrays.binarySearch(array,1,5,-99));System.out.println(Arrays.binarySearch(array,1,5,100));System.out.println(Arrays.binarySearch(array,1,5,60));}
      }
      
      输出:
      -18 0 2 5 30 66 75 85 
      3         //5在数组内,返回排完序后的索引3
      -1        //-99小于数组内元素,返回索引值为-1
      -9        //100大于数组内元素,返回索引值为-(length+1)=-(8+1)
      -6        //60在数组范围内,返回索引值为-插入点索引值=-6
      3         //5在搜索范围内,返回排完序后的索引3
      -2        //-99小于搜索范围内元素,返回–(fromIndex + 1)=-(1+1)=-2
      -6        //100大于搜索范围内元素,返回–(toIndex + 1)=-(5+1)=-6
      -6        //60在搜索范围内,索引值为-插入点索引值=-6`
      
    3. 比较 equals()
      如果两个指定的数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。
      public static boolean equals(Object[] arrayname,Object[] arrayname2)
    import java.util.*;
    public class Example{public static void main(String[] args) {int[] array1 = {2,5,85,30,75,66,-18,0};int[] array2 = {75,2,66,30,5,85,0,-18};if(Arrays.equals(array1, array2)){System.out.println("array1等于array2");}else{System.out.println("array1不等于array2");}Arrays.sort(array1);Arrays.sort(array2);for(int arrays:array1){System.out.print(arrays+" ");}System.out.println();for(int arrays:array2){System.out.print(arrays+" ");}     System.out.println();if(Arrays.equals(array1, array2)){System.out.println("排序后,array1等于array2");}else{System.out.println("排序后,array1不等于array2");}}
    }
    
    输出:
    array1不等于array2
    -18 0 2 5 30 66 75 85 
    -18 0 2 5 30 66 75 85 
    排序后,array1等于array2
    
    1. 复制
      copyOf() 将原始数组的元素,复制到新的数组中,可以设置复制的长度(即需要被复制的元素个数) public static Object[] copyOf(original,newLength)

      copyOfRange() 将某个范围内的元素复制到新的数组中 public static Object[] copyOfRange(original,int from,int to) from为拷贝的开始位置(包含),to为拷贝的结束位置(不包含)
    import java.util.*;
    public class Example{public static void main(String[] args) {int[] array1 = {2,5,85,30,75,66,-18,0};int[] array2 = Arrays.copyOf(array1, 6);int[] array3 = Arrays.copyOfRange(array1, 2, 4);System.out.println(Arrays.toString(array1));System.out.println(Arrays.toString(array2));System.out.println(Arrays.toString(array3));       }
    }
    
    输出:
    [2, 5, 85, 30, 75, 66, -18, 0]
    [2, 5, 85, 30, 75, 66]
    [85, 30]
    
  10. Deque<Integer> stack = new ArrayDeque<Integer>();
    stack.push(Integer.parseInt(arr[i]));
    stack.peek()
    stack.pop();
  11. 列表List<Integer> list = new ArrayList<Integer>();
    列表转字符串:String str = list.toString(); String.join(" ", nums);
    list.add(factor);
  12. 字符串按分隔符分割为数组:String[] arr = data.split(", "); nums = Arrays.asList(data.split(" "));
  13. 字符串切片:str.substring(1, str.length() - 1);
  14. 检验对象是否为None(Java中None就是光声明不创建):data.isEmpty()
  15. 属性和方法:length size()
  16. Integer.MIN_VALUE
    Integer.MAX_VALUE
  17. 数字转字符串:String.valueOf(root.val)
  18. Integer.parseInt(nums.get(i))
  19. Math类
    1. min()3
      public class Test{public static void main(String args[]){System.out.println(Math.min(12.123, 12.456));      System.out.println(Math.min(23.12, 23.0));  }
      }
      
      输出结果:
      12.123
      23.0
      

本文撰写过程中使用的其他参考资料:

  1. Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法_数组和列表的区别_senxu_的博客-CSDN博客

  1. Java中Float怎么转Int类型? - IT视野 ↩︎

  2. Java 条件语句 – if…else | 菜鸟教程 ↩︎

  3. Java min() 方法 | 菜鸟教程 ↩︎

相关文章:

Java API速记手册(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 之所以干这个事原因也很简单&#xff0c;因为我3年没写Java了&#xff0c;现在在复健。 因为我最近都在用Python&#xff0c;所以跟Python一样的部分我就不写了。 最基本的框架public class MainClass {public static void main(String[] args…...

FANUC机器人电气控制柜内部硬件电路和模块详细介绍

FANUC机器人电气控制柜内部硬件电路和模块详细介绍 PSU电源单元 通过背板传输了如下电源 +5 +2.0V +3.3 +24v +24E +15V -15V 主板--接口描述: 主板内部结构: 面板电路板: 引申一下 KM21 与 KM22 的作用它们分别接至操作面板上上的急停按...

LGFormer:LOCAL TO GLOBAL TRANSFORMER FOR VIDEO BASED 3D HUMAN POSE ESTIMATION

基于视频的三维人体姿态估计的局部到全局Transformer 作者&#xff1a;马海峰 *&#xff0c;陆克 * †&#xff0c;薛健 *&#xff0c;牛泽海 *&#xff0c;高鹏程† * 中国科学院大学工程学院&#xff0c;北京100049 鹏程实验室&#xff0c;深圳518055 来源&#xff1a;202…...

数据结构零基础入门篇(C语言实现)

前言&#xff1a;数据结构属于C学习中较难的一部分&#xff0c;对应学习者的要求较高&#xff0c;如基础不扎实&#xff0c;建议着重学习C语言中的指针和结构体&#xff0c;万丈高楼平地起。 目录&#xff1a; 一&#xff0c;链表 1&#xff09;单链表的大致结构实现 2&…...

Hugging News #0904: 登陆 AWS Marketplace

每一周&#xff0c;我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新&#xff0c;包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等&#xff0c;我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息&#xff0…...

Redis Redis的数据结构 - 通用命令 - String类型命令 - Hash类型命令

目录 Redis的数据结构&#xff1a; Redis命令&#xff1a; 通用命令&#xff1a;&#xff08;通用指令是部分数据类型的&#xff0c;都可以使用的指令&#xff09; KEYS查询命令&#xff1a; DEL删除命令&#xff1a; EXISTS判断命令&#xff1a; EXPIPE有效期设置命令&…...

vue中的几种name属性

vue中的几种name属性 组件名name name选项 export default{name:xxx } // 获取组件的name属性 this.$options.namevue-devtools调试工具里显示的组件名称&#xff1b; 未配置name选项&#xff0c;就是组件的文件名&#xff1b; vue3配置name通过defineOptions()函数 de…...

论文《面向大规模日志数据分析的自动化日志解析》翻译

论文《Towards Automated Log Parsing for Large-Scale Log Data Analysis》翻译 面向大规模日志数据分析的自动化日志解析翻译...

element-ui dialog弹窗 设置点击空白处不关闭

根据官网提供方法 场景&#xff1a;vue实现的网站有两个弹窗同时出现时&#xff0c;关闭报警&#xff0c;批量进度条弹窗也关闭了&#xff0c; 1、每一个页面都有可能出现的报警弹窗&#xff0c; 2、页面a批量操控硬件添加操作的进度条弹窗 开始以为是因为点击报警弹窗&#…...

第16节-PhotoShop基础课程-修复工具组-去水印

文章目录 前言1.污点修复画笔1.功能原理2.调整1.调整大小 Alt 右键 左右2.调整软硬 Alt 右键 上下 2.修复画笔工具 Alt 选取源1.常规2.选择图案 3.修补工具1.类型1.源2.目标 2.扩展 4.内容感知移动工具5.红眼工具 前言 去水印等 1.污点修复画笔 比如把下面的土豆&#xff08…...

conda的使用教程

conda的介绍 简单来说&#xff0c;conda软件就是来管理包的软件。以Python为例&#xff0c;在实际生活中&#xff0c;我们要处理多个不同的项目&#xff0c;因此&#xff0c;要安装不同的项目所需要的包&#xff0c;为了管理方便&#xff0c;conda就是用来打理不同项目的包&…...

客户端发现pod并与之通信

客户端发现pod并与之通信 pod需要一种寻找其他pod的方法来使用其他pod提供的服务&#xff0c;不像在没有Kubernetes的世界&#xff0c;系统管理员要在用户端配置文件中明确指出服务的精确IP地址 或者主机名来配置每个客户端应用&#xff0c;但同样的方法在Kubernetes中不适用 …...

Powershell模拟实现Linux下的tree命令

Powershell模拟实现Linux下的tree命令 代码 环境&#xff1a; P o w e r s h e l l 7 Powershell\ 7 Powershell 7 function Get-Tree {param([string]$directory ".",[int]$d 1,[switch]$f)$absolutePath Resolve-Path -Relative $directoryWrite-Host $absol…...

嵌入式基础-电路

目录 1、电流 1.1电流方向 1.2交流电和直流电 2、电压 3、电阻 4、欧姆定律 1、电流 电流是指单位时间内通过导体的电荷量&#xff0c;用符号I表示&#xff0c;单位是安培&#xff08;A&#xff09;。电流是电磁学中的基本量纲之一&#xff0c;是七个基本量纲之一。电流的…...

【JS面试题】如何通过闭包漏洞在外部修改函数中的变量

✍️ 作者简介: 前端新手学习中。 &#x1f482; 作者主页: 作者主页查看更多前端教学 &#x1f393; 专栏分享&#xff1a;css重难点教学 Node.js教学 从头开始学习 ajax学习 前端面试题 文章目录 什么是闭包例 如何在函数外部修改闭包中变量 什么是闭包 闭包这个东西对新…...

【华为OD机试】按身高和体重排队【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列, 对身高相同的人,按体重由轻到重排列; 对于身高体重都相同的人,维持原有的编号顺序关系。请输…...

TCP原理(全网最详细)

一、确认应答&#xff08;可靠性机制&#xff09; TCP诞生的初衷就是可靠传输 可靠传输是TCP最核心的部分&#xff0c;TCP内部很多机制都是在保证可靠传输&#xff08;可以理解为发一条消息&#xff0c;上面显示已读未读&#xff0c;可靠传输就是发一条消息我知道对方是否收到…...

react 初级基础

react基本使用 项目创建 项目的创建命令 npx create-react-app react-basic创建一个基本元素进行渲染 // 1 导入react 和 react-dom import React from "react"; import ReactDOM from "react-dom";// 2 创建 react 元素 React提供了创建元素的api Rea…...

linux学习书籍推荐

《Linux程序设计&#xff08;第4版&#xff09;》&#xff0c;Neil Matthew和Richard Stones编写。这本书是Linux/UNIX专家编写的&#xff0c;详细介绍了Linux系统以及其他UNIX风格的操作系统上的程序开发&#xff0c;包括标准Linux C语言函数库和各种由Linux或UNIX标准指定的工…...

LeetCode 428. Serialize and Deserialize N-ary Tree【树,BFS,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...