Java学习08|常用API:String、ArrayList

目录

一、API初认识

1、API

2、包

1️⃣什么是包和注意事项

2️⃣IDEA自动导包设置

二、String

1、String概述,常用方法介绍

1️⃣String创建对象封装字符串数据的方式

2️⃣String的常用方法

2、String使用时的注意事项

1️⃣String对象不可变

2️⃣String创建对象两种方式的区别:“字符串常量池” 和“new方式”

3️⃣案例

3、String的应用案例1-用户登录

4、String的应用案例2-验证码

三、ArrayList

1、集合概述

2、ArrayList概述

3、ArrayList常用方法 

4、ArrayList应用案例

1️⃣方法一:删除后加个i-- 

2️⃣方法二:倒着遍历

5、 ArrayList综合案例


一、API初认识

1、API

 重点学习java.base下面的包

2、包

学习API要先学习包

1️⃣什么是包和注意事项

2️⃣IDEA自动导包设置

二、String

1、String概述,常用方法介绍

1️⃣String创建对象封装字符串数据的方式

第一种方法:name中存储的是地址,但是打印出的是字符串而不是地址,因此java本身做了一些特殊操作
2️⃣String的常用方法

2、String使用时的注意事项

1️⃣String对象不可变

对实际开发影响不大,但是笔试题有用

用+连接字符串,每次都是产生新的字符串对象,然后变量name指向新字符串的地址

2️⃣String创建对象两种方式的区别:“字符串常量池” 和“new方式”

具体看上面第一张图

”“创建,常量池,只有一份的目的:节约内存

3️⃣案例

3、String的应用案例1-用户登录

4、String的应用案例2-验证码

上一个生成随机验证码的案例是在 06编程案例

三、ArrayList

1、集合概述

 集合的特点:

ArrayList最常用

2、ArrayList概述

泛型类

 ArrayList的特点:集合特点+元素可以重复,元素存在索引

3、ArrayList常用方法 

创建并添加数据,方法一:不限制添加的数据类型

这里打印list输出的不是对象的地址,而是列表,说明ArrayList把Object类中的toString()方法重写了 ,java11

创建并添加数据,方法一:限制添加的数据类型

集合都是支持泛型的↑ 另外集合和泛型都不支持基本数据类型,之后讲。

4、ArrayList应用案例

1️⃣方法一:删除后加个i-- 

2️⃣方法二:倒着遍历

5、 ArrayList综合案例

package com.itheima.api;

public class Test {
    //1、设计一个菜品类Food,负责创建菜品对象,封装菜品数据
    //2、设计一个菜品操作类FoodOperate,负责菜品业务实现:菜品上架、浏览
    //3、测试系统
    public static void main(String[] args) {
        FoodOperate command = new FoodOperate();
        command.start();
    }

}
package com.itheima.api;

public class Food {
    private String name;
    private double price;
    private String desc;

    public Food() {
    }

    public Food(String name, double price, String desc) {
        this.name = name;
        this.price = price;
        this.desc = desc;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
package com.itheima.api;

import com.sun.source.tree.NewArrayTree;

import java.util.ArrayList;
import java.util.Scanner;

public class FoodOperate {
    //1、定义一个ArrayList集合对象,负责存储菜品对象信息
    private ArrayList<Food> FoodList = new ArrayList<>();


    //2、开发功能:上架菜品
    public void addFood(){
        Scanner sc = new Scanner(System.in);
        Food f = new Food();
        System.out.println("请输入菜品名称:");
        String name = sc.next();
        f.setName(name);
        System.out.println("请输入菜品价格:");
        double price = sc.nextDouble();
        f.setPrice(price);
        System.out.println("请输入菜品描述:");
        String desc = sc.next();
        f.setDesc(desc);

        FoodList.add(f);
        System.out.println("上架成功!!");
    }

    //3、开发功能:浏览菜品
    public void showAllFoods(){
        if(FoodList.size() == 0){
            System.out.println("什么菜品都没有噢,先去上架吧");
            return;
        }

        for (int i = 0; i < FoodList.size(); i++) {
            Food food = FoodList.get(i);
            System.out.println(food.getName());
            System.out.println(food.getPrice());
            System.out.println(food.getDesc());
            System.out.println("------------------");
        }
        System.out.println("全部商品已展示完毕");
    }

    //展示页面
    public void start(){
        while (true) {
            System.out.println("本页面包含两个功能:1、上架菜品;2、展示菜品;3、退出");
            System.out.println("请输入相应序号:");
            Scanner sc = new Scanner(System.in);
            String command = sc.next();
            switch(command){
                case "1":
                    addFood();
                    break;
                case "2":
                    showAllFoods();
                    break;
                case "3":
                    System.out.println("下次再来噢");
                    return;
                default:
                    System.out.println("您输入的序号有误!!");
            }
        }

    }


}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值