栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day08常用API(String、ArrayList)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day08常用API(String、ArrayList)

常用API(String、ArrayList
  • String
    • String类概述
    • String类创建对象的2种方式
    • String类常见面试题
    • String类常用API-字符串内容比较
    • String类常用API-遍历、替换、截取、分割操作![请添加图片描述](https://img-blog.csdnimg.cn/a627f1d671274d15b2118a49ce1ff76d.PNG?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2psMjAwMjEy,size_20,color_FFFFFF,t_70,g_se,x_16)
    • String案例操作
  • ArrayList
    • 集合概述
    • ArrayList集合快速入门
    • ArrayList对于泛型的支持
    • ArrayList常用API、遍历
    • ArrayList集合案例:遍历并删除元素
    • ArrayList集合案例:存储自定义类型的对象
    • ArrayList集合案例:元素搜索





String String类概述

package com.itheima.string;


public class StringDemo1 {
    public static void main(String[] args) {
        String name = "传智";
        name += "教育"; // name = name + "教育"
        name += "中心";
        System.out.println(name);
    }
}
传智教育中心



String类创建对象的2种方式

package com.itheima.string;


public class StringDemo2 {
    public static void main(String[] args) {
        // 方式一:直接使用双引号得到字符串对象
        String name = "我爱你中国";
        System.out.println(name);

        // 方式二:
        // 1、public String(): 创建一个空白字符串对象,不含有任何内容 (几乎不用)
        String s1 = new String(); // s1 = ""
        System.out.println(s1);

        // 2、public String(String): 根据传入的字符串内容,来创建字符串对象(几乎不用)
        String s2 = new String("我是中国人");
        System.out.println(s2);

        // 3、public String(char[] c): 根据字符数组的内容,来创建字符串对象
        char[] chars = {'a' , 'b' , '中', '国'};
        String s3 = new String(chars);
        System.out.println(s3);

        // 4、public String(byte[] b):  根据字节数组的内容,来创建字符串对象
        byte[] bytes = {97, 98, 99, 65, 66, 67};
        String s4 = new String(bytes);
        System.out.println(s4);

        System.out.println("---------------------------------------");
        String ss1 = "abc";
        String ss2 = "abc";
        System.out.println(ss1 == ss2);

        char[] chars1 = {'a' , 'b' , 'c'};
        String ss3 = new String(chars1);
        String ss4 = new String(chars1);
        System.out.println(ss3 == ss4);
    }
}
我爱你中国

我是中国人
ab中国
abcABC
---------------------------------------
true
false




String类常见面试题
package com.itheima.string;

public class StringDemo3 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "a" + "b" + "c";
        System.out.println(s1 == s2);
    }
}


String类常用API-字符串内容比较

package com.itheima.string;

import java.util.Scanner;

public class StringAPIEqualsDemo4 {
    public static void main(String[] args) {
        // 1、正确登录名和密码
        String okName = "itheima";
        String okPassword = "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 ) && okPassword.equals(password)){
            System.out.println("登录成功!");
        }else {
            System.out.println("用户名或者密码错误了!");
        }

        // 4、忽略大小写比较内容的Api: 一般用于比较验证码这样的业务逻辑
        String sysCode = "23AdFh";
        String code1 = "23aDfH";
        System.out.println(sysCode.equals(code1)); // false
        System.out.println(sysCode.equalsIgnoreCase(code1)); // true
    }
}
登录名称:
itheima
登录密码:
123456
登录成功!
false
true


String类常用API-遍历、替换、截取、分割操作
package com.itheima.string;


public class StringAPIOtherDemo5 {
    public static void main(String[] args) {
        // 1、public int length(): 获取字符串的长度
        String name = "我爱你中国love";
        System.out.println(name.length());

        // 2、public char charAt(int index): 获取某个索引位置处的字符
        char c = name.charAt(1);
        System.out.println(c);

        System.out.println("------------遍历字符串中的每个字符--------------");
        for (int i = 0; i < name.length(); i++) {
            char ch = name.charAt(i);
            System.out.println(ch);
        }
        // 3、public char[] toCharArray():: 把字符串转换成字符数组
        char[] chars = name.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char ch = chars[i];
            System.out.println(ch);
        }

