Java基础-常用API

1.String(java.long.String)

String常用方法

package cn.it.api.String;

/**
 * String常用API
 */
public class StringApis {
    public static void main(String[] args) {
        String str = "坚持学习,月薪过万,不服就干。";
//          public int length() 获取字符串的长度返回(就是字符个数)
        System.out.println(str.length());
//          public char charAt(int index)获取某个索引位置处的字符返回
        System.out.println(str.charAt(6));
//          public char[]toCharArray():将当前字符串转换成字符数组返回
        System.out.println(str.toCharArray());
//          public boolean equals(obiect anobject)判断当前字符串与另一个字符串的内容一样,一样返回true
        System.out.println(str.equals("坚持学习,月薪过万,不服就干。"));
//          public boolean equalsIgnoreCase(string anotherString)判断当前字符串与另一个字符串的内容是否一样(忽略大小写)
        System.out.println("A".equalsIgnoreCase("a"));
//          public string substring(int beginIndex, int endIndex)根据开始和结束索引进行截取,得到新的字符串(包前不包后)
        System.out.println(str.substring(5, 10));
//          public string substring(int beginIndex)从传入的索引处截取,截取到末尾,得到新的字符串返回
        System.out.println(str.substring(1));
//          public string replace(charSequence target, charSequence replacement)使用新值,将字符串中的旧值替换,得到新的字符串
        System.out.println(str.replace("过万", "上万"));
//          public boolean contains(CharSequences) 判断字符串中是否包含了某个字符串
        System.out.println(str.contains("不服就干"));
//          public boolean startsWith(string prefix)判断字符串是否以某个字符串内容开头,开头返回true,反之
        System.out.println("asagasda".startsWith("a"));
//          public string[]split(string regex)把字符串按照某个字符串内容分割,并返回字符串数组回来
        System.out.println("----------------------------------------");
        String[] strArr = str.split(",");
        for (int i = 0; i < strArr.length; i++) {
            System.out.println(strArr[i]);
        }
    }
}

String使用时的注意事项

String笔试题案例:

案例1:

案例2:

Test3中,s1指向字符串常量池,s3进行过运算,所以指向堆内存,即结果为false;        

String应用案例:

案例一:用户登录
package cn.it.api.String;

import java.util.Scanner;

/**
 * 用户登录
 */
public class demo1_UserLogin {
    public static void main(String[] args) {
        int count = 0;
        System.out.println("---------------------------");
        System.out.println("String系统登录页面");
        System.out.println("---------------------------");
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入用户名:");
            String username = sc.next();
            System.out.println("请输入密码:");
            String password = sc.next();
            if (username.equals("itheima") && password.equals("123456")) {
                System.out.println("欢迎进入系统!");
                break;
            } else {
                count++;
                if (count == 3) {
                    System.out.println("三次输入错误,账号已锁定。");
                    break;
                }
                System.out.println("用户名或密码输入错误,请重新输入...");
            }
            if (count > 0) {
                if (count == 3) {
                    break;
                } else {
                    System.out.println("您还有" + (3 - count) + "次机会");

                }
            }
        }
    }
}
案例二:验证码
package cn.it.api.String;

import java.util.Random;
import java.util.Scanner;

/**
 * 验证码
 */
public class demo2_LoginCode {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String sys = loginCode();
        System.out.println("请输入验证码:" + sys);
        String str = scanner.next();
        System.out.println(str.equalsIgnoreCase(sys) ? "登陆成功" : "登录失败");

    }

    //生成验证码
    public static String loginCode() {
        String[] codeArr = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
                "q", "w", "e", "r", "t", "y", "u", "i", "o", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m", "p",
                "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X", "C", "V", "B", "N", "M"};
        Random random = new Random();
        int r;
        for (int i = 0; i < codeArr.length; i++) {
            r = random.nextInt(codeArr.length);
            codeArr[i] = codeArr[r];
        }
        String str = "";
        for (int i = 0; i < 4; i++) {
            str += codeArr[i];
        }
        return str;
    }
}

2.ArrayList(java.util.ArrayList)

ArrayList常用方法

package cn.it.api.ArrayList;

import java.util.ArrayList;

public class ArrayListApis {
    public static void main(String[] args) {
        //    public boolean add(E e)
        //    将指定的元素添加到此集合的末尾
        ArrayList<Integer> arrayList = new ArrayList<>();
        arrayList.add(10);
        arrayList.add(11);
        System.out.println(arrayList);
        //    public void add(int index,E element)
        //    在此集合中的指定位置插入指定的元素
        arrayList.add(0, 20);
        System.out.println(arrayList);
        //    public E get(int index)
        //    返回指定索引处的元素
        System.out.println(arrayList.get(2));
        //    public int size()
        //    返回集合中的元素的个数
        System.out.println(arrayList.size());
        //    public E remove(int index)
        //    删除指定索引处的元素,返回被删除的元素
        System.out.println(arrayList.remove(2));
        //    public boolean remove(Object o)
        //    删除指定的元素,返回删除是否成功
        System.out.println("---------------------");
        System.out.println(arrayList.remove(Integer.valueOf(20)));
//        System.out.println(arrayList.remove((Integer)20));
        System.out.println(arrayList);
        //    public E set(int index,E element)
        //    修改指定索引处的元素,返回被修改的元素
        System.out.println(arrayList.set(0, 520));
        System.out.println(arrayList);
    }

}

