Java基础(8)- Java代码笔记5

news2024/9/21 0:30:07

目录

一、static关键字

1.概述:静态关键字

2.使用

a.修饰一个成员变量

b.修饰一个方法

3.调用静态成员:类名直接调用(不用new对象)

4.静态成员特点:

5.static修饰成员的访问特点

6.静态成员在开发中的使用场景

二、可变参数

1.定义格式

2.位置

3.注意

4.可变参数应用

三、递归

1.概述

2.分类

3.注意

4.递归应用


一、static关键字

1.概述:静态关键字

2.使用

a.修饰一个成员变量

static 数据类型 变量名

b.修饰一个方法

修饰符 static 返回值类型 方法名(形参){

        方法体

        return 结果

}

3.调用静态成员:类名直接调用(不用new对象)

4.静态成员特点:

a.静态成员属于类成员,不属于对象成员(非静态的成员属于对象成员)

b.静态成员会随着类的加载而加载

c.静态成员优先于非静态成员存在在内存中

d.凡是根据静态成员所在的类创建出来的对象,都可以共享这个静态成员

5.static修饰成员的访问特点

a.在静态方法中能直接访问非静态成员吗?

不能 (秦始皇-康熙),需要new对象

b.在非静态方法中能直接访问静态成员吗?

能,同类直接调用,或者类名调用。不同类需要类名调用。

c.在静态方法中能直接访问静态成员吗?

能,同类直接调用,或者类名调用。不同类需要类名调用。

d.在非静态方法中能直接访问非静态成员吗?

能,同类直接调用,或者new对象调用,不同类new对象调用。

6.静态成员在开发中的使用场景

问题1:可否把所有成员都定义成静态的?

不能,类加载都进内存,占用内存过大。

问题2:静态成员什么时候定义?

抽取工具类的时候可以把工具类中所有成员都定义成静态的。

问题三:什么时候定义工具?

代码反复实现且相同,功能一样,可以抽取出来当作工具类。

二、可变参数

1.定义格式

数据类型...变量名

2.位置

方法参数位置,只明确了参数类型,但是不明确参数个数,此时就可以定义成可变参数

3.注意

a.可变参数的本质是一个数组

b.参数位置不能连续写多个可变参数,而且可变参数和其他普通参数一起使用时,可变参数需要放到参数列表最后

public class Demo01Var {
    public static void main(String[] args) {
        sum(1,2,3,4,5);
    }
    public static void sum(int...arr){
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println(sum);
    }
}

4.可变参数应用

a.字符串拼接

三、递归

1.概述

方法内部自己调用自己

2.分类

a.直接递归

public static void method(){
    method();
}

b.间接递归

A(){
    B()
}
B(){
    C()
}
C(){
    A()
}   

3.注意

a.递归必须有出口,否则内存溢出

b.递归即使有出口,递归次数不要太多

4.递归应用

a.递减输出

b.阶乘

c.斐波那契数列

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

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

相关文章

搭建 canal 监控mysql数据到Elasticsearch(总结)

搭建 canal 监控mysql数据到 elasticsearch 中 需求: 要将 MySQL 数据库 info 中的 notice 和 result 表的增、删、改操作同步到 Elasticsearch 的 notice 和 result 索引&#xff0c;您需要正确配置 MySQL、Canal 、Canal Adapter 、 Elasticsearch 和 kibana 系统rocky9.2…

Django + websocket 连不上

看了网上的几个简单例子&#xff0c;一步一步做&#xff0c;但无一成功。都连不上websocket。 后来按一个视频教程的操作步骤来做&#xff0c;成功了。差别在于视频教程中加了 pip install daphne 和setting.py中 连不上的表现&#xff1a; 前端报错&#xff1a; WebSock…

如何打造在线音乐网站?java springboot架构,vue前端开发,音乐分享新体验

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

基于Prometheus 和K8S kubernetes 构建 搭建监控告警系统

目录 1、Prometheus介绍&#xff1f; 2、Prometheus特点&#xff1f; 2.1 样本 3、Prometheus组件介绍 4、Prometheus工作流程 4、Prometheus和zabbix对比分析 5、Prometheus的几种部署模式 5.1 基本高可用模式 5.2 基本高可用远程存储 5.3 基本HA 远程存储 联邦集群…

【QA】牙科光固化机类产品导光元件在进行检测时应关注哪些问题?

版权说明&#xff1a;本文来源【国家药品监督管理局】&#xff0c;如果您认为我们的文中描述与事实不符或有侵权行为&#xff0c;请及时联系我们。感谢您的关注。

怎么找TikTok代运营助力?灵感魔方怎么样?

在当今全球化的浪潮中&#xff0c;海外版抖音已然成为了品牌出海的重要阵地。然而&#xff0c;面对这个充满机遇与挑战的平台&#xff0c;如何找到专业的TikTok代运营团队来助力品牌成功出海呢&#xff1f;以下是一些关键的考量因素和方法。 首先&#xff0c;专业的TikTok代运…

ubuntu系统如何跑分

win系统下&#xff0c;跑分工具很多&#xff0c;ubuntu的话&#xff0c;估计很多人陌生。 这里介绍ubuntu跑分工具--geekbench 1&#xff0c;geekbench安装 下载地址i&#xff1a;https://www.geekbench.com/download/linux/ 点击进去就自动下载了。 没有下载到就继续点击…

