目录
一、包
二、String
2.1 String概述、常用方法介绍
2.2 String的常用方法
延伸:字符串遍历(下图有2种方法):
2.3 String使用时注意事项
1、第一点疑问及解惑
2、第二点的内存原理
3、案例1
4、案例2
2.4 String的应用案例1-用户登录
2.5 String应用案例2-验证码
三、ArrayList
3.1 ArrayList快速入门
3.2 ArrayList常用方法
通过<>约束指定集合数据类型
3.3 ArrayList应用案例
1、错误方式
2、方式一
3、方式二
3.4 ArrayList综合案例
1、Food
2、FoodOperator
3、main函数(TestArrayList2)
前言:java掌握的api越多,技能就越厉害
package com.runa.object;
import java.util.Scanner;
public class TestLogin {
public static void main(String[] args) {
// 1 开发一个登录界面
Scanner sc = new Scanner(System.in);
for (int i = 0;i < 3;i++) {
System.out.println("请您输入用户名");
String loginName = sc.next();
System.out.println("请您输入密码");
String password = sc.next();
// 5调用登录方法,判断是否登录成功
boolean rs = login(loginName,password);
if(rs){
System.out.println("恭喜您!登录成功");
break;
}else {
System.out.println("登录名或密码错误!请重新登录");
}
}
}
// 2 开发一个登录方法,接收用户名和密码,返回认证的结果
public static boolean login(String loginName, String password){
// 3 准备一份系统正确的用户名和摩玛
String okLoginName = "bocai";
String okPassword = "666666";
// 4 判断登录用户是否登录成功
// if(okLoginName.equals(loginName) && okPassword.equals(password)){
// return true;
// }else{
// return false;
// }
// 这个是 简化代码
return okLoginName.equals(loginName) && okPassword.equals(password);
}
}
package com.runa.object;
import java.util.Random;
public class TestCode {
public static void main(String[] args) {
System.out.println(createCode(6));
}
// 1 设计一个方法,返回指定位置的验证码
public static String createCode(int n){
//2 定义2个变量,一个是记住最终产生的随机验证码 一个是记住可能用到的全部字符
String code = "";
String data = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random r = new Random();
// 3 定义一个循环产生每位的随机字符
for (int i = 0; i < n; i++) {
// 4 随机的一个字范围内的索引
int index = r.nextInt(data.length());
// 5 根据所有区全部字符data中提取字符
code += data.charAt(index);
}
// 6 返回字符
return code;
}
}
package com.runa.object;
import java.util.ArrayList;
public class TestArrayList {
public static void main(String[] args) {
// 1 创建一个ArrayList集合对象
ArrayList list = new ArrayList<>();
list.add("java入门");
list.add("宁夏枸杞");
list.add("黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
System.out.println(list);
// 2 从集合中找出包含枸杞的数据并删除他
// 这个有缺陷
for (int i = 0; i < list.size(); i++) {
// 取出遍历到的数据
String ele = list.get(i);
//判断 这个数据中包含枸杞
if(ele.contains("枸杞")){
list.remove(ele); }
}
System.out.println(list);
}
}
package com.runa.object;
import java.util.ArrayList;
public class TestArrayList {
public static void main(String[] args) {
// 1 创建一个ArrayList集合对象
ArrayList list = new ArrayList<>();
list.add("java入门");
list.add("宁夏枸杞");
list.add("黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
System.out.println(list);
// 2 从集合中找出包含枸杞的数据并删除他
// 方式一 :每次删除一个数据后,就让i往左边退一步
for (int i = 0; i < list.size(); i++) {
// 取出遍历到的数据
String ele = list.get(i);
//判断 这个数据中包含枸杞
if(ele.contains("枸杞")){
list.remove(ele);
i--;
} }
System.out.println(list);
}
}
package com.runa.object;
import java.util.ArrayList;
public class TestArrayList {
public static void main(String[] args) {
// 1 创建一个ArrayList集合对象
ArrayList list = new ArrayList<>();
list.add("java入门");
list.add("宁夏枸杞");
list.add("黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
System.out.println(list);
// 2 从集合中找出包含枸杞的数据并删除他
// 方式二:从集合的后面倒着遍历删除
for (int i = list.size() - 1;i >= 0; i--) {
// 取出遍历到的数据
String ele = list.get(i);
//判断 这个数据中包含枸杞
if(ele.contains("枸杞")){
list.remove(ele);
}
}
System.out.println(list);
}
}
package com.runa.object;
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.runa.object;
import java.util.ArrayList;
import java.util.Scanner;
public class FoodOperator {
// 1 定义一个ArrayList集合对象,负责存储菜品对象信息
private ArrayList foodList = new ArrayList<>();
// foodList = []
// 2 上架菜品功能
public void addFood(){
//3 创建一个菜品对象,封装上架菜品信息
Food f = new Food();
// 4 录入菜品信息进去
Scanner sc = new Scanner(System.in);
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);
// 5 把菜品对象存入到集合当中去
foodList.add(f);
System.out.println("上架成功");
}
// 6 展示菜品
public void showAllFood(){
if(foodList.size() == 0){
System.out.println("什么菜品都没有,请上架");
return;
}
for (int i = 0; i < foodList.size(); i++) {
Food f = foodList.get(i);
System.out.println(f.getName());
System.out.println(f.getPrice());
System.out.println(f.getDesc());
System.out.println("----------");
}
}
// 7 负责展示的操作页面
public void start(){
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请选择功能");
System.out.println("1、 上架菜品");
System.out.println("2、 展示菜品");
System.out.println("3、 退出");
System.out.println("请选择您的操作!");
String command = sc.next();
switch (command){
case "1":
addFood();
break;
case "2":
showAllFood();
break;
case "3":
System.out.println("下次再来");
return;
default:
System.out.println("您输入的命令不存在");
}
}
}
}
package com.runa.object;
import java.util.ArrayList;
public class TestArrayList2 {
public static void main(String[] args) {
// 1 设计一个菜品类Food,负责创建菜品对象,封装菜品数据
// 2 设计菜品的操作类,FoodOperator,负责菜品的业务
FoodOperator operator = new FoodOperator();
operator.start();
}
}