        // 4、public String substring(int beginIndex, int endIndex) :截取内容,(包前不包后的)
        String name2 = "Java是最厉害的编程语言!";
        //              01234567   89
        String rs = name2.substring(0, 9);
        System.out.println(rs);
        String rs1 = name2.substring(4, 9);
        System.out.println(rs1);

        // 5、public String substring(int beginIndex):从当前索引一直截取到末尾
        String rs2 = name2.substring(4);
        System.out.println(rs2);

        // 6、public String replace(CharSequence target, CharSequence replacement)
        String name3 = "金三胖是最厉害的80后,金三胖棒棒的!我好爱金三胖";
        String rs3 = name3.replace("金三胖", "***");
        System.out.println(rs3);

        // 7、public boolean contains(CharSequence s)
        System.out.println(name3.contains("金三胖")); // true
        System.out.println(name3.contains("金二胖")); // false

        // 8、public boolean startsWith(String prefix)
        System.out.println(name3.startsWith("金三胖"));
        System.out.println(name3.startsWith("金三胖是最厉害的"));
        System.out.println(name3.startsWith("金三胖是最厉害的2"));

        // 9、public String[] split(String s): 按照某个内容把字符串分割成字符串数组返回。
        String name4 = "王宝强,贾乃亮,陈羽凡";
        String[] names = name4.split(",");
        for (int i = 0; i < names.length; i++) {
            System.out.println("选择了:" + names[i]);
        }
    }
}
9
爱
------------遍历字符串中的每个字符--------------
我
爱
你
中
国
l
o
v
e
我
爱
你
中
国
l
o
v
e
Java是最厉害的
是最厉害的
是最厉害的编程语言!
***是最厉害的80后,***棒棒的!我好爱***
true
false
true
true
false
选择了:王宝强
选择了:贾乃亮
选择了:陈羽凡
String案例操作

package com.itheima.string;

import java.util.Random;


public class StringExec6 {
    public static void main(String[] args) {
        // 1、定义可能出现的字符信息
        String datas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        
        // 2、循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
        String code = "";
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            // 随机一个索引
            int index = r.nextInt(datas.length());
            char c = datas.charAt(index);
            code += c;
        }

        // 3、输出字符串变量即可
        System.out.println(code);
    }
}

package com.itheima.string;

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


public class StringExec7 {
    public static void main(String[] args) {
        // 1、定义正确的登录名称和密码
        String okLoginName = "admin";
        String okPassword = "itheima";

        // 2、定义一个循环,循环3次,让用户登录
        Scanner sc = new Scanner(System.in);
        for (int i = 1; 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 com.itheima.string;

import java.util.Scanner;


public class StringExec8 {
    public static void main(String[] args) {
        // 1、键盘录入一个手机号码
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入您的手机号码:");
        String tel = sc.next();

        // 2、截取号码的前三位,后四位    18665666520
        String before = tel.substring(0, 3); // 0  1  2
        String after = tel.substring(7);  // 从索引7开始截取到手机号码的末尾

        String s = before + "****" + after;
        System.out.println(s);
    }
}
ArrayList 集合概述




ArrayList集合快速入门

package com.itheima.arraylist;

import java.util.ArrayList;


public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 1、创建ArrayList集合的对象
        ArrayList list = new ArrayList();

        // 2、添加数据
        list.add("Java");
        list.add("Java");
        list.add("MySQL");
        list.add("黑马");
        list.add(23);
        list.add(23.5);
        list.add(false);
        System.out.println(list.add('中'));
        System.out.println(list);

        // 3、给指定索引位置插入元素
        list.add(1, "赵敏");
        System.out.println(list);
    }
}
true
[Java, Java, MySQL, 黑马, 23, 23.5, false, 中]
[Java, 赵敏, Java, MySQL, 黑马, 23, 23.5, false, 中]

ArrayList对于泛型的支持

package com.itheima.arraylist;

import java.util.ArrayList;


public class ArrayListDemo2 {
    public static void main(String[] args) {
        // ArrayList list = new ArrayList();
        ArrayList list = new ArrayList<>(); // JDK 1.7开始,泛型后面的类型申明可以不写
        list.add("Java");
        list.add("MySQL");
//        list.add(23);
//        list.add(23.5);

        ArrayList list2 = new ArrayList<>();
        list2.add(23);
        list2.add(100);
        // list2.add("Java");


    }
}

ArrayList常用API、遍历

package com.itheima.arraylist;

import java.util.ArrayList;


public class ArrayListDemo3 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Java");
        list.add("Java");
        list.add("MySQL");
        list.add("MyBatis");
        list.add("HTML");

