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();
}
}