java:二维数组,方法

二维数组:

在这里插入图片描述
在这里插入图片描述
二维数组的注意点:

  1. 初始化的方式是一样的,只是多加了一个[]
  2. 它的 内存存方式跟一维数组符方式是 一样
    3 . 如果使用嵌套for循环遍历二维数组
    长度的方式 外层的是 数组的名称.length(scores.length)
    内层的循环是 数组的名称[i].length(scores[i].length)
    在这里插入图片描述

方法:

方法 : 一组操作的集合
方法的申明: 最基础的申明方式 : public static void 方法的名称(){
方法体:
}
方法名的规范: 遵循驼峰命名规格(也就是首字母小写,第二个单词首字母大写)
方法体: 也就是执行语句: 可以是一条,也可以是多条
方法注意点: 1. 多有的方法都写在class 里
2. 方法没有顺序之说, 可以随意方法, 方法都是平等的
3. 方法不能相互嵌套
4.如果想执行某个方法必须调用其方法
方法调用的语法 : 方法的名称(); growingVegetables();
使用方法的好处: 1. 代码清晰明了 2.代码的可扩展行 可维护性高.
申明方法的格式:
访问修饰符 返回值类型 方法的名称(参数1,参数2,…){

  •             方法体;
    
  •              return  返回值;
    
  •      }
    
  •      //int num1,int num2
    
  •    访问修饰符  public static
    
  •       返回值类型 :     比如 int  String
    
  •       方法的名称 : 驼峰命名
    
  •       参数1 : 数据类型   变量的名称
    
  •       {
    
  •          执行的操作
    
  •       }
    
  •    return :  停止这个方法   返回值:    表示生产的产品.一般是被调用者使用
    

方法的语法规范:
1 . 方法必须写在类里
2. 方法没有顺序之说,可以任意放
3. 想执行方法里的操作必须调用
4.如果这个方法有多个参数 必须使用 逗号来分割
5. 如果这个方法有返回值,必须有retrun 关键字
6. retrun 的值必须跟 方法定义的时候的类型一样

什么时候使用不带返回值:void 修饰的表示其没有返回 可以使用return 不能return具体的类型, 格式是 return;
普通的打印就不会使用带返回值的
带返回值 : 想被调用者 所得到的结果是多少

从 调用方法在内存里的一个 过程 :
1. 首先 是 方法来加载 class 字解码 以及方法的基本信息
2. 开辟main方法的空间
3.其他方法也会在栈里面开辟一个空间, 如果 这个方法存在返回值, 把返回值给main 方法之后销毁(方法的生命周期随着方法的调用 开始 执行到最后一行代码结束)

public class Test3 {
public static void main(String[] args) {
System.out.println(getSum(1.4,23.1,4.1));
sum(4,5,6);
System.out.println(isFlag());
int [] aaa = {1,2,3,11};
int num=1;
System.out.println(flag(aaa,num));
System.out.println(getMax(1,2));
System.out.println(getNum(aaa,0,2,num));
System.out.println(Arrays.toString(bbb(3)));
}
public static double getSum(double a,double b,double c){
return a+b+c;
}
public static void sum(float a,float b,float c){
System.out.println(a+b+c);
}
public static boolean isFlag() {
int arr[] = {1, 2, 3, 11};
for (int i = 0; i < arr.length; i++) {
if (11==arr[i]) {
return true;
}
}
return false;
}
public static boolean flag(int [] aaa ,int num) {
for (int i = 0; i < aaa.length; i++) {
if (aaa[i]==num) {
return true;
}
}
return false;
}
public static int getMax(int num1,int num2){
if(num1>num2){
return num1;
}else{
return num2;
}
}
public static boolean getNum(int aaa [],int start,int end,int num){
for(int i=start;i<end;i++){
if(aaa[i]==num){
return true;
}
}
return false;
}
public static int[] bbb(int length){
Scanner input = new Scanner(System.in);
int [] ccc = new int[length];
for (int i = 0; i <ccc.length ; i++) {
System.out.println(“请输入您要添加的第”+(i+1)+“个数字:”);
// ccc[i]=(int)(Math.random()*100);
ccc[i]=input.nextInt();
}
return ccc;
}
}

方法 重载 : 同样 功能写了 多个方法名的方法 , 增加 了程序员的压力
方法的重载的要求 :
1.必须在同一个类里
2.必须是参数不同 参数的个数不同,或者是参数的类型不同 (不包含 参数的变量名不一样)
3.必须名字一样
4. 与返回值没有关系, 因为调用这不知道其返回值类型
在这里插入图片描述

主要内容: 1. 数组的定义 2. 数组的分类[按维数] 3. 数组的用法 4. 数组的常见操作 java中的foreach实现方式 一维数组 1. 定义:省略 2. 用法: 声明并赋值: //方法一:先声明,再赋值 int [] arr=new int[5]; arr[0]=10; arr[4]=100; arr[5]=10;//语法无误,编译时报错:java.lang.ArrayIndexOutOfBoundsException System.out.println(arr[5]);//语法无误,编译时报错:错误同上 //方法二:使用for循环动态赋值 //导入java.util.*;包 Scanner input=new Scanner(System.in); int [] arr=new int[5]; for(int i=0;i<arr.length;i++) { System.out.println("请输入第"+(i+1)+"个值"); arr[i]=input.nextInt(); } //方法三:声明时赋值 int [] arr=new int[]{23,45,56,67}; int [] arr1={23,45,56,67}; int [] arr2= new int[5]{23,45,56,67};//错误,此时不能给确定的长度 输出: int [] arr=new int[]{23,45,56,67}; //方法一:使用for循环输出 for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } //方法二:使用foreach输出:此为JDK5.0 新特性 for(int item : arr) { System.out.println(item); } 常见算法: 1. 求一维数组中的最大[小]值 2. 求一维数组中的总和,平均值 3. 添加,删除,修改,搜索等 具体请参考本人FTP\\5.0S1\\JAVA\\数组完整操作范例。[重复让人如此崩溃!] 二维数组 1. 定义:省略 2. 用法: 声明并赋值: //声明时赋值 int [][]arr={ {1,2,3}, {4,5,6}, {7,8,9} }; 输出: //方法一:使用嵌套for循环输出二维数组 for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { System.out.print(arr[i][j]+" "); } System.out.println(); } //方法二:使用嵌套foreach输出二维数组 for(int row[] :arr) //此时不难看出,二维数组可以看作是每个元素都是一个一维数组的一维数组 { for(int item: row) { System.out.print(item+ " "); } System.out.println(); } 补充: //动态创建规则二维数组 int R=10;//行 int N=5;//列 int [][]arr=new int ­[N]; //动态创建不规则二维数组 int arr[][]; arr=new int[2][]; arr[0]=new int[10]; arr[1]=new int[5]; 赋值都一样:此处省略! 算法体验:杨辉三角 int i,j; int a[][]=new int[10][10]; //给每行的第一列,及对角线处均赋值为1 for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } //从arr[2][1]=a[1][0]+a[1][1]; //推出:a[i][j]=a[i-1][j-1]+a[i-1][j]; //即元素等于两肩之和 for(i=2;i<10;i++) { for(j=1;j<i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<10;i++) { for(j=0;j<=i;j++) { System.out.print(a[i][j]+" "); } System.out.println(); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值