JAVASE学习总结(2)

1.课后练习,类的设计

1)方法结束了,(局部)变量的作用域就结束了,变量也就出栈了 ,就消失了。

2)Main方法是程序的入口,只有有了main(main也是一种方法)了,程序才能运行。

3)调用的方法如果有返回值,要定义个变量去接收 后者 直接把方法放在在sysout里,(编译器会把方法当成变量,变量的值就是返回值)方法结束了(比如main)

里面的局部变量也就压出栈了。

ctrl+/注释掉所选代码

4)要不要形参,就看外界是否传东西进来

Ps:同一包下的类不能重名

5)调用类中的方法,首先要new一个对象,在同一类中也是一样的。eg:Test类

package com.atguigu2.java;

public class StudentTest {
    public static void main(String[] args){
        //声明一个student类型的数组
        Student[] stus = new Student[20];//数组元素可以是任何类型,  string[]
        for(int i=0;i< stus.length;i++){
            stus[i] = new Student();
            stus[i].number = (i+1);
            stus[i].state = (int)(Math.random()*(6-1+1) + 1);
            stus[i].score= (int)(Math.random()*(100-0+1));
        }//给数组的元素赋值,再给元素的属性赋值
 //   for(int i=0;i<stus.length;i++){
   //     System.out.println(stus[i]);//显示的是地址值
    //正确写法   System.out.println(stus[i].number+",");
 //   System.out.println(stus[i].info());
  //  }

    //使用冒泡排序按学生成绩排序,并遍历所有学生信息
        for(int i = 0;i < stus.length - 1;i++){
            for(int j = 0;j < stus.length-1;j++){
                if(stus[j].score > stus[j+1].score){
                    //如果需要排序,交换的是数组的元素:Student对象
                    Student temp = stus[j];
                    stus[j] = stus[j+1];
                    stus[j+1] = temp;
                }
            }
        }
        //遍历学生数组
        for(int i = 0;i < stus.length;i++){
            System.out.println(stus[i].info());
        }
    }

}

class Student{
    int number;
    int state;
    int score;

    public String info(){
            return "学号" +number + "年级"+state+"成绩"+score;
    }
}

6)new出来的结构都在堆空间中(不考虑static)

7)编译完源程序以后,生成一个或多个字节码文件。使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。意味着,此时才会将字节码文件加载到内存中(加载内存是运行时才做的事)

面向对象两个重要概念:类和对象(实例) 

猜你喜欢

转载自blog.csdn.net/qq_61551764/article/details/121453502
今日推荐