案例:

package cn.it.api.ArrayList;

import java.util.ArrayList;

public class demo_gouqi {
    public static void main(String[] args) {
        //将所有的物品添加至购物车
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Java入门");
        arrayList.add("宁夏枸杞");
        arrayList.add("黑枸杞");
        arrayList.add("人字拖");
        arrayList.add("特级枸杞");
        arrayList.add("枸杞子");
        System.out.println("购物车:" + arrayList);
        //批量删除枸杞
        /**
         * 注意:这里移除某个数据后,该数据后面的元素会往前移动一位,故需重新检查一遍,
         * 但是在i-1之前的已经检查过,故从i-1重新检查即可
         */
        //方法一:正向
//        for (int i = 0; i < arrayList.size(); i++) {
//            if (arrayList.get(i).contains("枸杞")) {
//                arrayList.remove(i);
//                i--;
//            }
//        }

//        int i = 0;
//        while (true) {
//            if (arrayList.get(i).contains("枸杞")) {
//                arrayList.remove(i);
//                i = 0;
//            }
//            i++;
//            if (i == arrayList.size()) {
//                break;
//            }
//        }
        //方法二:逆向思路
        for (int i = arrayList.size() - 1; i >=0; i--) {
            if (arrayList.get(i).contains("枸杞")) {
                arrayList.remove(i);
            }
        }
        System.out.println(arrayList);
    }
}

ArrayList应用案例:

案例:开发一个系统,完成菜品的上架和菜品信息浏览功能,使用ArrayList结合面向对象编程。
1.实体类Seller
package cn.it.api.demo;

public class Seller {
    private String name;
    private double startPrice;
    private double nowPrice;
    private String info;

    public Seller() {
    }

    @Override
    public String toString() {
        return "Seller{" +
                "name='" + name + '\'' +
                ", startPrice=" + startPrice +
                ", nowPrice=" + nowPrice +
                ", info='" + info + '\'' +
                '}';
    }

    public Seller(String name, double startPrice, double nowPrice, String info) {
        this.name = name;
        this.startPrice = startPrice;
        this.nowPrice = nowPrice;
        this.info = info;
    }

    public String getName() {
        return name;
    }

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

    public double getStartPrice() {
        return startPrice;
    }

    public void setStartPrice(double startPrice) {
        this.startPrice = startPrice;
    }

    public double getNowPrice() {
        return nowPrice;
    }

    public void setNowPrice(double nowPrice) {
        this.nowPrice = nowPrice;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

}
2.商家操作类SellerOperator
package cn.it.api.demo;

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

public class SellerOperator {
    static Scanner sc;

    static {
        sc = new Scanner(System.in);
    }

    private ArrayList<Seller> arrayList = new ArrayList<>();


    //添加菜品
    public void adding() {
        Seller seller = new Seller();
        System.out.println("请输入新菜品的名称:");
        seller.setName(sc.next());
        System.out.println("请输入新菜品的原价:");
        seller.setStartPrice(sc.nextDouble());
        System.out.println("请输入新菜品的优惠价:");
        seller.setNowPrice(sc.nextDouble());
        System.out.println("请输入新菜品的其他信息:");
        seller.setInfo(sc.next());
        arrayList.add(seller);
    }

    //查询信息
    public void selecting() {
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i).toString());
        }
    }

    //删除菜品信息
    public void deleted() {
        //需要id
    }

    //启动页面
    public void start() {
        System.out.println("欢迎使用菜品信息管理系统...");
        int ope = 0;
        while (true) {
            System.out.println("1.展示菜品信息  2.新增菜品信息  3.修改菜品信息  4.删除菜品信息  5.退出系统...");
            ope = sc.nextInt();
            if (ope == 3) {
                break;
            }
            switch (ope) {
                case 1:
                    //2.展示已有的菜品信息
                    if (arrayList.size() == 0) {
                        System.out.println("暂无菜品信息,请新增菜品信息");
                        break;
                    } else {
                        selecting();
                        break;
                    }
                case 2:
                    //3.新增菜品
                    adding();
                    break;
                default:
                    System.out.println("您输入的命令有误,请重新输入");
            }
        }
    }
}
3.主函数demo_Oop_ArrayList_Main
package cn.it.api.demo;

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

/**
 * 完成菜品的上架,以及菜品信息浏览功能
 */
public class demo_Oop_ArrayList_Main {

    public static void main(String[] args) {
        SellerOperator operator = new SellerOperator();
        operator.start();

    }
}
4.运行结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值