Java day_08 包装数据类型、String+习题

包装数据

基本数据类型包装数据类型(引用数据类型)
intInteger
charCharacter
doubleDouble
longLong
shortShort
booleanBoolean
byteByte

Student类

package Day.day_08;

public class Student {
    private Integer id;
    private String name;
    private Double salary;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public Double getSalary() {
        return salary;
    }

    public void setSalary(Double salary) {
        this.salary = salary;
    }
}

Test

package Day.day_08;

import java.util.ArrayList;

public class Demo01 {
    public static void main(String[] args) {
        test1(); //装包与拆包
        test2(); //默认值
    }

    public static void test1() {
        ArrayList<Integer> integerArrayList = new ArrayList<>();
        integerArrayList.add(2);
        integerArrayList.add(12);

        for (Integer integer : integerArrayList) {
            System.out.println(integer + " ");
        }

//        int 类型最大值
        System.out.println(Integer.MAX_VALUE);

//        自动拆箱/装箱
        //自动装箱,等价于Integer integer = new Integer(4);
        Integer integer = 4;
        int i = integer.intValue();
        int num = 4;
        num = num + 2;
        //自动拆箱 integer.intValue(),integer.intValue()+2 = 6
        integer = integer + 2;
//        得到int类型的6有赋值给Integer类型.自动装箱
        System.out.println(integer);
    }

    public static void test2() {
        Student studnet = new Student();//没有给id赋值,int默认值是0
        System.out.println(studnet.getId());// 0
        System.out.println(studnet.getName());// null
        studnet.setId(0);// 设置id值是0
        studnet.setName("");
        System.out.println(studnet.getId());// 0
        System.out.println(studnet.getName());// ""
    }
}

String

package Day.day_08;

/*
1."=="操作符的作用:
用于基本数据类型的比较,判断引用是否指向堆内存的同一块地址。
2.equals的作用:
用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型
3.indexOf() 方法有以下四种形式:
    public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
4.charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
5.trim() 方法用于删除字符串的头尾空白符。
6.lastIndexOf() 方法有以下四种形式:
    public int lastIndexOf(int ch): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    public int lastIndexOf(int ch, int fromIndex): 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索,如果此字符串中没有这样的字符,则返回 -1。
    public int lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    public int lastIndexOf(String str, int fromIndex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索,如果此字符串中没有这样的字符,则返回 -1。
7.split() 方法根据匹配给定的正则表达式来拆分字符串。
8.toCharArray() 方法将字符串转换为字符数组。
9.contains()当且仅当此字符串包含指定的char值序列时,返回true。
10.startsWith() 方法用于检测字符串是否以指定的前缀开始。
11.replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。
12.endsWith() 方法用于测试字符串是否以指定的后缀结束。
13.isEmpty() 当且仅当 length() 为 0 时返回 true。返回:如果 length() 为 0,则返回 true;否则返回 false。
 */
public class Demo02 {
    public static void main(String[] args) {
        test1(); //==
        test2(); // equals()/equalsIgnoreCase()
        test3(); //String toCharArray
        test4(); //常用操作
        test5(); //强制类型转换Char->String
        test6(); //String replace()
        test7(); //String split()
        test8(); //String substring(参数1,参数2)
        test9(); //trim()
    }

    public static void test1() {
        // 如果常量池中没有"abc"这个字符串,就在常量池中new一个字符串
        String str1 = "abc";
        String str2 = new String("abc");
        //在常量池中有"abc"这样一个字符串,就直接指向常量池中已有的字符串
        String str3 = "abc";
        System.out.println(str1 == str2);//false
        System.out.println(str1 == str3);//true
        System.out.println(str2 == str3);//false
    }

    public static void test2() {
        String str1 = new String("abc");
        String str2 = new String("Abc");
        System.out.println(str1 == str2);// false
        System.out.println(str1.equals(str2));// false
        System.out.println(str1.equalsIgnoreCase(str2));// true(equalsIgnoreCase()忽略大小写)
    }