MATLAB代码|中心差分卡尔曼滤波(CDKF)的滤波例程,无需下载,直接复制到MATLAB上面就能运行

文章目录 CDKF介绍代码运行结果各模块解析初始化系统模型设置CDKF循环绘图另有关于EKF和CDKF的对比程序:EKF+CDKF两个滤波的MATLAB程序,估计三轴位置,带中文注释—— https://blog.csdn.net/callmeup/article/details/136610153。 CDKF介绍 中心差分卡尔曼滤波(Central D…

C# 上位机开发指南:高效学习建议

目录 前言 上位机概念 基础知识 1、C#语言基础 2、.NET框架 3、桌面应用开发 4、设备通信 5、数据操作 6、多线程和并发 7、UI/UX设计 8、调试和测试 关键概念 事件驱动编程 异步编程 设计模式 通信协议学习 数据处理与存储 实时性与并发处理 技术选型 1、框…

CosyVoice 本地部署详细教程 手把手小白教程

CosyVoice 本地部署详细教程 注意事项 所有相关的软件、文件名称不要使用中文名称&#xff0c;也不要有中文路径&#xff0c;也不要有空格。 包括C盘用户名&#xff0c;不要有中文或空格。 模型部署前准备 nvidia显卡,建议显存6G以上AI框架CUDA、cuDNN安装 &#xff08;已安…

集成电路学习:什么是IP知识产权

一、IP&#xff1a;知识产权 IP是Intellectual Property的缩写&#xff0c;即知识产权。知识产权是一种无形的财产权&#xff0c;也称智力成果权&#xff0c;它指的是通过智力创造性劳动所获得的成果&#xff0c;并且是由智力劳动者对成果依法享有的专有权利。这种权利包括人身…

神仙公司名单(南京)

神仙公司&#xff08;南京&#xff09; 继续&#xff0c;神仙公司系列。 上一期我们介绍了 深圳的神仙公司&#xff0c;结果留言区的重点全都指向了 HW 和 BYD &#x1f923;&#x1f923; 不愧是你们&#xff0c;但我们不是"那个"排行。 言归正传&#xff0c;这期给…

笔记:《利用Python进行数据分析》之透视表和交叉表

透视表和交叉表 透视表&#xff08;pivot table&#xff09;是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。它根据一个或多个键对数据进行聚合&#xff0c;并根据行和列上的分组键将数据分配到各个矩形区域中。在Python和pandas中&#xff0c;可以通过本章所…

代码随想录算法训练营第十八天| 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

今日内容 leetcode. 669 修剪二叉搜索树leetcode. 108 将有序数组转换为二叉搜索树leetcode. 538 把二叉搜索树转换为累加树 Leetcode. 669 修剪二叉搜索树 文章链接&#xff1a;代码随想录 (programmercarl.com) 题目链接&#xff1a;669. 修剪二叉搜索树 - 力扣&#xff08…

mathtype批量更改公式编号的格式

这是一个笔记 在使用的时候遇到的问题,经过研究发现mathtype生成的右编号公式可以批量更新 调整前 如图,如果调整前使用的是默认的编号格式,显示为 1.5 1.5 1.5: 这里面1和5的意义为: 1:节编号5:公式编号 如下:调整后 如果需要不按章节形式来分类,则可以通过以下…

大数据中心运营管理整体规划方案(32页PPT)

随着信息技术的飞速发展&#xff0c;大数据已成为推动产业升级、促进经济社会发展的重要力量。大数据中心作为数据存储、处理与分析的核心基础设施&#xff0c;其运营管理的规范化、高效化、智能化直接关系到数据价值的有效挖掘和企业的核心竞争力。大数据中心运营管理整体规划…

免费下载Win11 24H2专业版!附详细安装教程

今日&#xff0c;系统之家小编给大家带来2024年最新的Windows11 24H2专业版系统&#xff0c;更新后系统版本号将升至26100.1591。系统基于微软官方最新Windows 11 24H2专业版进行离线制作与优化&#xff0c;确保系统安全无毒&#xff0c;兼容性强&#xff0c;可完美支持新老机型…

构建可扩展的数据平台(数据平台设计中的数据网格趋势)

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 欢迎来到雲闪世界。在本文中&#xff0c;我旨在深入研究各种类型的数据平台架构&#xff0c;更好地了解它们的演变、优势、劣势和实际应用。重点是数据网格架构、它在现代数据堆栈 (MDS) 中的作用以及当今…

Getting an error trying to import environment OpenAI Gym

题意&#xff1a;尝试导入 OpenAI Gym 环境时遇到错误 问题背景&#xff1a; I am trying to run an OpenAI Gym environment: 我正在尝试运行一个 OpenAI Gym 环境&#xff1a; env gym.make("ALE/Breakout-v5", render_mode"rgb_array")But I get th…

数据分析-MAC 编程环境安装教程

目标 在 Mac 电脑上&#xff0c;安装以下环境&#xff1a; 1. 安装 Anaconda&#xff1a;用于管理 Python 及其依赖库的分发&#xff0c;适用于数据科学和机器学习。 2. 安装 chromedriver&#xff1a;用于 Selenium 自动化测试&#xff0c;尤其是与 Google Chrome 浏览器的…