Java基础知识(四)

这篇博客介绍了Java的基础知识,包括数组的定义、声明、初始化及其多维数组的使用,详细阐述了冒泡排序的原理。同时,博主探讨了面向对象的概念,解释了面向对象与面向过程的区别,并详细讲解了类、对象、属性和方法的定义,强调了面向对象的封装、继承和多态性特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过对Java的初步学习,我总结出了一部分知识点,内容比较粗略,仅为笔记之类的东西,之后的日子里会通过对Java的不断学习,不断总结新的知识点,欢迎各路大佬们来点拨。(๑¯∀¯๑)

十五、数组

1.数组的定义

数组是相同类型数据的有序集合,描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个下标来访问它们。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

注:

(1)长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

(2)其元素必须是相同类型,不允许出现混合类型。

(3)数组类型可以是任何数据类型,包括基本类型和引用类型。

2.数组的声明

格式(四种):

int[] arr = new int[5];
int arr[] = new int[5];
int[] arr = new int[]{3,1,2,5,6}
int[] arr = {3,1,2,5,6}

注:构造一个数组时,必须指定长度。

3.数组的初始化

(1)静态初始化

用new关键字来定义数组,还可以直接在定义数组的同时就为数组元素赋值。

例:

int[] arr = { 1, 2, 3 };

(2)动态初始化

定义数组和为数组元素赋值分开进行。

例:

int[] arr = new int[2];
    arr[0] = 1;
    arr[1] = 2;

(3)数组的默认初始化

数组属于引用类型,它的元素相当于类的实例变量,当数组被分配空间时,其中的每个元素也被按照实例变量同样的方式被初始化。

例:

int arr[] = new int[2];
boolean[] b = new boolean[2];
String[] c = new String[2]; 

4.多维数组

多维数组可以看成以数组为元素的数组。

(1)二维数组的声明

例:

int[][] a = new int[3][];
        a[0] = new int[2];
        a[1] = new int[4];
        a[2] = new int[3];

(2)二维数组的静态初始化

例:

int[][] a = { { 1, 2, 3 }, { 3, 4 }, { 3, 5, 6, 7 } };
        System.out.println(a[2][3]);

5.冒泡排序

原理:

(1)比较相邻的元素,如果第一个比第二个大,就交换他们两个。

(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,最后的元素应该会是最大的数。

(3)除了最后一个,针对所有的元素重复以上的步骤,直到没有任何一对数字需要比较。

十六、面向对象

1.面向对象和面向过程的联系

面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发各个阶段,对应面向对象就分别称为面向对象分析、面向对象设计和面向对象编程。C语言是一种典型的面向过程语言,Java是一种典型的面向对象语言。

面向对象具有三大特征:封装性、继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能。所以面向对象优势更明显。

面向对象可以帮助我们从宏观上把握、从整体上分析整个系统。 但是,具体到实现部分的微观操作(就是一个个方法),仍然需要面向过程的思路去处理。我们不能把面向过程和面向对象对立起来,他们是相辅相成的,面向对象离不开面向过程。

注:

(1)都是解决问题的思维方式,都是代码组织的方式。

(2)解决简单问题可以使用面向过程

(3)解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。

2.类和对象的关系

(1)对象是具体的事物;类是对对象的抽象。

(2)类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

(3)类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。

3.类的定义

例:

public class student {
    int id;
    String name;
    int age;  
    void study(){
        System.out.println("好好学习,天天向上!");
    }  

   student(){
   }
}

注:每一个源文件只能有一个public class,并且类名和文件名保持一致!

4.属性(成员变量)

属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。

在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。

 

 5.方法

方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象,类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。

格式:

[修饰符]  方法返回值类型  方法名(形参列表) {
    Java语句;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值