黑马程序员--java基础-方法重载与数组
来源:互联网 发布:手机html编程工具 编辑:程序博客网 时间:2024/06/04 19:50
——- android培训、java培训、期待与您交流! ———-
为了解决,一次性能存入大量相同类型这种情况,Java给我们提供了一项新的技术叫做“数组”数组:数的组合。可以看作存储大量数据的容器。数组的定义: 数据类型[] 数组名; //这就定义了一个数组 //数据类型 数组名[]; //不要用这种方法时去写。 数组名 = new 数据类型[数组的大小]; //数组的初始化。
class ArrayDemo { public static void main(String[] args) { /* int a1 = 100; int a2 = 100; int a3 = 100; int a4 = 100; …… int a85 = 100; */ //定义以一个int类型的数组 //int scores[]; //不允许这么写 int[] scores; //这个东西只是告诉计算机,我需要一个int类型的数组叫做scores scores = new int[5]; //告诉计算机,这个scores数组的大小为5 //拿到数组的大小。数组名.length 他是int类型的数据 int a = scores.length; System.out.println(a); }}
数组的使用:其实就是对数组中的变量的使用。 存入: 取出: 修改:
class ArrayDemo1 { public static void main(String[] args) { //定义一个数组 int[] scores; //定义一个int类型的数组,名字叫scores scores = new int[5]; //这个数组的大小为5 //数组的使用 /* 变量的使用:int a; 存入(赋值):a = 12; 取出(直接拿着变量当作值来使用) int b = a; System.out.println(a); 修改(就是直接赋值,这样就把值覆盖了):a = 15; 难点: 要把“scores[0]”整体看作是一个变量的名字,就相当于a */ //存入(赋值) scores[0] = 12; //取出(直接拿着变量当作值来使用) int b = scores[0]; System.out.println(scores[0]); System.out.println("b="+b); //修改(就是直接赋值,这样就把值覆盖了): scores[0] = 15; System.out.println(scores[0]); }}
class ArrayDemo2 { public static void main(String[] args) { int[] arrs; //定义一个int类型的数组,名字叫做arrs arrs = new int[5]; //告诉计算机,我们数组的大小为5 arrs[0] = 15; System.out.println(arrs); /* [I@4e4d1abd [: 代表数组 I: 代表int类型 @:在……地方 4e4d1abd:内存地址。 出现这句话,意味着 数组是“引用数据类型” */ }}
数组定义的格式: 1.数组的动态初始化 数据类型[] 数组名; //数组的声明 数组名 = new 数据类型[大小]; //数组的初始化 简化版本: 数据类型[] 数组名 = new 数据类型[大小]; 2.数组的静态初始化 数据类型[] 数组名; 数组名 = new 数据类型[]{1,5,3,8}; 简化版本: 数据类型[] 数组名 = new 数据类型[]{1,5,3,8}; 终极简化版本: 数据类型[] 数组名 = {1,5,3,8}; 数组定义常见问题: 1.不能同时使用静态初始化和动态初始化。 2.数组中存储的数据必须和数组的类型保持一致。
class ArrayDemo6 { public static void main(String[] args) { int[] arr = new int[5]; /* int a = 5; */ /* 数据类型[] 数组名; 数组名 = new 数据类型[]{1,5,3,8}; 简化版本: 数据类型[] 数组名 = new 数据类型[]{1,5,3,8}; 终极简化版本: 数据类型[] 数组名 = {1,5,3,8}; int[] brr; brr = new int[]{7,8,9}; int[] brr = new int[]{7,8,9}; */ int[] brr = {7,8,9}; System.out.println(brr.length); int[] arr2 = new int[]{1,5,8}; }}
数组的常见问题: 1.ArrayIndexOutOfBoundsException:数组索引越界异常 指的是,我们使用的数组的索引,超出了数组索引的范围。 2.可能尚未初始化变量 数组在使用之前必须初始化。 3.NullPointerException:空指针异常。 数组已经变成空的了,但是我们还要想人家要东西,所以就产生了空指针异常。
class ArrayDemo8 { public static void main(String[] args) { //int[] arr = new int[3]; //int[] arr; int[] arr = new int[3]; arr = null; System.out.println(arr[0]); }}
遍历:就是循环一遍,一个一个的拿出来。数组的遍历:把数组中的元素一个一个的拿出来。
class ArrayDemo9 { public static void main(String[] args) { int[] arr = {11,15,19,21,85,33}; /* arr[0] arr[1] arr[2] …… arr[arr.length-1] System.out.println(arr[0]); */ for (int a = 0; a< arr.length ;a++) { System.out.println(arr[a]); } //求数组中的最大值 int max = arr[0]; /* max = max > arr[0] ? max : arr[0]; max = max > arr[1] ? max : arr[1]; …… max = max > arr[arr.length-1] ? max : arr[arr.length-1]; */ for (int a = 0; a < arr.length ; a++) { max = max > arr[a] ? max : arr[a]; } System.out.println("数组的最大值为:"+max); }}
基本数据类型:在值的传递时,传递的“值”引用数据类型:在值的传递时,传递的是“内存地址”
class ArrayTest1 { public static void main(String[] args) { /* int a=5; int b=a; b=10; System.out.println(a); */ int[] arr = {1,2,3}; int[] brr = arr; brr[2] = 5; System.out.println(arr[2]); }}
二维数组:存储数组的数组。 一维数组的格式; 数据类型[] 数组名 = new 数据类型[大小]; int[] arr = new int[5];定义方法: 数据类型[][] 数组名 = new 数据类型[m][n]; m指的是这里边存储了m个数组。 n指的是二维数组中存储的数组的大小。 int[][] arrs = new int[2][3]; 2指的是arrs里边存储了2个数组。 3指的是arrs中存储的这两个数组,每个数组的大小都为3 二维数组定义方式2: 数据类型[][] 数组名 = new 数据类型[m][]; m指的是这里边存储了m个数组。 二维数组定义方式3: 数据类型[] 数组名 = {1,5,3,8,9}; int[] arr = {1,5,3,8,9}; int[][] arrs = {{1,2,3},{4,5},{3}};
class ArrayArrayDemo { public static void main(String[] args) { /* int[][] arrs = new int[2][3]; System.out.println(arrs[0]); System.out.println(arrs[1]); System.out.println(arrs[0][0]); //二维数组定义方式2 int[][] arrs = new int[2][]; //System.out.println(arrs[0]); //System.out.println(arrs[1]); //System.out.println(arrs[0][0]); arrs[0] = new int[3]; System.out.println(arrs[0]); System.out.println(arrs[0][0]); System.out.println(arrs[1]); //给arrs[1]赋值 arrs[1] = new int[1]; System.out.println(arrs[1][1]); */ // int[][] arrs = {{1,2,3},{4,5},{3}}; System.out.println(arrs[1][2]); }}
二维数组遍历
class ArrayArrayTest { public static void main(String[] args) { int[][] arrs = {{1,2,3},{4,5},{3}}; //二维数组遍历 //外层循环,遍历二维数组中的数组 for (int a = 0; a < arrs.length ;a++) { System.out.println(arrs[a]); //现在发现arrs[a]全都是数组 //内层循环遍历,二维数组中数组的元素 for (int b = 0; b< arrs[a].length ; b++) { System.out.println(arrs[a][b]); } } }}
某公司按照季度和月份统计的数据如下:单位(万元)第一季度:22,66,44第二季度:77,33,88第三季度:25,45,65第四季度:11,66,99
class ArrayArrayTest1 { public static void main(String[] args) { //第一季度:22,66,44 int[] arr1 = {22,66,44}; //第二季度:77,33,88 int[] arr2 = {77,33,88}; //第三季度:25,45,65 int[] arr3 = {25,45,65}; //第四季度:11,66,99 int[] arr4 = {11,66,99}; //定义二维数组 int[][] arrs = {arr1,arr2,arr3,arr4}; //int[][] arrs = new int[4][]; //arrs[0] = arr1; //求整个公司的盈利,就是求这个二维数组的和。 int sum = 0; //先拿出二维数组中的数组 for (int a = 0;a<arrs.length;a++) { //arrs[a],就是每个数组 //对这个数组进行遍历 for (int b = 0;b<arrs[a].length;b++) { sum = sum + arrs[a][b]; } } System.out.println(sum); }}
方法重载(overload):要求: 1.方法名完全相同 2.参数列表不同 3.和返回值、访问修饰符、方法体都没有关系。参数列表不同的表现: 1.参数个数不同 2.相应位置上参数类型不同。 3.和参数名称没有任何关系。数组定义与初始化:数组的声明: 数据类型[] 数组名; 数组的初始化: 数组名 = new 数据类型[大小];数组定义方式: 数组的动态初始化。 数据类型[] 数组名 = new 数据类型[大小]; 数组的静态初始化: 数据类型[] 数组名 = new 数据类型[]{值1,值2……}; 数据类型[] 数组名 = {值1,值2……};数组赋值与使用:索引:数组中每一个小块的编号。索引有时候也叫做角标、下标。Index 数组最大的索引:数组的长度-1; //数组的长度:数组名.length 数组最小的索引:0找到数组中的元素:数组名[索引]; 如果找到元素,则就可以把这个元素当作一个变量来处理。Java的默认值:整数类型默认值:0浮点型默认值:0.0char型默认值:ASCII编码为0的字符。‘\u0000’boolean型默认值:false引用数据类型:null String和数组都是引用数据类型。参数传递(不同类型的赋值)基本数据类型:传递和赋值都传递的是值。引用数据类型:传递和赋值的都是内存地址。String除外。二维数组(了解):定义格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m表示这个二维数组中存储了m个一维数组。 n表示这二维数组中存储的一维数组的大小都为n定义格式2: 数据类型[][] 数组名 = new 数据类型[m][]; m表示这个二维数组中存储了m个一维数组。定义格式3: 数据类型[][] 数组名 = {数组1,数组2……}二维数组的遍历: 使用循环嵌套遍历。 外层循环遍历二维数组中的每个数组。 内层循环遍历数组中的每个元素。
——- android培训、java培训、期待与您交流! ———-
1 0
- 黑马程序员--java基础-方法重载与数组
- 黑马程序员-----java基础五(方法的重载与重写)
- 黑马程序员—java基础—java基础语法:数组,二维数组,方法重载
- 黑马程序员——Java基础---方法与数组操作
- 黑马程序员:Java自定义标记与Java方法重载(overload)
- 黑马程序员————java基础--------方法与一维数组
- 黑马程序员-->Java基础-->数组
- 黑马程序员---java基础----数组
- 黑马程序员-Java基础-数组
- 黑马程序员-----Java基础-----数组!
- 黑马程序员---java基础--数组
- 黑马程序员---Java基础---数组
- 黑马程序员------Java基础学习------方法和数组
- 黑马程序员 JavaSE-04 Java基础语法3:方法、数组
- 【黑马程序员】方法与数组
- 黑马程序员 java基础 函数 数组 查找与排序总结
- 黑马程序员----Java基础之函数与数组
- 黑马程序员——java基础:函数与数组
- android 开发中常见问题
- [LeetCode] Largest Rectangle in Histogram 解题思路
- 关于QT中对窗口中某个widget建类
- 将kafka工程转成maven项目
- 自定义HorizontalScrollView之侧滑
- 黑马程序员--java基础-方法重载与数组
- 补码转原码(算术左移一位负变正)
- 4-4 Cube Painting
- hdu_2159_fate
- Android实现自动登录和记住密码
- sdut_oj_3068 为了相同的前缀-方程式计算
- java数据类型图
- JSON版无限折叠菜单
- SUID SGID STICKY理解