栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

心得体会day11-13(日撸 Java 三百行)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

心得体会day11-13(日撸 Java 三百行)

文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客

day11:顺序表(一) 11.1 思考1 构造函数作用是什么?

首先构造函数名与类名一样,无返回值,可多个。我在前几天敲代码时没有出现构造函数,其实在未定义构造函数时会有一个缺省无参构造函数。其构造函数最大的作用是:在创建对象时(new)初始化对象

11.2 思考2 Object类

Object类是所有类的超类(一般我们创建的类都是隐式继承),所有类都可以使用Object类中的成员方法和变量,也可以重写其中的方法,例如今天的代码就重写了toString.若不重写toString方法,则会返回类名+hash值

//Object类中的toString方法
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
day12: 顺序表(二) 12.1 题目

在写顺序表的增删查时,结合顺序表的数据结构,需要多注意循环中临界取值,等于符号何时用,如在代码中的insert方法和delete方法,在判断越界时,何时取 >length和>=length,以及在循环时的临界

 
    public boolean insert(int paraPosition, int paraValue) {
        if (MAX_LENGTH == length) {
            System.out.println("List is full!");
            return false;
        }

        if ((paraPosition < 0) || (paraPosition > length)) {
            System.out.println("The position " + paraPosition + " is out of bounds.");
            return false;
        }

        // From tail to head. The last one is moved to a new position. Because length < MAX_LENGTH, no exceeding occurs
        for (int i = length; i > paraPosition; i--) {
            data[i] = data[i-1];
        }

        data[paraPosition] = paraValue;
        length++;

        return true;
    }


    
    public boolean delete(int paraPosition) {
        if ((paraPosition < 0) || (paraPosition >= length)) {
            System.out.println("The position " + paraPosition + " is out of bounds.");
            return false;
        }

        for (int i = paraPosition; i < length -1; i++) {
            data[i] = data[i+1];
        }

        length--;

        return true;
    }
day13: 链表 13.1 成员内部类

在c语言中,对链表的数据结构是用结构体来表示,在java中使用内部类来表示链表结构体,如文章中的Node类可以访问外部类中所有的成员变量和成员方法。(除此外还有局部,静态,匿名内部类)

13.2  链表的插入和删除

用c语言来表示链表的插入(s)):

//c语言表示
tempNewNode->next = tempNode->next;
tempNode->next = tempNewNode

//java
 tempNewNode.next = tempNode.next;
 tempNode.next = tempNewNode;

 删除:

//c语言
tempNode = tempNode->next->next;
free(tempDeleteNode);

//java
 tempNode.next = tempNode.next.next;

 从以上的对比发现,java实现链表主要采用的是引用对象。关于链表的基本操作,因为java的util类中有链表自带的方法,很少会去敲这些代码,在写后感触很深。如链表:在c和java中链表表示不一样,但是本质的逻辑操作都是一样的,关键在于如何定义这个链表结构体。

总结:

1. 逐步建立面向对象的思想 ,理解构造函数。

2. 顺序表,链表的查找插入删除 在 java实现过程中结合条件,分支语句以及常用的关键字的使用。

3.在写程序时,要对代码进行保护,考虑到可能出现的非法操作,越界等问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号