    public static void test3() {
        String str = "java AndroidA";
        System.out.println(str.length());
        char[] array = str.toCharArray();
        char ch = str.charAt(5);
        System.out.println(ch);// A
        System.out.println(str.indexOf('A'));// 5
        //如果为出现改字符,则返回-1
        System.out.println(str.indexOf('X'));// -1
        System.out.println(str.indexOf('A', 6));// 12
        System.out.println(str.indexOf("And"));// 5
        System.out.println(str.lastIndexOf('A'));// 12
    }

    public static void test4() {
        String str = "java AndroidA";
        System.out.println(str.contains("And"));//true
        System.out.println(str.startsWith("java"));//true
        System.out.println(str.startsWith("And", 5));//true
        System.out.println(str.endsWith("oidA"));//true
        System.out.println(str.isEmpty());//false
        System.out.println("".isEmpty());//true
    }

    public static void test5() {
        //String str = "java And";
        char[] array = {'j', 'a', 'v', 'a', ' ', 'A', 'n', 'd'};
        String str = new String(array);
        System.out.println(str);
        char[] charArray = str.toCharArray();
        for (char c : charArray) {
            System.out.print(c + " ");
        }
    }

    public static void test6() {
        String str = "java AndroidA";
        String newStr = str.replace('A', 'B');
        System.out.println(str);//java AndroidA
        System.out.println(newStr);//java BndroidB
    }

    public static void test7() {
        String str = "java AndroidA Python";
        String[] array = str.split(" ");
        //["java","AndroidA","Python"]
        for (String string : array) {
            System.out.println(string);
        }
    }

    public static void test8(){
        String str = "java AndroidA";
        System.out.println(str.substring(5));//AndroidA
        System.out.println(str.substring(5, 8));//And
    }

    public static void test9(){
        String str = "   java AndroidA   ";
        System.out.println(str);//   java AndroidA  
        System.out.println(str.trim());//java AndroidA
    }
}

1.Trim
String trim() 返回一个字符串,它的值是字符串,任何前导和尾随空格删除。
char charAt(int index) 返回指定索引的 char价值。

package Day.day_08.WorkDemo01;
/*
    实现trim方法
 */
public class DemoTrim {
    public static void main(String[] args) {
        System.out.println(trim("------"));
        System.out.println(trim("---java Android---"));
        System.out.println(trim("---java Android"));
    }
    public static String trim(String str){
        int startIndex=0;
        int endIndex=str.length()-1;

        while((startIndex<=endIndex)&&(str.charAt(startIndex)=='-')){
            startIndex++;
        }

        while((endIndex>=startIndex)&&(str.charAt(endIndex)=='-')){
            endIndex--;
        }

        String result=str.substring(startIndex,endIndex+1);

        return result;
    }
}

2.upper and lower

package Day.day_08.WorkDemo02;
/*
    实现把“I Love Java!”的字符全部转换为小写并输出到控制台。
 */
public class WorkDemo02 {
    public static void main(String[] args) {
        UpperToLower("I Love Java!");
    }

    private static void UpperToLower(String str) {
        char[] array=str.toCharArray();
        for (int i = 0; i < array.length; i++) {
            if (array[i]>='A'&&array[i]<='Z'){
                array[i]=(char)(array[i]+32);
            }
        }
        String s=new String(array);
        System.out.println(s);
    }

}

3.Split

package Day.day_08.WorkDemo03;
/*
使用String类中的split()函数,统计出“this is my homework! I must finish it!”中单词的个数。
(注意:单词之间用一个空格来分隔。)
 */
public class StringSplit {
    public static void main(String[] args) {
        SpringSplit();
    }

    private static void SpringSplit() {
        String str="this is my homework! I must finish it!";
        String[] array=str.split(" ");
        System.out.println(array.length);

        int count=0;
        for (String s : array) {
            count++;
        }
        System.out.println(count);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值