の方法をオーバーロード
コンセプト:同じ名前の複数のメソッド、現象の方法の異なるパラメータリストを持つクラスでメソッドのオーバーロードと呼ばれています
特徴:
同じクラスの1、
2、同じメソッド名
3、異なるパラメータリスト
異なるパラメータのリスト:
図1に示すように、異なるパラメータの数
パラメータの同じ数の異なる種類の2、パラメータ[前提]
図3に示すように、パラメータの異なる順番[パラメータの同じ数、パラメータタイプが同じタイプを持っていません]
:特徴はその方法、型を返す、と修飾子の方法は問題ではありません
第二に、配列
概要:
1、彼はのデータ型への参照です
図2に示すように、アレイは、同じデータ型の複数の容器を格納するために使用されます
3、配列不変の長さは、一度作成。
] [初期化二種類の配列を初期化
初期化:
1、静的な初期化:私たちは、配列にデータを配置する際に出て、配列を作成します。
標準形式:データ型[] =新しいアレイ名データ型[] {値1、値2}···
簡略形式:データ型[]配列名= {値1、値2 ...}]コモン
2、動的初期化:、配列に値を入れたくなかった所定の長さの値を時間の配列を作成します。
フォーマット:データ型[] =新しいアレイ名データ型[配列の長さ]。
説明:
データタイプ:基本データ型は、参照データタイプすることができ
[]:これは、標準的な記号列です。
新しい:キーワードヒープスペースは、新しい宇宙アウトを開きます
サンプルコード
com.ujiuye.demoパッケージ; パブリック クラスDemo02 { 公共 静的 ボイドメイン(文字列[]引数){ // 静的初期 INT [] = ARR 新しい新規 のint [] { 1、2、3、4、5 }; // 。5配列の長さは システム。OUT .println(ARR); // [15db9742 @ Iの INT [] = {ARR1の6、7、8 }; // 長さ3の配列 システム。OUTの(ARR1の).println; //【6d06d69c I @ // 初期化動的 文字列[] = ARR2は、新しい新しい文字列[ 4 ]; // 4の長さの文字列配列のサイズ ザシステム。OUTの .println(ARR2である); // [Ljava.lang.String; @ 7852e922 } }
15db9742 @ [I:アレイのアドレス[アドレスがヒープ値にオープンスペースのアレイが存在します]
【: 表現は一次元アレイであります
I:データストアアレイのデータ型を示します
@:それはコネクタであり、
15db9742: [スペースシステムは16進数を生成するためのオープンスペース】ハッシュ値
メモリの理解の配列
どのようにデータを格納する配列ですか?
位置に、アレイ内の空間少し小さなスペース[]、データを記憶する各位置、
どのくらいのアレイ位置の数はなります。
メモリマップの配列:
図2つのメモリアレイ。
メモリマップのアレイに2つの基準点:
引用:配列変数は、値の配列のアドレスであります
の配列を使用して
概要:アレイ動作を使用すると、値の配列のアドレスです。
使用步骤:
1、使用数组变量名【数组的地址值】找到堆空间中对应的数组空间
2、通过数组空间的位置的编号来找到对应的位置
3、就可以操作该位置的数据
数组空间的位置编号官方起名叫做索引【下标、角标】,是从0开始的。
索引的最大值比数组的长度值小1
取出数据:
格式:数组名[索引值] 比如:arr[3]
存放数据:
格式:数组名称[索引值] = 值; 比如:arr[3] = 5;
代码示例
package com.ujiuye.demo; public class Demo03 { public static void main(String[] args) { String[] arr = {"金莲","百合","蓉蓉","小鹿","冬施"}; //取值 蓉蓉 索引值 0 1 2 3 4 System.out.println(arr[2]);//蓉蓉 //赋值 把冬施这个位置放上蔡徐坤 System.out.println(arr[4]);//冬施 arr[4] = "蔡徐坤" ; System.out.println(arr[4]);//蔡徐坤 } }
数组的操作说白了就是使用数组的索引值进行操作。操作的索引值必须要在数组索引范围内;
操作数组首先要找到对应的数组的地址值,要求数组操作的时候必须要有具体的地址值
数组的异常:
角标【索引】越界异常:【ArrayIndexOutOfBoundsException】
原因:操作数组是使用的索引值不在该数组的索引值范围内造成的
该异常编译不会报错,只有在代码运行的时候才会报错【运行异常】
空指针异常:【NullPointerException】
原因:操作的数组变量中存放的是null值,没有具体的地址引用,找不到要操作的数组
前提:操作地址值为null的数组变量去存取值才会发生
数组遍历
概述:一次性的从数组中获取多个数据。数组的数据获取通过索引值获取,一个一个的去获取。
获取多个数据是一个重复动作。使用循环来控制索引值的变化,通过索引值依次获取对应的数据这样的操作叫做遍历。
遍历的过程中利用索引的最大值比长度值小1 规律作为遍历的条件
数组的长度获取:数组名称.length;使用for循环进行取值就是数组的遍历
代码示例:
package com.ujiuye.demo; public class Demo04 { public static void main(String[] args) { //创建一个字符串数组 String[] arr = {"宝宝","乃亮","大朗","羽凡"}; //遍历 初始化变量 表示索引 for (int i = 0; i < arr.length; i++) { //开始取值 System.out.println(arr[i]); } } }
练习
1、获取一个int类型数组中数据的最大值
分析:求取多个int数据的最大值; 采用打擂台的思想来求取最大值
1、从这些数据中随便抽取一个作为第一个擂主
2、要让其他的所有元素一次的和擂主打擂
打输了不管下一个挑战
打赢了变成新的擂主,同下一个元素继续挑战
一直到所有的元素挑战完毕,最终的擂主就是最大值
代码示例
package com.ujiuye.demo; public class Test01 { public static void main(String[] args) { int[] arr = {123,34,67,23,234,573,2238}; //假设一个擂主 arr[0] int max = arr[0]; //进行打擂 获取其他的每一个元素 //遍历获取每一个元素 for (int i = 1; i < arr.length; i++) { //打擂 arr[i]是挑战者 max 就是擂主 if (max < arr[i]) { //条件成立擂主失败 换擂主 max = arr[i]; } } //循环完成之后就是打擂结束了 max里面就是最后的擂主也就最大值 System.out.println("数组arr中的最大值是:"+max); } }
2、将数组的元素进行首尾反转
分析:
代码示例:
3、数组元素索引的查找
1、给定一个数组,找到指定值的索引
2、思路:使用要查找的值取和数组的元素取对比,相同了找到了,把对应的元素的索引值返回。
代码示例