Java基础-02

Java基础(二)

一、创建数组

一般分为动态初始化和静态初始化

1.1、动态初始化

int[] a = new int[5];

1.2、静态初始化

int[] b = new int[]{1,2,3,4,5};

int[] c = {1,2,3,4,5};

动态数组创建过程如图:
在这里插入图片描述

二.冒泡排序详解:

2.1 概念

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

2.2 形式

相邻位置比较,从小到大排序,如果小就往前换。

i代表从头到尾遍历循环数据。
在这里插入图片描述
代码演示:

      public class Test1_Bubble {
            
                   public static void main(String[] args) {
            
                          //1、创建无序数组
            
                          int[] a = {21,96,75,23,25};
        
                          //2、调用method()排序
            
                          int[] newA = method(a);
            
                          System.out.println(Arrays.toString(newA));
            
                   }
        
                   public static int[] method(int[] a) {
            
                          //1、外循环:控制比较轮数
            
                          for(int i = 0 ; i < a.length-1 ; i++) {
        
                                 //2、内循环:相邻比较  交换位置
            
                                 for(int j = 0 ; j < a.length-1 ; j++) {
            
                                        //相邻元素的值比较,a[j]代表的是前一个元素,a[j+1]代表的是后一个元素
            
                                        if(a[j] > a[j+1]) {
            
                                               //交换数据
            
                                               int t = a[j];
            
                                               a[j]=a[j+1];
            
                                               a[j+1]=t;
            
                                        }
            
                                 }
            
                          }
            
                          return a;//把排序后的数组返回
            
        
                   }
        
            }

三、面向对象

面向对象(OOP,Object Oriented Programming)

3.1、 三大特征

1、 封装性,把相关的数据封装成一个“类”组件

2、 继承性,是子类自动共享父类属性和方法,这是类之间的一种关系

3、 多态,增强软件的灵活性和重用性

3.2、对象在内存中的存储

Java把内存分成5大区域,我们重点关注栈和堆。

1、 一般来讲局部变量存在栈中,方法执行完毕内存就被释放

2、 对象(new出来的东西)存在堆中,对象不再被使用时,内存才会被释放

3、 每个堆内存的元素都有地址值

4、 对象中的属性都是有默认值的
在这里插入图片描述

拓展:创建对象的流程

Person p = new Person();//短短这行代码发生了很多事情

1、  把Person.class文件加载进内存

2、  在栈内存中,开辟空间,存放变量p

3、  在堆内存中,开辟空间,存放Person对象

4、  对成员变量进行默认的初始化

5、  对成员变量进行显示初始化

6、  执行构造方法(如果有构造代码块,就先执行构造代码块再执行构造方法)

7、  堆内存完成

8、  把堆内存的地址值赋值给变量p ,p就是一个引用变量,引用了Person对象的地址值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值