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

方法+数组

1. 方法

1. 什么是方法

方法定义:

// []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体;[return value ;]
}[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值 ;]
}
1. 修饰符:现阶段直接使用 public static 固定搭配
2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void
3. 方法名字:采用小驼峰命名
4. 参数列表:如果方法没有参数, () 中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
5. 方法体:方法内部要执行的语句
6. java 当中,方法必须写在类当中
7. java 当中,方法不能嵌套定义
8. java 当中,没有方法声明一说,方法定义放在函数调用前后都可以
调用方法 --- > 传递参数 --- > 找到方法地址 --- > 执行被调方法的方法体 --- > 被调方法结束返回 --- > 回到主调方法继续往下 执行

2. 方法重载

什么是方法重载:
1. 方法名必须相同
2. 参数列表必须不同 ( 参数的个数不同、参数的类型不同、类型的次序必须不同 )
3. 与返回值类型是否相同无关

3. 方法签名

经过编译器编译修改过之后方法最终的名字。具体方式: 方法全路径名 + 参数列表 + 返回值类型,构成 方法完整的名字。
    public static int add(int x,int y){return x+y;}public static double add(double x,double y){return x+y;}public static void main(String[] args) {System.out.println(add(1,2));System.out.println(add(1.5,3.7));}
上述代码经过编译之后,然后使用 JDK 自带的 javap 反汇编工具查看,具体操作:
1. 先对工程进行编译生成 .class 字节码文件
2. 在控制台中进入到要查看的 .class 所在的目录
3. 输入: javap -v 字节码文件名字即可

javap 是 Java 提供的一个反编译工具,可以用来反编译生成字节码的 .class 文件,以查看该类的结构、方法、属性等信息。在使用 javap 命令时,可以加上不同的选项来输出不同的信息,其中包括 -c 和 -v 选项。

  • javap -c:使用 -c 选项会输出反编译的字节码指令。这个选项会列出每个方法的字节码指令,以及相应的操作数。这样可以更直观地查看编译后的 Java 代码实际运行时的指令流程,有利于分析代码运行时的具体逻辑。
  • javap -v:使用 -v 选项会输出反编译的类文件的详细信息,包括常量池、字段表、方法表等。这个选项会将更多的信息以详细方式列出,有助于更深入地了解类的结构和属性。

综上所述,区别主要在于 -c 选项输出的是字节码指令,而 -v 选项输出的是类文件的结构信息。根据具体的需求可以选择使用不同的选项来进行查看和分析。

特殊字符数据类型
Vvoid
Zboolean
Bbyte
Cchar
Sshort
Iint
Jlong
Ffloat
Ddouble
[
数组     以  开头,配合其他的特殊字符,表述对应数据类型的数组,几个  表述几维数组  )
L
引用类型,以 L 开头,以  结尾,中间是引用类型的全类名
    //按顺序打印一个数字的每一位public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n= scan.nextInt();prin(n);//方法调用}//方法定义public static void prin(int n){//如果n<10if(n<10){System.out.println(n);}else { //如果n大于10prin(n/10);//递归调用prin函数System.out.println(n%10);}}

2.  数组

1. 数组的创建

type[] name = new type[num] ;// type     数组元素类型
// type[]   数组类型
// name     数组名
// num      数组元素个数

2. 数组的初始化

动态初始化在创建数组时,直接指定数组中元素的个数

type[] name = new type[num] ; //num不可为空
静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定
type[] name = new type[]{ data1,data2,data3... ,datanum } ;
1. 静态初始化虽然没有指定数组的长度,编译器在编译时会根据 {} 中元素个数来确定数组的长度。
2. 静态初始化时 , {} 中数据类型必须与 [] 前数据类型一致。
3. 静态初始化可以简写,省去后面的 new T[]
type[] name = { data1,data2,data3... ,datanum } ;
静态和动态初始化也可以分为两步去写,但动态初始化简写不可以
//动态初始化
type[] name ;
name = new type[num] ;//静态初始化
type[] name ;
name = new type[]{ data1,data2,data3... ,datanum } ;//name = { data1,data2,data3... ,datanum } ; //err 简写
注意:
虽然java中的数组也可以按照C语言的方法创建,但不推荐(type[] 可以表示数组类型)
如果没有对数组进行初始化,数组中元素有其默认值
   1. 如果数组中存储元素类型为基类类型,默认值为基类类型对应的默认值:
类型  默认值

byte 

0
short0
int0
long0
float0.0f
double0.0
char/u0000
boolean

false

   2. 如果数组中存储元素类型为引用类型,默认值为null

