方法
概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体
方法的重载和重写
重载:在同一个类中,可以存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
重写:继承类中,方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同,里面的执行语句进行修改
方法参数传递
值传递:方法传递的是值
a) 形式参数类型是基本数据类型
b) 基本类型数据传递的是值
值引用:方法传递的是值得引用
a) 形式参数类型是引用数据类型
b) 引用传递其实传的是地址,形式参数类型是引用数据类型或数组。
c) 实际参数(数据)是对象(或数组),这时实际参数与形式参数指向同一个地址
d) 在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被 保留了下来,所以方法执行中形式参数的改变将会影响实际参数
Java 中方法的参数传递,是值传递 还是 引用传递?
1.可以都看成是值传递
2.基本类型就是变量的中值本身
3.引用类型的变量在传递的时候,其实也是变量中值[ 这里的值看成存储对象的引用地址]
数组
概念:数组可以理解成在计算机中的多个连续的存储空间,里面可以按顺序存放多个类型相同的数据。
基本语法:
动态创建之声明的同时赋值
数据类型 [] 数组变量名 = new 数据类型[数组长度];
int[] arr = new int[10];
创建数组的其他方法
//动态创建之先声明后赋值
int [] aa;
//数组变量名 = new 数据类型[数组长度];
aa=new int[10];
//动态创建之声明的同时赋值
int [] a=new int[10];
//静态创建之复杂写法
//声明的同时赋值
int[] arr = new int[]{1,2,3,4,5,6,7};
//b.先声明后赋值
int[] ar;
ar= new int[]{1,2,3,4,5,6,7};
//静态创建简写方式 也是最常用的
int[] arre = {1,22,3,4,5};
冒泡排序
for(int j = 0;j < arr.length-1;j++){//控制轮数
for(int i = 0;i < arr.length-1-j;i++){//012控制每轮比较的次数
if(arr[i]>arr[i+1]){
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
Arrays工具类&API文档的使用
概念 工具类:Java开发者把经常使用的功能帮我们写好成一个类,这类里面已经实现了提供很多工具方法,供我们使用;
API : java已经写好的类的一个说明文档
通过api使用Arrays这个类
/*
1.用的Arrays类:并没有在当前文件夹中,类与类之间不能相互访问
2.写该类的完全限定名:路劲 java.util.Arrays
*/
int[] arr = {42,34,23,4,5,34,23,4,6,7,567,8,67867,8,88,8};
//排序
java.util.Arrays.sort(arr);
//遍历输出
String result = java.util.Arrays.toString(arr);
System.out.println(result);
/*
static int[] copyOf(int[] original, int newLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
*/
int[] newArr = java.util.Arrays.copyOf(arr,100);
System.out.println( java.util.Arrays.toString(newArr) );
/*
static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组的每个元素。
*/
java.util.Arrays.fill(newArr,6);
System.out.println( java.util.Arrays.toString(newArr) );
}
java.util.Arrays.fill(newArr,6);
System.out.println( java.util.Arrays.toString(newArr) );
}