JAVA中的方法 数组基本详记

    科技2026-06-12  3

    一 方法 二 数组

    一 方法:

    将一个独立的代码块{}抽取出来并为当前这个起名字! 作用:提高代码的复用性

    1.方法的概念:

    使用{}将代码包裹起来,并给这个代码起一个名字:方法名---->以后直接使用方法名调用. {}代码块 如何定义方法?

    两种:

    有返回值类型的方法的定义 没有返回值类型的方法定义

    a.第一种:有返回值类型的方法的定义

    固定格式: public static 返回值类型 方法名(形式参数类型1 参数名称1,形式参数类型2 参数名称2...){ 业务需求... return 结果; } 格式的详细介绍: 权限修饰符:public(公共的,访问权限足够大) static(静态) 返回值类型:数据类型(目前基本数据类型:四类八种: ) 举例:求两个数据之后 结果:int类型

    a… 方法名:遵循标识符的规则(见名知意)

    单个单词:全部小写 多个单独:第一个单词小写,从第二个单词开始,每个单词首字母大写,其余小写 小驼峰命名法! 形式参数类型:数据类型(目前基本数据类型:四类八种: ) 参数名称:变量名称 return: 这个方法调用完毕了,带回具体的结果! 有返回值类型的方法调用: 1)单独调用(没有意义) 2)输出调用:不推荐 3)赋值调用:推荐

    a…定义有具体返回值类型的方法的定义的注意事项!

    1)方法和方法平级关系,不能嵌套使用! 特殊:方法递归(IO流后面讲):方法调用方法本身的一种现象! 2)定义方法注意两个明确 明确返回值类型 明确参数类型以及参数个数 3)定义方法的时候: 参数类型必须携带的! public static int add(x,y){} 错误的: 因为Java是一种强类型语言:语法非常严谨的,以及格式是有要求的! 4)定义方法的时候,()后面不要出现; (目前来说没意义的方法!) 5)调用方法的时候,实际参数不需要携带数据类型

    b.第二种:没有具体返回值类型的方法 定义以及调用?

    方法定义: public static 返回值类型 方法名(形式参数列表(包含数据类型+变量名)...){ 要么 return 结果; 要么没有具体结果; }

    Java的语法:

    方法本身的定义:需要返回值类型,但是如果需求本身就没有具体返回结果,如何定义方法呢? 语法要求:如果没有具体返回值结果,使用void 来代替 返回值类型(位置) 注意:Java中不存在void类型(替代词) 没有具体返回值类型的方法的定义格式: public static void 方法名(形式参数类型1 变量名1,形式参数类型2 变量名2...){ 直接输出语句或者其他业务操作; } 没有具体返回值类型的方法调用 单独调用 赋值调用 输出调用

    b…法的定义要遵循标识符的规则:见名知意!

    目前这个方法的功能都是求和,如果一些方法的功能相同的,那么定义方法的时候:见名知意! 方法名可以不可以相同呢? 可以! 技术:方法重载 (overLoad) 方法名相同,参数列表不同,与返回值无关! 参数列表不同: 1)数据类型一样的,参数个数不同 2)参数个数一样,类型不同! 参数个数不一样,参数类型不同

    二 数组: 引用数据类型

    数组:是可以存储元素的一种容器! 前提:元素的数据类型必须一致的! 如何定义呢? 格式: 数据类型[] 数组名称 ; 数据类型 数组名称[] ; 举例: int[] arr; (习惯于第一种) 定义了一个int类型数组arr变量 int arr[] ;定义了一个int类型的arr数组

    a.数组的初始化:

    1)动态初始化:指定了数组长度,系统默认给定数组的元素值! 2)静态初始化:指定了具体的元素的内容,系统默认指定数组的长度! 1..动态初始化: 数据类型[] 数组名称 = new 数据类型[数组长度] ; 数据类型 数组名称[] = new 数据类型[数组长度] ; 举例: int[] arr = new int[3] ; //创建了一个数组对象,分配3个长度 = 左边 int :表示当前数组是int类型;限定了元素的类型int; System.out.println(arr); DOS命令输出[I@6d06d69c [ : 表示一维数组 I :表示int 类型 @ : 表示地址值标记 6d06d69c 十六进制数据 [] :是一个一维数组 arr:变量名称(数组对象名称) =右边 new :表示在内存中创建一个对象 int :数据类型int类型; [] : 一维数组 3 :在内存中指定3个长度(意味着:有3个元素) int arr[] = new int[2] ;//.创建了一个数组对象,分配2个长度 数组中元素的的访问方式: 数组名称[角标]来访问 角标(下标/索引):都是从0开始记录元素的! 2..静态初始化 :指定数组的元素内容,系统给它默认长度 格式: 标准格式: 数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ; 数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3....} ; 举例: int[] arr = new int[]{11,22,33} ; 简化格式: 数据类型[] 数组名称 ={元素1,元素2,元素3....} ; 数据类型 数组名称[] ={元素1,元素2,元素3....} ; 举例: 定义数组的时候:不能动,静集合(只能其中一种初始化方式!) int[] arr = new int[3]{1,2,3} ; //错误的! 简化格式举例: int[] arr = {1,2,3} ;

    b.异常: 后期Throwable:异常的总称

    程序出问题了! 严重问题: error : 内存异常了 (通过一些第三方工具避免了!) 举例: 一些软件通过一些特殊的操作:造成软件崩溃了! 异常: Exception: 能够通过本身代码来解决问题 编译时期异常:只要不是运行时期的异常都属于编译时期(不解决,编译通过不了) RuntimeExcetion:运行时期异常 在执行过程中,由于代码结构不严谨,导致的问题! 第一个异常:数组角标越界! java.lang.ArrayIndexOutOfBoundsException: 出现的原因:访问不存在的角标!就出异常了 解决方案:改动角标值即可! 第二个异常:空指针异常: java.lang.NullPointerException: 出现的原因: 某个对象都为null,还需要使用对象访问内容或者调用其他功能! 解决方案: 只需要对某个对象做一个非空判断!(逻辑判断)

    c.数组的第二个应用:

    最值问题; 最大值/最小值 int[] arr = {13,87,65,24,57} ; 最值问题 分析:假设思想 1)将数组中第一个元素arr[0]看为最大值 2)从角标1开始遍历其他元素 2.1)分别将当前遍历的元素依次和最大值进行比较 如果当前元素大于最大值 将当前元素内容赋值max变量

    d.数组的应用:

    数组的元素逆序 int[] arr = {13,87,65,24,57} ; 中心思想: 将13 arr[0]--57 arr[arr.length-1]互换 将87 arr[1]---24 arr[arr.length-1-1]互换... 保证 数组的长度/2

    e.数组元素查表法

    数组名称[index:角标]访问元素 假设: 字符串数组: 数据类型[] 数组名称 = new 数据类型[]{元素1,....} ; String[] strs = {"星期一","星期二", "星期三","星期四","星期五","星期六","星期天"} ;

    f.冒泡排序思想

    两两比较,将较大的值往后放;第一次比较完毕,最大值就出现在最大索引处! 依次这样比较: 规律: 第一次:有0个不比 第二次:有1个不比 ... ... 比较的次数:数组长度-1次

    三. 二维数组(了解):

    二位数组就是一个包含多个一维数组的数组! 举例: Java基础班(将一个班级看一个数组) JavaEE2008 JavaEE2007 JavaEE2006 二维数数组的定义格式: 数据类型[] 数组名称[] ; 数据类型[][] 数组名称 ; (推荐) 二维数组的初始化: 动态初始化: 指定数组长度,系统给数组中元素分配默认值 a.动态初始化格式1 数据类型[][] 数组名称 = new 数据类型[m][n] ; m:表示当前二维数组中的一维数组的个数 n:表示每一个一维数组的长度 int[][] arr = new int[3][2] ; int[] arr[] = new int[3][2] ; b.维数组格式2: 数据类型[][] 数组名称 = new 数据类型[m][] ; 数据类型[] 数组名称[] = new 数据类型[m][] ; 举例 int[] arr[] = new int[2][] ; //上面:当前二维arr中有2个一维数组,但是不知道2个一维数组的长度 //所以,需要动态给定一维数组的长度 注意: int x,y[] ; //x是普通遍历,y是一维数组 int x[][],y[] ;//x是二维数组,y是一个维数组! c.二维数组格式3 标准格式: 数据类型[][] 数组名称 = new 数据类型[][]{{元素1,元素2,...},{元素1,元素2...},{元素1,元素2...}}; 简化格式: 数据类型[][] 数组名称 = {{元素1,元素2,...},{元素1,元素2...},{元素1,元素2...}} //错误的书写格式: //要么动态初始化/要么静态初始化 int[][] arr = new int[3][2]{{1,2,3},{4,5,6}} 二维数组的应用: 如何遍历呢? 二维数组是由多个一维数组组成 需要将每一个一维数组的元素获取到,一一输出 输出格式优雅: {{1,2,3},{4,5,6},{7,8,9}}

    二维数组的应用:杨辉三角形

    输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 分析: 1)行数和列数:都是6 ----->数据可以采用键盘录入! 二维数组的定义格式: 格式1:int[][] arr = new int[num][num] ; 2)任何一行的第一列和最后一列都是1 3)从第三行开始,中间的数据的值等于上一行的前一列+上一行的本列之和 键盘录入一个数据:使用二维数组初始化 外层循环:行数 内层循环:列数 int[][] arr = new int[n][n] ; 给二维数组中的数据赋值(给任何的一列和最后一列赋值) .将定义二维数组遍历 for(int x =0 ; x < arr.length ; x ++){ 任何一行的第一列和最后一列都是1 } 再次遍历二维数组 从第三行开始,中间的数据的值等于上一行的前一列+上一行的本列之和要符合99乘法表的格式

    Processed: 0.046, SQL: 10