数组排序
1.冒泡排序
import java.util.Arrays;//冒泡排序public class Deom01 {public static void main(String[] args) {int[] arr = {22,52,88,2,0};//调用bubbleSort(arr);System.out.println(Arrays.toString(arr));}public static void bubbleSort(int[] arr) {for(int i=0;i<arr.length-1;i++) {for(int j=0;j<arr.length-1-i;j++) {if(arr[j]>arr[j+1]) {int temp = arr[j];//定义一个空变量存值便于下面位置j和位置j+1值的交换arr[j] = arr[j+1];arr[j+1] = temp;//再将第一步赋值给temp 的位置j的值赋值给j+1}}}}}
2.选择排序
import java.util.Arrays;//选择排序public class Deom02 {public static void main(String[] args) {int[] arr = new int[] {0,45,6,12,3};selectSort(arr);System.out.println(Arrays.toString(arr));}public static void selectSort(int[] arr) {for(int i=0;i<arr.length-1;i++) {int max = 0;for(int j = 1;j < arr.length - i;j++) {if(arr[j] > arr[max]) {max = j;//将最大值存在max这个位置}}//交换位置int temp = arr[max];arr[max] = arr[arr.length-1-i];arr[arr.length-1-i] = temp;}}}
类和对象
类:是一组相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征和行为来描述该类事物。
通俗一点来说,就是人们常说的概念,很抽象的,不真实存在的,称之为类。
对象:是一类事物的具体体现,对象是类的一个实例,具备该类事物的属性和行为。
通俗来说,对象是真实存在的,它是具体的。
举例:人类 --->是一个类
名字,身份证--->属性
吃饭,睡觉,喝水 --->行为
一个单独真实存在的人--->对象--->是人类的一个实例,应该具备人类的属性和行为
类的定义
就是定义类的成员,包括成员变量和成员方法。
成员变量:与之前定义变量的方式是一样的,但需定义在类中,方法外。
成员方法:与之前定义变量的方式是一样的,但需把public static 修饰词中的static去掉之后,再做方法。
这里需要注意的是,成员变量的默认值
类的使用
1.创建类的对象-->主方法里创建
2.使用对象访问类中的成员(调用成员变量,成员方法)
代码说明
/*计算圆的周长,面积* 创建一个Circle类,并使用两个方法分别计算它的周长和面积*/public class Demo01 {public static void main(String[] args){//创建类的对象Circle c = new Circle();//调用成员变量c.r = 3.0;//调用成员方法c.area(c.r);c.perimeter(c.r);}}//这里开始就要新创建一个class放我们写的Circle类// 实体类public class Circle {//定义成员变量double r ;double pi =3.14;//定义成员方法public void area(double r){double s = pi*r*r;System.out.println("s="+s);}public void perimeter(double r){double c = 2*pi*r;System.out.println("c="+c);}}
public class Deom02 {public static void main (String[] args){//创建类的对象Student stu = new Student();//调用成员变量stu.name = "小红";stu.sex = "女";stu.age = 18;stu.book = "白夜行";//调用成员方法stu.m1(stu.name,stu.sex,stu.age,stu.book);}}// 实体类public class Student {// 定义成员变量String name;String sex;int age;String book;//定义成员方法public void m1(String name, String sex,int age,String book){System.out.println(name+sex+age+"岁"+book);}}
对象内存图
成员变量和局部变量的区别
1.在类中声明的位置不同
成员变量:类中,方法外
局部变量:方法中
2.初始化的区别
成员变量:可以不用初始化,因为有默认初始值
局部变量:使用前必须初始化
3.个数区别
成员变量:由对象决定
局部变量:由声明个数决定,声明多少个局部变量就有多少个
4.在JVM内存中的区别
成员变量:存在堆里,随着对象的创建而存在,随着对象的消失而消失
局部变量:存在方法栈里,随着方法的调用而存在,随着方法的调用而消失
图示