当前位置: 首页 > 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;本系列的终止日期可能是永远。在这一系列刷题文章…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

HTML中各种标签的作用

一、HTML文件主要标签结构及说明 1. <&#xff01;DOCTYPE html> 作用&#xff1a;声明文档类型&#xff0c;告知浏览器这是 HTML5 文档。 必须&#xff1a;是。 2. <html lang“zh”>. </html> 作用&#xff1a;包裹整个网页内容&#xff0c;lang"z…...

react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)

之前都是使用react-pdf来渲染pdf文件&#xff0c;这次有个需求是要兼容xp环境&#xff0c;xp上chrome最高支持到49&#xff0c;虽然说iframe或者embed都可以实现预览pdf&#xff0c;但为了后续的定制化需求&#xff0c;还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...

[QMT量化交易小白入门]-六十二、ETF轮动中简单的评分算法如何获取历史年化收益32.7%

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。 QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。 文章目录 相关阅读1. 策略概述2. 趋势评分模块3 代码解析4 木头…...