Java入门笔记第三课(方法&数组)

来源:互联网 发布:乐知在线英语免费 编辑:程序博客网 时间:2024/05/29 09:25
一. 数组

1.
数组定义: 用来一次性保存多个相同类型元素的这样一种数据结构.

2.维度上分:
一维数组&多维数组.

3.声明:

类型 [] 数组变量名称
int [] arr;
或者
int arr[];
俩种形式都可以,而且没有任何的区别,不过建议我们采取第一种方式.

4.初始化:

动态初始化:
我们在定义一个数组和对数组进行赋值的操作,我们分开来执行。

静态初始化:
我们在定义一个数组的同时,进行数组的初始化

//动态初始化
int [] arr = new int[3];

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

//静态初始化
int []arr1 = new int[]{1,2,3};

int []arr2 = {1,2,3,4};

例:

public class ArrayDemo1{

public static void main(String[] args){
//静态初始化
int [] arr = {1,2,3,4,5,6,7,8,9,10};


int sum = 0;
int sumAll = 0;
double average = 0.0;

//8是最后一次循环可执行的条件,9是不可以进入循环
for(int i=0;i<arr.length-1;i++){
   sumAll += arr[i];
sum+=(arr[i]-arr[i+1]);
}

sumAll += arr[arr.length-1];
average = 1.0*sumAll/arr.length;

System.out.println(average);
System.out.println(sum);
System.out.println(sumAll);
}

}


new:用来初始化一个对象。



数组里面注意事项:
a. 数组长度一旦指定,是永远不可以改变的。
b. 数组保存的元素类型一旦指定,也是不可以改变,并且只能保存该类型的元素


5.
length:
int a[] = new in[3];
int size = a.length;


6.数组元素的访问
arr[index]: index表示数组元素的索引,注意索引是从0到length-1.
arr[1]:访问第二个元素

index: 可以是常量,也可以是表达式。



二维数组:


声明:
类型 [][] 数组名称;
int [][] arr;

初始化:
a.动态初始化
int [][]arr = new int[3][];
b.静态初始化
int [][]arr = {{1,2,3},{2,3,4,5}};


例:二维数组的遍历输出


public class ArrayDemo5{
public static void main(String[] args){

int[][] arr= new int[][]{{1,2,3},{3,4,5},{5,6,2}};

int[][][] arr1= new int[][][]{{1,2,3},{3,4,5},{5,6,2}};

for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.println(arr[i][j]);
}
}

//int []arr1 = new int[]{3,2,7};
//Arrays.sort(arr1);
//System.out.println(Arrays.toString(arr1));

}
}
length:这个属性拿到二维数组的长度。





二. 方法


定义: 实现一个功能的代码片段的封装。


[修饰符...] 返回值类型 方法名称(形参的列表){
//方法中实现的逻辑
}


形参列表: 方法接收外部传入的数据的接收媒介.
返回值: 方法执行结束之后,返回的值的类型。


例:方法返回值的注意事项

public class MethodDemo1{

public static void main(String[] args){


}

public static void testVoid(){

while(true){
break;
}

int i = 0;
int b = 3;


}


public static int testReturn(){

int i = 0;
int j = 2;
if(i==0){
if(j>1){
return 1;
}
}else{
return 2;
}

return 4;
}
}
如果方法不需要返回任何的值,那么我们的方法返回类型写作void.
在方法里返回一个值,需要用到 return. 


形参列表:
当我们定义了一个方法之后,去调用方法的时候,一定要注意我们传递给方法的入参的类型和数量,一定要一一对应。


唯一确定一个方法:
关注点:
a.方法名是否一致
b.形参列表的所有参数类型和数量是否一致。 对于形参变量的命名,完全是没有关系的.
c.返回值的类型
  可以是基本类型,也可以是引用类型。
  
注意:

a.一旦明确指定了方法的返回类型(非void),那么一定要保证最终方法可以成功的返回我们对应的返回类型的数据.
b.关于void返回类型
如果我们不主动的添加return语句,在执行的时候,也会帮我们自动添加return.我们在实现void类型的方法的时候,主动添加一个
return也是没有问题。 

例:
public class MethodDemo{

public static void main(String[] args){
//用一个变量来保存方法的返回值,如果不保存方法的返回值,则方法的返回值会放到一个临时的空间,并且方法执行结束之后,内存空间就释放。
String myHero = choiceHero(1);
System.out.println("选择的英雄是:"+ myHero);

int power = hitPower(1);
int hp = getMonsterHP();

int hitTimes=0;
while(hp>0){
hitTimes++;
hp-=power;
}

System.out.println("攻击了"+hitTimes+"次,将怪物击倒");
}

public static String choiceHero(int a){
String hero;
switch(a){
case 1:
hero = "batMan";
break;
case 2:
hero = "spiderMan";
break;
case 3:
hero = "IronMan";
break;
default:
hero = "lotus sister";
}
return hero;
}

public static int hitPower(int a){
if(a==1||a==2||a==3){
return 3;
}
return 10;
}

public static int getMonsterHP(){
return 100;
}


}

方法参数的传递:
方法参数的传递来说,基本类型传递的是值。对于引用类型,传递的是引用.(传递的是地址)

原创粉丝点击