数组
结构
形式一:int[] students = new int[300]
形式二:int students[] = new int[300]
-  
数组的使用:数组名【下标】–>数组元素
 -  
四要素:数组名 下表 类型 数组元素
 -  
数组的类型和数组元素的类型一致(兼容)
 
什么时候用数组
当多个元素类型相同,考虑用数组
数组长度一旦定义,则不能改变
数组的定义
-  
int[] students = new int[]{97,98,99} ;//可拆
 -  
int[] students = {97,98,99} ;//此种形式不可以拆开写
 
数组的长度students.length;
左右两侧的类型必须一致,但是数据值只需要兼容(类型范围本身比其小的类型)即可
冒泡排序流程
冒泡排序
    2  12  4   20  1
冒泡排序流程:
第一趟:当前>下一个,如果是:交换
  a,2  4<->12  20  1
  b,2  4   12  1   [20]
第一轮比较完毕可以得到一个最大值
第二趟:
  a.2  4   1  [12]  [20]
第三趟:
  a.2  1  [4] [12]  [20]
第四趟:
  a.1 [2] [4] [12]  [20]
    总结:几轮?
    元素个数--->轮数
    5->4
    4->3
    3->2
    2->1
    1->0
    n->(n-1)
    每轮内部规则是什么
  冒泡排序重要结论
n个元素排序,排n-1轮结束
二维数组
int[] [] cities = { {1,2,3},{1,2,3},{1,2,3}};
对象数组
Student[] students = new Student[]{stu1,stu2,stu3};
一个数组里面数组的元素是对象叫对象数组
方法
方法的定义
在面向对象编程中,将“具体”称为“对象”,将“抽象”称为“类“
多个对象,可以抽象出类
类和对象的组成部分:
 静态:属性 身高,体重,年龄
动态(功能):方法 吃饭,睡觉
类可以细分,但细分的产物并不一定是对象
结构
类 对象 = new 类();
Persion zs = new Person() ;
方法是多个对象共享的
属性是各个对象独有的
Person zs = new Person() ;
一般而言,对象 是指堆中的东西new Person()。
栈里面的 称位引用 zs(持有对象的内存地址)
但是根据Everything is an Object来说zs也是对象
new:实例化
对象使用前必须先实例化(new)
static的调用常见情况
同一个类中
static:静态方法
都有static,|或者都没有static |,或没static的掉有static的:直接调用\
有static不能直接调用 没有static的方法!!
不同的类
万能方法:new p 然后p.方法
如果被调用类有static可以直接用类名.方法名调用!
static方法是类级别的
非static方法是对象级别的
返回值
有返回值
pubilc 返回值类型 方法名(){
 return 类型对应的数据;
}
调用有发牛只的方法时,需要接收返回值
package method;
public class MethodReturn {
   
    public String a1() {
   
        String name = "zs";
        System.out.println(name);
        //返回值
        return name;
    }
    public void b() {
   
        //接收
        String name = a1();
        System.out.println("c" + name);
    }
    public static void main(String[] args) {
   
        MethodReturn method = new MethodReturn();
        method.b();
    }
}
  无返回值(返回值为void)
package method;
public class MethodReturn {
   
    public void a() {
   
        System.out.println("张三");
    }
    public void b() {
   
        a();
    }
    public static void main(String[] args) {
   
        MethodReturn method = new MethodReturn() ;
        method.b();
    }
}
  面向对象编程:类和对象、将功能独立的写的写在方法中
参数
有参
单参
package method;
public class People {
   
    //形参
    public void sleep( String name){
   
        System.out.println( name+"睡觉");
    }
    public static void main(String[] args) {
   
    People zs = new People() ;
    zs.sleep("张三");
    //实参
    People ls = new People() ;
    ls.sleep("李四");
    }
}
  参数越多越个性化
package method;
public class People {
   
    //形参
    public void sleep( String name,String place,String time){
   
        System.out.println( name+place+"睡觉--"+time);
    }
    public static void main(String[] args) {
   
    People zs = new People() ;
    zs.sleep("张三","山东","20:23");
    //实参
    People ls = new People() ;
    ls.sleep("李四","黑龙江","19:23");
    }
}
  数组简化参数
多个元素的类型相同–>数组
package method;
public class People {
   
    //形参
    //数组 infos = {name,place,time}
    public void sleep( String [] infos){
   
        System.out.println(infos[0]+infos[1]+"睡觉--"+infos[2]);
    }
    public static void main(String[] args) {
   
    People zs = new People() ;
    //创建参数数组
    String[] lsinfos ={
   "张三","家里","23:23"} ;
    zs.sleep(lsinfos);
    }
}
  多个元素类型不同–> 类/对象
- MyInfo.java
 
package method;
public class MyInfo {
   
    String name ;
    String place;
    int time ;
}
  - People.java
 
package method;
public class People {
   
    //形参
    //数组 infos = {name,place,time}
    public void sleep( MyInfo myInfo){
   
        System.out.println(myInfo.name+myInfo.place+"睡觉--"+myInfo.time);
    }
    public static void main(String args[]) {
   
        MyInfo info = new MyInfo() ;
        info.time = 23 ;
        info.place = "上海" ;
        info.name = "李四" ;
       People ls = new People() ;
        ls.sleep(info);
    }
}
  无参
package method;
public class People {
   
    public void sleep(){
   
        System.out.println("睡觉");
    }
    public static void main(String[] args) {
   
        People zx = new People() ;
        zx.sleep();
        People ls = new People() ;
        ls.sleep();
    }
}

京公网安备 11010502036488号