continue语句:
跳出一次循环,进入下一次的执行
return语句:
作用不是结束循环的,而是结束方法的
java方法
方法就是完成特定功能的代码块
java中函数被称为方法
方法格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...){
方法体语句;
return 返回值
}
修饰符:目前就用 public static
返回值类型:就是功能结果的数据类型
方法名:符合命名规则即可
参数:
实际参数:就是实际参与运算的
形式参数:就是方法定义的,用于接收实际参数的
参数类型:就是参数的数据类型
参数名:就是变量名
方法体语句:就是完成功能的代码
return:结束方法的
返回值:就是功能的结果,由return带给调用者
写方法要明确:
1:返回值类型
结果的数据类型
2:参数列表
传递几个参数,以及每个参数的数据类型
方法不调用不执行
方法与方法平级关系,不能嵌套定义
方法定义时参数之间用逗号隔开
方法调用时不用再传递数据类型
如果方法有明确的返回值,一定要return返回一个值
有明确返回值的调用
1:单独调用,一般没意义
2:输出调用,但是不够好,因为可能对结果进行进一步的操作
3:赋值调用
void类型返回值的方法调用
1:单独调用 方法名(参数,参数...)
2:输出调用 此处不允许使用‘’空‘’类型(错误的)
3:赋值调用(错误的)
方法重载:在同一个类中,方法名相同,参数列表(个数或者类型)不同,与返回值类型无关
方法的功能相同,参数列表不同的情况,为了见名知意,java允许它们起一样的名字
数组:
数组存储同一种数据类型多个元素的集合,也可以看成说一个容器
数组既可以存储基本数据类型,也可以存储引用数据类型
数组的定义格式
格式1:数组类型[] 数组名
格式2:数组类型 数组名[]
int[] a定义一个int类型的数组a变量 推荐使用这一种
int a[]定义一个int类型的a数组变量
java数组初始化:
就是为数组中数组元素分配内存空间,并为每个数组元素赋值
数组的初始化方式:
动态初始化:初始化只指定数组长度,由系统为数组分配初始值
格式:
数组类型[] 数组名 = new 数组类型[数组长度]
int[] arry = new int[n];
索引从0开始:arry[]
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
int[] arr1 = new int[]{1,2,3};
int[] arr2 = {1,2,3};
java中的内存分配
为了提高运算效率,就对空间进行了不同区域的划分,每一片区域都有特定的处理数据方式和内存管理方式
栈存储局部变量
堆存储new出来的东西
方法区(面向对象讲解)
本地方法区
寄存器(给CPU使用)
局部变量:
在方法定义中或者方法声明上的变量都称为局部变量
int[] arry = new int[3]
栈 堆
堆内存的特点:
1:每一个new出来的东西都有地址值
2:每个变量都有默认值
byte short int long 0
float double 0.0
char \u0000
boolean false
引用类型 null
3;使用完毕就变成了垃圾,但是并没有立即回收,会在垃圾回收器空闲的时候回收
栈内存的特点:
栈内存的数据使用完就释放掉
数组遍历:
就是依次输出数组中的每一个元素
数组提供了属性length,用于获取数组的长度
数组名.length 获取数组长度
遍历数组的方法:
明确:
返回值类型:void
参数列表:int[] arry
public static void printArry(int[] arry){
}
二维数组:
二维数组就是一个元素为一维数组的数组。
格式1:
数据类型[][] 数组名 = new 数据类型[m][n]
m表示这个二维数组有多少个一维数组
n表示每一个一维数组的元素
数据类型 数组名[][] = new 数据类型[m][n]
int[] x,y[] x是一维数组,也是二维数组
格式2:
数据类型[][] 数组名 = new 数据类型[m][]
这次没有直接给出一维数组的元素个数,可以动态给出。
int[][] arry = new int[m][];
arry[0] = new int[3];
arry[1] = new int[2];
arry[2] = new int[1];
格式3:
数据类型[][] 数组名 = new 数据类型[][]{{}, {}, ...}
int[][] arry = new int[][]{{}};
数据类型[][] 数据名 = {{},{},...}
二维数据遍历:
for(int x=0;x<=arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arry[x][y]+" ");
}
System.out.println();
}
二维数组求和: