zoukankan      html  css  js  c++  java
  • Java学习笔记5(类的入门以及ArrayList)

    1.类的概念:将现实生活中的事物抽象成了代码(类),我们可以使用自定义的数组类型(类)来描述现实生活中的事物。

    2.分析:用一部手机来分析,手机可以打电话,上网,听音乐,这些就是方法,手机有型号,颜色,大小,这些就是属性。

    举例:

    写一个手机类,

    public class Phone{
        String color;
        String brand;
        double size;
    } 

    写一个测试类,和手机类在一个文件夹下,

    public class TestPhone{
        public static void main(String[] args){
            Phone p = new Phone();
            p.color = "whilte";
            p.brand = "vivo";
            p.size = 5.0;
            System.out.println(p.color+"        "+p.brand+"        "+p.size+"寸");
        }
    }

    运行结果:

    内存分析:

    1.TestPhone.class进入方法区,只有一个main方法

    2.Phone.class进入方法区,有三个属性

    3.main方法进入栈中运行

    4.在new Phone时候,JVM在堆中开辟内存空间,用来存储Phone对象,并获得地址

    5.类中的三个属性,跟随容器进入到堆内存,并赋予默认值(null,null,0.0)

    6.p指向这个内存地址

    7.p.color等是内存空间中找到color属性,并赋值

    ArrayList简单介绍:

    集合,不限长度。存储的是引用类型,不存储基本类型,如int,double不能写,要改成相应的引用类型。

    创建(Phone是之前写的一个类):

    import java.util.ArrayList;
    public class ArrayListDemo{
        public static void main(String[] args){
            ArrayList<String> array = new ArrayList<String>();
            ArrayList<Integer> array2 = new ArrayList<Integer>();
            ArrayList<Phone> array3 = new ArrayList<Phone>();
        }
    }

    方法:

    import java.util.ArrayList;
    public class ArrayListDemo{
        public static void main(String[] args){
            ArrayList<String> array = new ArrayList<String>();
            array.add("c++");//添加元素
            array.add("python");
            array.add("java");
            array.add("php");
            int size = array.size();//集合的大小
            System.out.println(size);//4
            String s = array.get(1);//获取元素
            System.out.println(s);//python
            
            //遍历
            for(int i = 0 ; i < array.size(); i++){
                System.out.println(array.get(i));
            }
            
            //其他方法
            ArrayList<Integer> array2 = new ArrayList<Integer>();
            array2.add(1);
            array2.add(2);
            array2.add(3);
            array2.add(4);
            array2.add(2,7);//在2的索引上加7
            array2.set(0,10);//0索引设置为10
            array2.remove(4);//删除
            for(int j = 0 ; j < array2.size(); j++){
                System.out.println(array2.get(j));
            }
            //10,2,7,3
            array2.clear();
            //清除集合中的元素,容器还在
        }
    }
  • 相关阅读:
    LeetCode 876——链表的中间结点
    LeetCode 206——反转链表
    一次漫长的代码复现经历
    在 C/C++ 中使用 TensorFlow 预训练好的模型—— 直接调用 C++ 接口实现
    编译 TensorFlow 的 C/C++ 接口
    TensorFlow 同时调用多个预训练好的模型
    在 C/C++ 中使用 TensorFlow 预训练好的模型—— 间接调用 Python 实现
    TensorFlow 调用预训练好的模型—— Python 实现
    Python 学习笔记之 Numpy 库——文件操作
    Python 学习笔记之 Numpy 库——数组基础
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8213481.html
Copyright © 2011-2022 走看看