您的位置:首页 > 文旅 > 美景 > 免费网站建设加盟_网吧服务员_举一个病毒营销的例子_百度关键词优化首选667seo

免费网站建设加盟_网吧服务员_举一个病毒营销的例子_百度关键词优化首选667seo

2025/2/27 0:08:16 来源:https://blog.csdn.net/pingwenqi/article/details/145072371  浏览:    关键词:免费网站建设加盟_网吧服务员_举一个病毒营销的例子_百度关键词优化首选667seo
免费网站建设加盟_网吧服务员_举一个病毒营销的例子_百度关键词优化首选667seo

目录

一.方法(函数)

1.方法的定义

2.方法的调用过程

3.实参与形参的关系

4.方法的重载

5.方法签名(了解)

6.递归(常用于数列,阶乘)

二.数组

1.定义方法:

2.初始化:

3.注意:

4.遍历数组

5.数组特性:引用类型

6.冒泡查询 (同C语言中提到过的一样)

7.数组拷贝:

​编辑

8.二维数组:

附加:

前提导入包情况下用下述方法

常见报错分析:


一.方法(函数)

1.方法的定义
 

修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}

注意事项:

1. 修饰符:现阶段直接使用 public static 固定搭配
2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void
3. 方法名字:采用小驼峰命名(特点是第一个单词小写字母开始,后续每个单词的首字母都大写
4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开(由于Java中没有指针,方法调用只是参数的赋值对实参没任何影响。)
5. 方法体:方法内部要执行的语句
6. java 当中,方法必须写在类当中
7. java 当中,方法不能嵌套定义
8. 在java当中,没有方法声明一说(代表java代码不是自上而下的读的,而是是全局的)

2.方法的调用过程

调用方法 --- > 传递参数 --- > 找到方法地址 --- > 执行被调方法的方法体 --- > 被调方法结束返回 --- > 回到主调方法继续往下执行
注意: 定义方法的时候, 不执行方法的代码 . 只有调用的时候才会执行 .   一个方法可以被多次调用 .

3.实参与形参的关系

实参☞主代码中传入方法的值(如下图a,b),形参☞方法构建中的参数(如图x,y)。
public class TestMethod {
public static void main(String[] args) {
int a = 10;
int b = 20;
swap(a, b);
System.out.println("main: a = " + a + " b = " + b);
}
public static void swap(int x, int y) {
int tmp = x;
x = y;
y = tmp;
System.out.println("swap: x = " + x + " y = " + y);
}
}
注意:在 Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体。
如上图当打印结果时a,b值不变,x,y值发生改变。

4.方法的重载

产生的原因:当多种形式的参数做同一种功能时,由于参数定义的数据类型不同所以即使是同功能方法也要写成不同方法名的方法。
定义: Java 中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了 。(这样可以让相似功能的不同方法使用统一方法名)。
注意定义的方法:
1. 方法名必须相同
2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)(用于系统能更好的分辨使用的方法)
3. 与返回值类型是否相同无关
4. 编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法

5.方法签名(了解)

定义:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成 方法完整的名字。

6.递归(常用于数列,阶乘)

定义:一个方法在执行过程中调用自身, 就称为 "递归"

产生原因:遇到的问题直接并不好解决,但是发现将原问题拆分成其子问题之后,子问题与原问题有相同的解法,等子问题解决之后,原问题就迎刃而解了。

注意:递归非常的费内存如下图:

代码示例: 递归求 N 的阶乘
public static void main(String[] args) {
int n = 5;
int ret = fac(n);
System.out.println("ret = " + ret);
}
public static int fac(int n) {
System.out.println("函数开始, n = " + n);
if (n == 1) {
System.out.println("函数结束, n = 1 ret = 1");
return 1;
}
int ret = n * fac(n - 1);
System.out.println("函数结束, n = " + n + " ret = " + ret);
return ret;
}

二.数组

基本概念:相同类型元素的一个集合(与C语言数组含义相似)

1.定义方法:

T[] 数组名 = new T[N];
T:表示数组中存放元素的类型
T[]:表示数组的类型
N:表示数组的长度

2.初始化:


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

int[] arry=new int[10]

(2). 静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定(非边长数组)(数组内全体赋值只能在此时进行,之后只能单个单个的赋值)

int[] arry={1,2,4,5,6};

3.注意:

1. 数组中存放的元素其类型相同
2. 数组的空间是连在一起的
3. 每个数组成员有自己的编号,其实位置由编号为 0开始 ,即数组的下标。
4.数组变量内存放数组的首地址
5. 如果没有对数组进行初始化,数组中元素有其默认值(为基类类型,默认值为基类类型对应的默认值,boolean默认fales)(引用类型,默认值为null)

4.遍历数组

//正常循环遍历
int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < array.lengh; i++)//在数组中可以通过 数组对象.length 来获取数组的长度
{System.out.println(array[i]);}
//for-each
int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}//for-each 是 for 循环的另外一种使用方式. 能够更方便的完成对数组的遍历. 可以避免循环条件和更新语句写错.

5.数组特性:引用类型

基本类型变量与引用类型变量的区别
基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所 对应的值
而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的 地址

6.冒泡查询 (同C语言中提到过的一样)

        

public static void main(String[] args) {
int[] arr = {9, 5, 2, 7};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 1; j < arr.length-i; j++) {
if (arr[j-1] > arr[j]) {
int tmp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = tmp;
}
}
} 
}

查找

1.顺序查找:一个个顺序比对找。

2.二分查找:折中查找找中间值大在右小在左。

7.数组拷贝:

方法1利用循环一一赋值
public static void sam{
int[] arr={1,2,3};
int[] arr2=int[3]
for(int a=0;a<arr.lengh,a++)
{arr2[a]=arr[a]}}
方法2操作的还是同一数组
public static void func(){
// newArr和arr引用的是同一个数组
// 因此newArr修改空间中内容之后,arr也可以看到修改的结果
int[] arr = {1,2,3,4,5,6};
int[] newArr = arr;方法3.特殊方法的使用
(1).使用Arrays.copyOf(origon,lengh/[范围])public static void sam{
int[] arr={1,2,3};
int[] arr2=Arrays.copyOf(arr,arr.lengh/[下角标范围])
int[] arr2=Arrays.copyOf(arr,2,4)(2).使用Arrays.copyOfRange(origon,源要开始复制的元素的下角标,目的,目的开始复制的元素的下角标,传输的长度int )
如下图

8.二维数组:

定义: int[][] arr={{1,2,3,4},{4,5,6,7}};

本质为一维数组,数组名存一维数组首地址,一维数组里面首元素村第一列数据的首地址,第n个元素存第n列数据的首元素。

附加:

前提导入包情况下用下述方法

Arrays.sort=自定义排序(默认升序排列)

Arrarys.tostring数组转字符串

Arrarys.equals判断相等否

Arrarys.fill(name,value)填充value

tostring方法隶属于数组对象中可以将数组转化成字符串便于打印。

常见报错分析:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com