2021-09-27

java面向对象及数组

数组

1.是什么

数组是一组相同数据类型元素的集合。 在Java中数组属于引用类型,即数组是一个对象。 这里的数据类型不仅含八大基本数据类型,还包含引用数据类型,如数组里面可以存数组,数组里面可以存放字符串。

2.写法

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:

dataType[] type=new dataType[10];

public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5};

​ // 打印所有数组元素

​ for (int i = 0; i < myList.length; i++) {

​ System.out.println(myList[i] + " ");

}

// 计算所有元素的总和

double total = 0;

for (int i = 0; i < myList.length; i++) {

​ total += myList[i];

}

System.out.println("Total is " + total);

​ // 查找最大元素

double max = myList[0];

for (int i = 1; i < myList.length; i++) {

​ if (myList[i] > max) max = myList[i];

}

System.out.println("Max is " + max); }

面向对象

1.是什么

Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。 所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。 对象有以下特点: 对象具有属性和行为。 对象具有变化的状态。

2.创建对象

对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。

3.源文件声明规则

在本节的最后部分,我们将学习源文件的声明规则。当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。

  • 一个源文件中只能有一个 public 类
  • 一个源文件可以有多个非 public 类
  • 源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
  • 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
  • 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
  • import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这些将在访问控制章节介绍。

除了上面提到的几种类型,Java 还有一些特殊的类,如:内部类匿名类

4.源码例题

//————————————————————————

/**

* 学生管理

* alt+shift+l 通过后面的代码自动补全前面的代码

*/

public class StudentManage {

​ private static Student[] stuData = new Student[15];

​ private static int index = 0;

​ //增

​ public void add(Student stu) {

​ stuData[index] = stu;

​ index++;

​ }

​ // 查单个数据

​ public void findById(int id) {

​ for (int i = 0; i < index; i++) {

​ Student student = stuData[i];

​ if (student.getId() == id) {

​ System.out.println(student);

​ break;

​ }

​ }

​ }

​ // 查所有

​ public void findAll() {

​ for (int i = 0; i < stuData.length; i++) {

​ Student student = stuData[i];

​ System.out.println(student);

​ }

​ }

​ // 删

​ public void del(int id) {

​ Integer delindex = null;

​ for (int i = 0; i < stuData.length; i++) {

​ Student student = stuData[i];

​ //挪移删除之后的数据

​ if (delindex != null && student != null) {

​ stuData[delindex] = stuData[i];

​ stuData[i] = null;

​ delindex++;

​ }

​ //具体的删除方法

​ if (student != null && id == student.getId()) {

​ stuData[i] = null;

​ index–;

​ delindex = i;

​ }

​ }

​ }

​ // 删

​ public void del2(int id) {

​ //创建一个新的数组,来承接删除后的数据

​ Student[] students = new Student[stuData.length];

​ //创建要给新的下标记,记录存储的个数

​ int newindex=0;

​ //循环便利,将其他数据赋值给新的数组

​ for (int i = 0; i < stuData.length; i++) {

​ Student student = stuData[i];

​ //当前对象不为空且,当前对象id不是要删除的id

​ if(student!=null&&student.getId()!=id){

​ students[newindex]=student;

​ newindex++;

​ }

​ }

​ stuData=students;

​ index=newindex;

​ }

​ // 改

​ public void update(Student stu) {

​ }

​ public static void main(String[] args) {

​ StudentManage manage = new StudentManage();

​ manage.add(new Student(1, “吴亮”, “男”, “0001”, 20));

​ manage.add(new Student(2, “梦晓”, “女”, “0002”, 18));

​ manage.add(new Student(3, “玉龙”, “男”, “0003”, 20));

​ manage.add(new Student(4, “宁宁”, “女”, “0004”, 18));

​ manage.add(new Student(5, “洋洋”, “男”, “0005”, 20));

​ manage.add(new Student(6, “鹏举”, “女”, “0006”, 18));

​ manage.add(new Student(7, “磊磊”, “男”, “0007”, 20));

​ manage.findAll();

​ manage.findById(2);

​ System.out.println("--------------------------------------------");

​ manage.del2(4);

​ manage.findAll();

}

}

//——————————————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值