一、String:字符串类型,可以定义字符串变量指向字符串对象。
String变量每次的修改其实都是产生并指向新的字符串对象,原来的字符串对象是没有改变的,所以称为不可变字符串。
1.String创建对象的两种方式。
方式一: String = "传智教育";
方式二: public String() 通过String类的构造器创建对象。
2.String常见题
字符串内容比较,推荐使用String类提供的“equals”比较,只关心内容一样即可
代码如下
package string;
import java.util.Scanner;
public class StringDemo {
public static void main(String[] args) {
//1.正确的登录名称和密码
String okName = "破落天堂";
String okPsaaword = "123456";
//2.请您输入登录名称和密码
Scanner sc = new Scanner(System.in);
System.out.println("登录名称:");
String name = sc.next();
System.out.println("登陆密码:");
String Password = sc.next();
//3.判断用户输入的和正确的内容是否相等
if (okName.equals(name) && okPsaaword.equals(Password)){
System.out.println("登陆成功");
}else {
System.out.println("登陆失败,用户名或者密码错误!");
}
//4.忽略大小写比较内容的API,一般用于比较验证码。
String sysCode = "Abc12";
String Code1 = "aBC12";
System.out.println(sysCode.equals(Code1));
System.out.println(sysCode.equalsIgnoreCase(Code1));
}
}
3.String案例:验证码,登录,隐私号码
代码如下:
package string;
//使用String完成随机生成5位的验证码
import java.util.Random;
public class String1 {
public static void main(String[] args) {
//1.定义可能出现的字符信息
String datas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
//2.循环五次,每次生成一个随即索引,提取对应的字符连接起来即可
String code = "";
Random r = new Random();
for (int i = 0; i < 5; i++) {
//随机一个索引
int index = r.nextInt(datas.length());
char c = datas.charAt(index);//调用API
code += c;
}
//3.输出字符串
System.out.println(code);
}
}
package string;
import java.util.Scanner;
public class String2 {
public static void main(String[] args) {
//1.定义正确的登录名称和密码
String okLoginName = "admin";
String okPassword = "123456";
//2.定义一个循环,循环三次,让用户登录
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();
//3.判断登录是否成功
if (okLoginName.equals(loginName)){
//4.判断密码是否正确
if (okPassword.equals(password)){
System.out.println("登陆成功!");
break;
}else {
System.out.println("密码错误!您还剩余" + (3 - i) + "次机会登录!");
}
}else {
System.out.println("登录名称错误!您还剩余" + (3 - i) + "次机会登录!");
}
}
}
}
package string;
//手机号码屏蔽 181****3400
import java.util.Scanner;
public class String3 {
public static void main(String[] args) {
//1.键盘录入手机号码
Scanner sc = new Scanner(System.in);
System.out.println("请您输入手机号码:");
String tel = sc.next();
//2.截取号码前三位,后四位
String before = tel.substring(0,3);//0 1 2
String after = tel.substring(7);//7开始到手机号码末尾
String s = before + "****" + after;
System.out.println(s);
}
}
二、Arraylist遍历删除元素值
代码如下
package arraylist;
//目标:学习遍历并删除元素的正确方案
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[] args) {
//1.创建一个Arraylist集合存储一个班级学生的成绩
ArrayList<integer> scores = new ArrayList<>();
scores.add(98);
scores.add(77);
scores.add(66);
scores.add(89);
scores.add(79);
scores.add(50);
scores.add(100);
System.out.println(scores);
//2.把低于80分的成绩从集合中删掉
/**
* 第一次出现BUG,数列中数字会向前移,导致当前移动的数字跳位,失去判断条件
*
* 方案一: 添加 i--;
* 方案二: for (int i = scores.size() - 1; i >= 0 ; i--)从后往前遍历,不会浪费资源。
*/
for (int i = 0; i < scores.size(); i++) {
int score = scores.get(i);
if (score < 80){
//分数删除
scores.remove(i);
i--;//删除成功后,i退一步,保证回到这个位置,不会跳过数据
}
}
System.out.println(scores);
}
}
package arraylist;
import java.util.ArrayList;
/**
* 案例:集合存储自定义元素并遍历。
* 需求:定义电影类(名称,分值,演员),创建三个电影对象,存入集合并遍历。
* 《肖申克的救赎》,9.7,罗宾斯
* 《霸王别姬》,9.6,张国荣,张丰毅
* 《阿甘正传》,9.5,汤姆·汉克斯
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
//目标:理解Arraylist集合存储自定义类型的对象。
//1.定义电影类
//2.创建三个电影对象
Movie m1 = new Movie("《肖申克的救赎》",9.7,"罗宾斯");
Movie m2 = new Movie("《霸王别姬》",9.6,"张国荣,张丰毅");
Movie m3 = new Movie("《阿甘正传》",9.5,"汤姆·汉克斯");
//3.创建一个电影类型的Arraylist集合,存储散步电影。
ArrayList<movie> movies = new ArrayList<>();
movies.add(m1);
movies.add(m2);
movies.add(m3);
System.out.println(movies);//生成三部电影对象的地址
//4.遍历电影类型中的每个电影对象,访问信息即可
for (int i = 0; i < movies.size(); i++) {
//i 0 1 2
Movie m = movies.get(i);
System.out.println("电影名称" + m.getName());
System.out.println("电影评分" + m.getScore());
System.out.println("电影演员" + m.getActor());
}
}
}
package arraylist;
public class Movie {
private String name;
private double score;
private String actor;
public Movie() {
}
public Movie(String name, double score, String actor) {
this.name = name;
this.score = score;
this.actor = actor;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
```</movie></integer>
标签:总结,4.12,String,System,scores,println,public,out
From: https://www.cnblogs.com/XiMenXve/p/17310623.html