        // 1、public E get(int index):获取某个索引位置处的元素值
        String e = list.get(3);
        System.out.println(e);

        // 2、public int size():获取集合的大小(元素个数)
        System.out.println(list.size());

        // 3、完成集合的遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        // 4、public E remove(int index):删除某个索引位置处的元素值,并返回被删除的元素值
        System.out.println(list); // [Java, Java, MySQL, MyBatis, HTML]
        String e2 = list.remove(2);
        System.out.println(e2);
        System.out.println(list);

        // 5、public boolean remove(Object o):直接删除元素值,删除成功返回true,删除失败返回false
        System.out.println(list.remove("MyBatis"));
        System.out.println(list);

        ArrayList list1 = new ArrayList<>();
        list1.add("Java");
        list1.add("王宝强");
        list1.add("Java");
        list1.add("MySQL");
        System.out.println(list1);
        // 只会删除第一次出现的这个元素值,后面的不删除
        System.out.println(list1.remove("Java"));
        System.out.println(list1);


        // 6、public E set(int index,E element):修改某个索引位置处的元素值。
        String e3 = list1.set(0 , "贾乃亮");
        System.out.println(e3);
        System.out.println(list1);


    }
}
MyBatis
5
Java
Java
MySQL
MyBatis
HTML
[Java, Java, MySQL, MyBatis, HTML]
MySQL
[Java, Java, MyBatis, HTML]
true
[Java, Java, HTML]
[Java, 王宝强, Java, MySQL]
true
[王宝强, Java, MySQL]
王宝强
[贾乃亮, Java, MySQL]
ArrayList集合案例:遍历并删除元素

package com.itheima.arraylist;

import java.util.ArrayList;


public class ArrayListTest4 {
    public static void main(String[] args) {
        // 1、创建集合对象:存入学生成绩(98,77,66,89,79,50,100)
        ArrayList 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);
        // [98, 77, 66, 89, 79, 50, 100]
        // [98, 66, 89, 50, 100]
        //                   i

        // 1、遍历集合中的每个元素
//        for (int i = 0; i < scores.size(); i++) {
//            int score = scores.get(i);
//            // 2、判断这个分数是否低于80分,如果低于则从集合中删除它
//            if(score < 80){
//                scores.remove(i);
//            }
//        }
//        System.out.println(scores);


        // [98, 77, 66, 89, 79, 50, 100]
        // [98,  89, 100]
        //   i

        for (int i = scores.size() - 1; i >= 0 ; i--) {
            int score = scores.get(i);
            // 2、判断这个分数是否低于80分,如果低于则从集合中删除它
            if(score < 80){
                scores.remove(i);
            }
        }
        System.out.println(scores);
    }
}
[98, 77, 66, 89, 79, 50, 100]
[98, 89, 100]

ArrayList集合案例:存储自定义类型的对象

package com.itheima.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;
    }
}
package com.itheima.arraylist;

import java.util.ArrayList;


