java中的方法和数组

目录

1.java中的方法

 2.数组

1.一维数组

1.一维数组的声明与创建

2.数组的访问与迭代

3.数组的排序

2.二维数组

1.二维数组的声明和创建

2,二维数组的迭代


1.java中的方法

main方法==c语言main函数  都是用来启动程序的,一个程序就只需要一个main方法
      在c语言中称为函数,在面向对象的语言中称为方法
      方法: 用来解决某一个问题的代码集合,可以被多次调用.
      定义方法的语法:
         [访问权限修饰符 public, 修饰符static] [方法返回值] 方法名([参数列表 参数类型 参数名]){
             方法体
             [return 值]

修饰符这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

形式参数: 在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型 void
/*
       定义一个无参,无返回值的方法
       public static是固定写法
       void表示此方法没有返回值
       hello方法名
       ()参数列表 可以为空
       {
         System.out.println("你好");  方法做的事情
       }
       方法定义好之后,不会自己执行,需要通过方法名进行调用
       问好的方法
     */
    public  static void hello(){
        System.out.println("你好");
    }
  public static void main(String[] args) {
            //"张三" 称为实际的参数-->实参
            Method2.hello("张三",20);
            String n  = "李四";
            Method2.hello(n,30);
    }


    /*
       (String 数据类型  name参数的名字,可以自定义,本质就是一个变量)
     */
    public  static void hello(String name,int age){
        System.out.println("你好"+name+" 年龄:"+age);
    }
/*
        有参数,有返回值的方法
         int -->定义的是方法的返回值类型
         通过return关键字返回方法处理后的结果. 一个是终止方法,一个是返回结果
      */
  public static void main(String[] args){
            int m=max(10,5);
            System.out.println(m);
}
     public static int max(int a,int b){
            int max  = (a>b)?a:b;
            return max;
     }

 2.数组

1.一维数组

1.一维数组的声明与创建

数组是相同数据类型元素的集合。
     数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类
 
   数组的声明的两种方式:
 1. 数据类型 [] 数组名字    例如:int [] a;        
 2.  数据类型 数组的名字 []    例如: int a [];
  数组创建的三种方式:
  1. 声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认
的初始化值
int[] ary0 = new int[10];
  2.声明数组并分配内存,同时将其初始化
int[] ary1 = new int[]{1, 2, 3, 4, 5};
 3. 与前一种方式相同,仅仅只是语法相对简略
int[] ary2 = {1, 2, 3, 4, 5};
从另一个角度,数组创建可以分为动态和静态两种
动态创建数组(没有为元素赋值,可以结合 for 循环进行赋值)
char[] chAry = new char[10];
静态创建数组,在创建的时候,即为每个元素赋初值
int[] ary1 = new int[]{1, 2, 3, 4, 5};

2.数组的访问与迭代

 数组中元素的访问      (1.给每个位置上的元素进行赋值,2.获取某个位置上的值)
             a[0]: [0]数组元素的索引, 数组中有length个空间,每个空间都有一个编号,通过编号,就可以访问对应位置的元素.
                   索引(下标), 每个空间的编号
                   编号始终是从0开始,最大编号是长度-1,是int类型(数组长度是有限的);

    public static void main(String[] args) {

           int[] a = new int[]{1,2,3,4,5}; //[0,0,0,0,0]
                          //   0 1 2 3 4
                a[0] = 10; //对数组中的某个位置进行赋值
           System.out.println( a[0] ); //获取数组中的某个位置的值
           System.out.println( a[1] );
           System.out.println( a[4] );
           //System.out.println( a[6] );//数组索引不能超出正常的一个范围  0---数组长度-1,超出范围就会报错
          /*
          Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
	           at day1.Demo2.main(Demo2.java:20)
           */
           System.out.println("数组的长度"+a.length);
    }
数组迭代的两种方式:
第一种:for循环
     int [] b1 = new int []{1,2,3,4,5,6,7};
        数组的迭代
    for(int i =0;i<b1.length;i++){
             System.out.println(b1[i]);
}
第二种:增强for循环
     int [] b1 = new int []{1,2,3,4,5,6,7};
      for(数组元素的类型 临时变量名字 :数组的名字){
               System.out.println(临时变量名字 );
 }
即:
     for(int x:b1){
            System.out.println(x);
}
   public static void main(String[] args) {
         /*
            数组元素遍历,迭代
            取出数组中每个空间中的元素. 找出数组中有没有某个元素,最大值,最小值. 排序
            方式1: 使用for循环
                   索引: 0 -- 数组长度-1   数组名.length
                   通过for循环生成有效的数组索引
          */

           int[] a = {1,2,3,4,5,6,7};
           for(int i=0;i<a.length;i++){
               System.out.println(a[i]);
           }

         /*
            方式2: 增强for循环
                  简化了for循环的语句
                  for(int t(声明一个变量,变量类型与数组中数据类型一致) : a (需要遍历的数组名)){
                      输出t    每次循环时,从数组中取出一个元素,赋给变量t, t就是每次获取到元素
                  }
                  主要用于对数组中所有的元素进行遍历,不是用来替代for循环
          */
           int[] a = {1,2,3,4,5,6,7};
           for(int t : a){
               System.out.println(t);
           }

           //找出数组中的最大值.
          int max = 0;
          for (int i = 0; i < a.length; i++) {
               if(a[i]>max){
                   max = a[i];
               }
         }
        System.out.println(max);
    }

3.数组的排序

1.冒泡排序

*
        冒泡排序:
            每次取出相邻的两个元素进行比较,将较大的向后移动,
            每一趟找到了一个最大值放到最后
                    int t = 5
            int[] a = {5,4,3,2,1}
                       4 3 2 1 5 第一趟 最大值 5 移动到最右边
                       3 2 1 4 5 第二趟
                       2 1 3 4 5 第三趟
                       1 2 3 4 5 第四趟
                      比较4趟  每一趟取出相邻的两个元素进行比较
      */
public static void main(String[] args){
       int [] a={5,4,3,2,1};
       for(int i=0;i<length-1;i++){
           for(int j=0;j<length-1-i;j++){
                if(a[j]>a[j+1]){
                     int t=a[j];
                      a[j]=a[j+1];
                      a[j+1]=t;
}
}
}
            for(int x:a){
          System.out.println(x);
}
}

2.选择排序

     /*
        选择排序
          假设从第一个元素开始 与 后面的每一个元素进行比较,
          如果后面的元素大于第一个元素,交换两者的位置
          3 1 2 5 4
          1 3 2 5 4
          1 2 3 5 4
          1 2 3 5 4
          1 2 3 4 5
      */
     public static void main(String[] args) {
          int[]  a = {3,1,2,4,5};
         for (int i = 0; i < a.length-1; i++) {
              for(int j=i+1;j<a.length;j++){
                  if(a[i]>a[j]){
                      int t = a[i];
                      a[i] = a[j];
                      a[j] = t;
                  }
              }
         }
         System.out.println(Arrays.toString(a));
     }

2.二维数组

1.二维数组的声明和创建

     二维数组的定义:
数组的数组---二维数组的每一个元素是一个一维数组
例如:
int [][]a = {{1,2,3},{1,2,3},{1,2,3}};
数组创建
int [][]a = new int[][]{{1,2,3},{1,2,3},{1,2,3}};
int [] [] b = {{1,2,3},{1,2,3},{1,2,3}};
int [][] c = new int[3][5];
     int[][] arr = new int[3][5];---定义了一个整型的二维数组 ,这个二维数组有3
个一维数组,每一个一维数组包含5个元素

2,二维数组的迭代

 public static void main(String[] args) {

           int[][] a = new int[][]{{1,2,3,4},
                                   {1,2,3,4},
                                   {1,2,3,4}};
           /*
                 二维数组遍历
                   使用双层循环
            */
        for (int i = 0; i < a.length ; i++) {//遍历二维数组
            for (int j = 0; j <a[i].length ; j++) {//遍历一维数组
                System.out.print(a[i][j]+" ");//取出一维数组中的每一个元素
            }
            System.out.println();
        }


    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值