包装数据
基本数据类型 | 包装数据类型(引用数据类型) |
---|---|
int | Integer |
char | Character |
double | Double |
long | Long |
short | Short |
boolean | Boolean |
byte | Byte |
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);
}
}