public class ArrayListTest5{
    public static void main(String[] args) {
        // 1、定义一个电影类:Movie
        // 2、定义一个ArrayList集合存储这些影片对象。
        ArrayList movies = new ArrayList<>();

        // 3、创建影片对象封装电影数据,把对象加入到集合中去。
//        Movie m1 = new Movie("《肖生克的救赎》", 9.7 , "罗宾斯");
//        movies.add(m1);
        movies.add(new Movie("《肖生克的救赎》", 9.7 , "罗宾斯"));
        movies.add(new Movie("《霸王别姬》", 9.6 , "张国荣、张丰毅"));
        movies.add(new Movie("《阿甘正传》", 9.5 , "汤姆.汉克斯"));

        System.out.println(movies);

        // 4、遍历集合中的影片对象并展示出来
        for (int i = 0; i < movies.size(); i++) {
            Movie movie = movies.get(i);
            System.out.println("片名:" + movie.getName());
            System.out.println("评分:" + movie.getScore());
            System.out.println("主演:" + movie.getActor());
        }
    }
}
片名:《肖生克的救赎》
评分:9.7
主演:罗宾斯
片名:《霸王别姬》
评分:9.6
主演:张国荣、张丰毅
片名:《阿甘正传》
评分:9.5
主演:汤姆.汉克斯

ArrayList集合案例:元素搜索

package com.itheima.arraylist;

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


public class ArrayListTest6 {
    public static void main(String[] args) {
        // 1、定义一个学生类,后期用于创建对象封装学生数据
        // 2、定义一个集合对象用于装学生对象
        ArrayList students = new ArrayList<>();
        students.add(new Student("20180302","叶孤城",23,"护理一班"));
        students.add(new Student("20180303","东方不败",23,"推拿二班"));
        students.add(new Student( "20180304","西门吹雪",26,"中药学四班"));
        students.add(new Student( "20180305","梅超风",26,"神经科2班"));
        System.out.println("学号tt名称t年龄tt班级");

        // 3、遍历集合中的每个学生对象并展示其数据
        for (int i = 0; i < students.size(); i++) {
            Student s = students.get(i);
            System.out.println(s.getStudyId() +"tt" + s.getName()+"tt"
                    + s.getAge() +"tt" + s.getClassName());
        }

        // 4、让用户不断的输入学号,可以搜索出该学生对象信息并展示出来(独立成方法)
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请您输入要查询的学生的学号:");
            String id = sc.next();
            Student s = getStudentByStudyId(students, id);
            // 判断学号是否存在
            if(s == null){
                System.out.println("查无此人!");
            }else {
                // 找到了该学生对象了,信息如下
                System.out.println(s.getStudyId() +"tt" + s.getName()+"tt"
                        + s.getAge() +"tt" + s.getClassName());
            }
        }
    }

    
    public static Student getStudentByStudyId(ArrayList students, String studyId){
        for (int i = 0; i < students.size(); i++) {
            Student s = students.get(i);
            if(s.getStudyId().equals(studyId)){
                return s;
            }
        }
        return null; // 查无此学号!
    }
}
package com.itheima.arraylist;

public class Student {
    private String studyId;
    private String name;
    private int age;
    private String className;

    public Student() {
    }

    public Student(String studyId, String name, int age, String className) {
        this.studyId = studyId;
        this.name = name;
        this.age = age;
        this.className = className;
    }

    public String getStudyId() {
        return studyId;
    }

    public void setStudyId(String studyId) {
        this.studyId = studyId;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }
}
学号		名称	年龄		班级
20180302		叶孤城		23		护理一班
20180303		东方不败		23		推拿二班
20180304		西门吹雪		26		中药学四班
20180305		梅超风		26		神经科2班
请您输入要查询的学生的学号:
2018302
查无此人!
请您输入要查询的学生的学号:
20180302
20180302		叶孤城		23		护理一班
请您输入要查询的学生的学号:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号