容器和数组只要带NEW的,就是需要进入堆中的,会附上初始值:int就是0,double就是0.0,String就是null!
程序结束之后弹栈,执行的程序就被销毁了(先进入的后出,后进入的先出)!
//求数组中的最大值:
int[] arr={1,2,3,4,5,6,7,8,9,0};
//默认最大值是第一个数,遍历数组时如果以后的数大于第一个数,则给max最大值赋值!
int max=arr[0];
for(int i=1;i<arr.length;++i){
if(arr[i]>max){
max=arr[i];
}
}
System.out.println("最大值为:"+max);
//正序遍历+逆序遍历!
二维数组:
//二维数组的定义1:
int[][] arr1=new int[3][4];
//二维数组的定义2:
int[][] arr2=new int[3][];
arr2[0]= new int[] {1,2,3,4,5,6};
arr2[1]= new int[] {0,9,8,7,6,5,4};
arr2[2]= new int[] {7,6,5,4,3,2,8,9,6,4};
//二维数组的定义3:
int[][] arr3={
{123},{456},{789},{0}};
要统计一个公司三个销售小组中每个小组的总销售额以及整个公司的销售额!如下所示:
l 第一小组销售额为{11, 12}万元!
l 第二小组销售额为{21, 22, 23}万元!
l 第三小组销售额为{31, 32, 33, 34}万元!
int[][] arr1={
{11,12},{21,22,23},{31,32,33,34}};//声明一个求总和的变量:
int max=0;
//声明一个求小组和的变量:
int smallmax=0;
for(int i=0;i<arr1.length;++i){
for(int j=0;j<arr1[i].length;++j){
max+=arr1[i][j];
smallmax+=arr1[i][j];
if(j==(arr1[i].length-1)){
System.out.println("小组销售额:"+smallmax);
smallmax=0;
}
}
}
System.out.println("公司总销售额:"+max);
//一维数组和二维数组的内存作用图:
方法:
解决某件事情的办法,我们就称为方法!
//有封装的作用,把一串代码封装起来!
方法实现的过程中,会包含很多条语句用于完成某些有意义的功能(通常是处理文本,控制输入或计算数值)!
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
执行语句
………
return 返回值;
}
l 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等(public/protected/默认/private)!
l 返回值类型:用于限定方法返回值的数据类型(基本数据类型/引用类型)!void没有返回值!
l 参数类型:用于限定调用方法时传入参数的数据类型!
l 参数名:是一个变量,用于接收调用方法时传入的数据!
l return关键字:用于结束方法以及返回方法指定类型的值!
l 返回值:被return语句返回的值,该值会返回给调用者!
方法的重载:
Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载!
//方法的重载与返回值类型无关,它只有两个条件,一是方法名相同,二是参数个数或参数类型(顺序)不相同!
System.out.println();可以输入字符串/整型/浮点型,实际上就是方法的重载!
l 重载方法参数必须不同:
参数个数不同,如method(int x)与method(int x,int y)不同!
参数类型不同,如method(int x)与method(double x)不同!
参数顺序不同,如method(int x,double y)与method(double x,int y)不同!
l 重载只与方法名与参数类型相关与返回值无关
如void method(int x)与int method(int y)不是方法重载,不能同时存在!
l 重载与具体的变量标识符无关
如method(int x)与method(int y)不是方法重载,不能同时存在!
class Demo04
{
public static void main(String[] args)
{
double allArea=printArea(8);
System.out.println("这个圆的面积为:"+allArea);
}
public static double printArea(int r){
double area=r*r*Math.PI;
return area;
}
}
//求圆的面积!
//研究一下Math和List的细节!