1. 数组是一段连续的内存空间,因此 支持随机访问,即通过下标访问快速访问数组中任意位置的元素
2. 下标从 0 开始,介于 [0, N )之间不包含 N N为元素个数,不能越界,否则会报出下标越界异常。( java.lang.ArrayIndexOutOfBoundsException )

3. 数组遍历

"遍历" 是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作。

在数组中可以通过 数组对象 .length 来获取数组的长度
for-each for 循环的另外一种使用方式 . 能够更方便的完成对数组的遍历 . 可以避免循环条件和更新语句写错 . 但是我们 拿不到数组下标

相关文章:

方法+数组

1. 方法 1. 什么是方法 方法定义&#xff1a; // []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体&#xff1b;[return value ;] }[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值…...

驱动-----adc

在key1.c的基础上进行对adc1.c进行编写 首先将文件里面的key全部改为adc 再修改一下设备号 按键和adc的区别是什么,按键只需要按一下就触发了,并且不需要返回一个值出来, adc要初始化,启动,返回值 以下是裸机adc的代码: #include <s3c2440.h> #include "ad…...

js实现点击图片,使图片跟随鼠标移动(把注释打开是图片随机位置)

代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title>&l…...

MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况

什么是 powermetrics&#xff1f; powermetrics 是 macOS 系统自带的一个命令行工具&#xff0c;用于收集和分析系统能源消耗数据。通过它&#xff0c;我们可以深入了解 Mac 的硬件性能、软件行为以及能源使用情况&#xff0c;从而优化系统配置&#xff0c;提高电池续航时间。…...

字符串函数

大家好&#xff0c;今天我们来了解几个字符串函数 1.strcpy函数 这个函数是一个字符串复制函数&#xff0c;其全称为string copy&#xff0c;它可以将一个源字符数组的内容复制到目标字符数组中&#xff0c;我们需要关注几个问题&#xff0c;首先源字符串必须以&#xff3c;0…...

Java数组的地址和元素访问 C语言空指针与野指针

1. public static void main(String[] args) {int []arr{1,2,3,4,5};int numarr[0];System.out.println(num);System.out.println(arr[1]);System.out.println(arr);//[I610f87f48//[表示地址 I表示数据类型 表示间隔符号&#xff08;固定格式&#xff09;//10f87f48表示地址…...

如何在Linux系统中使用SSH进行安全连接

如何在Linux系统中使用SSH进行安全连接 SSH简介 安装SSH 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动SSH服务 验证SSH是否安装成功 SSH配置 配置监听端口 配置登录方式 SSH客户端 安装SSH客户端 使用SSH客户端 SSH密钥认证 生成SSH密钥对 复制公钥到远程服务器…...

Pandas 数据可视化指南:从散点图到面积图的全面展示

Pandas 数据可视化指南&#xff1a;从散点图到面积图的全面展示 本文介绍了使用 Pandas 进行数据可视化的多种方法&#xff0c;包括散点图、折线图、条形图、直方图、饼图和面积图等&#xff0c;涵盖了常见的图表类型及其实现方式。通过提供详细的代码示例&#xff0c;展示了如…...

Flink + Kafka 实现通用流式数据处理详解

Flink Kafka 实现通用流式数据处理详解 在大数据时代&#xff0c;实时数据处理和分析成为企业快速响应市场变化、提高业务效率和优化决策的关键技术。Apache Flink和Apache Kafka作为两个重要的开源项目&#xff0c;在数据流处理领域具有广泛的应用。本文将深入探讨Flink和Ka…...

Docker常用命令汇总

一、Docker基础命令 启动docker&#xff1a;systemctl start docker关闭docker&#xff1a;systemctl stop docker重启docker&#xff1a;systemctl restart dockerdocker设置随服务启动而自启动&#xff1a;systemctl enable docker查看docker 运行状态&#xff1a;systemctl…...

【Java笔记】0-为什么学习Java

呃&#xff0c;当然是为了找个Java的开发工作 当然是由于Java使用的人多和它天生自带的优点了~ 主要优点有以下几点&#xff1a; 简单性 C语法纯净版&#xff0c;没有头文件、指针运算、不用分配内存 面向对象 重点放在对象与其接口上&#xff0c;接近人的逻辑 可移植性 …...

海外云手机是什么?对外贸电商有什么帮助?

在外贸电商领域&#xff0c;流量引流已成为卖家们关注的核心问题。越来越多的卖家开始利用海外云手机&#xff0c;通过TikTok等社交平台吸引流量&#xff0c;以推动商品在海外市场的销售。那么&#xff0c;海外云手机到底是什么&#xff1f;它又能为外贸电商卖家提供哪些支持呢…...

【找到了】有人知道怎么在本地用记事本方式打开Linux文本文件吗?

就类似这种&#xff0c;我输入一个什么命令打开文件&#xff0c;就能在命令窗口上弹出一个编辑器来编辑文件。只记得好像有参数-e啥的。 命令行里面如何打开文本编辑器&#xff1f; &#xff08;&#xff09; 在linux命令行terminal上使用gedit直接就可以打开文本文件 那么在…...

docker 安装postgresql

前提&#xff1a;准备好postgresql镜像&#xff0c;如&#xff1a;镜像地址/postgres:15.8 使用docker安装posgresql&#xff1a; 1.docker pull 镜像地址/postgres:15.8 2.docker run -d --namepostgres -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e PO…...

2004至2023中国分省统计面板数据-最新出炉_附下载链接

中国各省绿色税收相关数据&#xff08;2007-2022年&#xff09;概述 下载链接-点它&#x1f449;&#x1f449;&#x1f449;&#xff1a;中国分省统计面板数据&#xff08;2004-2023&#xff09;-最新出炉.zip 资源介绍 绿色税收主要是指以保护环境、合理开发利用自然资源、…...

【算法】排序算法总结

文章目录 内排序一、插入排序1.1 直接插入排序1.2 折半插入排序1.3 希尔排序 二、选择排序2.1 简单选择排序2.2 堆排序 三、交换排序3.1 冒泡排序3.2 快速排序Hoare版挖坑法快速排序前后指针法快速排序的非递归 四、归并排序递归版本非递归版本 五、基数排序六、计数排序内排序…...

双11来了,云计算优惠大集合

京东云 2C2G强烈推荐 连接直达...

13. MapReduce自定义OutputFormat

一. OutputFormat简介 OutputFormat是MapReduce输出的基类&#xff0c;所有MapReduce输出都实现了OutputFormat接口&#xff0c;它接收ReduceTask产生的数据&#xff0c;然后将结果按照指定格式输出。 在MapReduce中&#xff0c;如果不指定&#xff0c;默认使用的是TextOutpu…...

Javase——正则表达式

正则表达式的相关使用 public static void main(String[] args) {//校验QQ号 System.out.println("3602222222".matches("[1-9][0-9]{4,}"));// 校验18位身份证号 System.out.println("11050220240830901X".matches("^([0-9]){7,18}…...

云原生文件系统之JuiceFS

JuiceFS 是一个分布式文件系统&#xff0c;专门为云原生环境设计&#xff0c;支持大规模数据存储和处理&#xff0c;特别适用于处理对象存储和大数据应用。JuiceFS 将元数据和数据分离&#xff0c;元数据保存在数据库中&#xff0c;而文件数据则存储在对象存储中&#xff0c;提…...

C++:输入和输出

一 . DEV C的下载和安装 二 . 第一个C程序 三 . 输出流 四 . 初始的数据类型 3.1、整型变量 3.2、双精度浮点数变量 3.3、字符型变量 3.4、字符串变量 3.5、无符号整型变量 五、输入流...

vue的路由的两种模式 hash与history 详细讲解

文章目录 1. Hash 模式工作原理优点缺点使用示例 2. History 模式工作原理优点缺点服务器配置示例使用示例 总结 Vue Router 是 Vue.js 的官方路由管理器&#xff0c;它支持多种路由模式&#xff0c;其中最常用的两种是 hash 模式和 history 模式。下面我们详细讲解这两种模式的…...

【Linux操作系统】进程间通信之匿名管道与命名管道

目录 一、进程间通信的目的&#xff1a;二、进程间通信的种类三、什么是管道四、匿名管道&#xff08;共同祖先的进程之间&#xff09;1.匿名管道的使用2.匿名管道举例3.匿名管道的原理4.管道特点5.管道的读写规则1. 当管道内没有数据可读时2.当管道满的时候3.管道端被关闭4.数…...

慢sql优化和Explain解析

要想程序跑的快&#xff0c;sql优化不可懈怠&#xff01;今日来总结一下常用的慢sql的分析和优化的方法。 1、慢sql的执行分析&#xff1a; 大家都知道分析一个sql语句执行效率的方法是用explain关键词&#xff1a; 举例&#xff1a;sql:select * from test where bussiness_…...

ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities

文章汇总 当前的问题 目前的工作集中于单模提示发现&#xff0c;即一种模态只有一个提示&#xff0c;这可能不足以代表一个类[17]。这个问题在多模态提示学习中更为严重&#xff0c;因为视觉和文本概念及其对齐都需要推断。此外&#xff0c;仅用全局特征来表示图像和标记是不…...

【Java SE】代码注释

代码注释 注释&#xff08;comment&#xff09;是用于说明解释程序的文字&#xff0c;注释的作用在于提高代码的阅读性&#xff08;可读性&#xff09;。Java中的注释类型包括3种&#xff0c;分别是&#xff1a; 单行注释多行注释文档注释 ❤️ 单行注释 基本格式&#xff…...

如何在算家云搭建Llama3-Factory(智能对话)

一、Llama3-Factory 简介 当地时间 4 月 18 日&#xff0c;Meta 在官网上宣布公布了旗下最新大模型 Llama 3。目前&#xff0c;Llama 3 已经开放了 80 亿&#xff08;8B&#xff09;和 700 亿&#xff08;70B&#xff09;两个小参数版本&#xff0c;上下文窗口为 8k。Llama3 是…...

操作数据表

创建表 创建表语法&#xff1a; CREATE TABLE table_name ( field1 datatype [COMMENT 注释内容], field2 datatype [COMMENT 注释内容], field3 datatype ); 注意&#xff1a; 1. 蓝色字体为关键字 2. CREATE TABLE 是创建数据表的固定关键字&#xff0c;表…...

C# 实现进程间通信的几种方式(完善)

目录 引言 一、基本概念 二、常见的IPC方法 1. 管道&#xff08;Pipes&#xff09; 2. 共享内存&#xff08;Shared Memory&#xff09; 3. 消息队列&#xff08;Message Queues&#xff09; 4. 套接字&#xff08;Sockets&#xff09; 5. 信号量&#xff08;Semaphore…...

MySQL Workbench Data Import Wizard:list index out of range

MySQL Workbench的Data Import Wizard功能是用python实现的&#xff0c;MySQL Workbench自带了一个python&#xff0c;数据导入的时候出现错误提示 22:55:51 [ERR][ pymforms]: Unhandled exception in Python code: Traceback (most recent call last): File "D…...

知名网站建设平台/重庆seo怎么样

我发现在重载下我的金字塔网络应用程序抛出py-postgresql异常,如postgresql.exceptions.ProtocolError.一些搜索显示,py-postgresql不是线程安全的连接不能同时被多个线程使用.我尝试制作某种池化机制,但我仍然可以ProtocolErrors &#x1f641;我究竟做错了什么&#xff1f;首…...

网站建设需求调查/广州白云区疫情实时动态

DedeCms 设置附件上传目录无效的解决办法 DedeCms已经升级到5.7版本了.. 可惜附件的目录还是不统一&#xff0c;比如我们从后台把附件目录调整为Ym(默认为Ymd) 然而我们的附件路径依然是不一样的 比如&#xff1a; Ymd代表年月日 从文章里上传 路径为:/Ym/1.jpg 从附件里上传呢…...

合肥网站建设托管/推广平台排名

目录1. Set概述2. 基本使用3. 其他方法4. 面试题&#xff1a;用set实现两数组的交集&#xff0c;并集&#xff0c;补集1. Set概述 Set数据结构是ES6中引入的&#xff0c;MDN中的定义如下&#xff1a; Set对象是值的集合&#xff0c;你可以按照插入的顺序迭代它的元素。 Set中的…...

东莞市产品网络推广/搜索引擎优化方法总结

最近在Ubuntu 18.4上安装Nvidia显卡后&#xff0c;显卡似乎总是不能完全兼容。 第一次出现问题时&#xff0c;是登录账号后&#xff0c;发现系统采用了默认显卡驱动&#xff0c;而已装过的显卡驱动则有损坏导致无法使用。 第二次出现问题时&#xff0c;则是在开机启动后&#x…...

上海网站哪家好/外贸网站

3.设置背景图片 Background-image:url(相对路径) ----123.jpg图片拉伸铺满&#xff1a; background-size:cover 铺满方向&#xff1a; background-repeat:repeat-x/repeat-y/no-repeat&#xff08;横向铺满/纵向铺满/不铺满显示左上角&#xff09; 图片方位&#xff1a; backgr…...

宁波市省网站建设/计算机培训机构排名前十

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。开发工具python 3.6.5pycharmrequeststimecsv相关模块可pip安装确定目标网页获取数据内容cap之家数据是动态数据加载的~ 开发者工具可以找到相对应的数据接口请求数据是…...