什么是包?
- 包是分门别类管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。
- 建包的语法表格:
package com.itheima.javabeab; public class Student{ }
在自己程序中调用其他包下的程序注意事项:
-
同一个如果在当前程序中,要调用自己所在包的其他程序,可以直接调用。(包下类可以互相调用)
- 如果当前程序中,要调用其他包下的程序,则必须在当前程序中导包,才可以访问!
导包格式:import包名.类名
- 如果当前程序中,要调用Java提供的程序,也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用。
- 如果当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问。
String
String是不可变字符。
1.String是什么,可以做什么?
- 代表字符串,可以用来创建对象封装字符串数据,并对其进行处理。
2.String类创建对象封装字符串数据的方式有几种?
- 方式一:直接使用双引号“......”
- 方式二:new String类,调用构造器初始化字符串对象。
String name="赵丽颖";
System.out.println(name);
String rs1=new String();
System.out.println();
String rs2=new String("赵露思");
System.out.println(rs2);
char [] chars={'周','也'};
String rs3=new String(chars);
System.out.println(rs3);
byte [] bytes={99,100,101};
String rs4=new String(bytes);
System.out.println(rs4);
String 提供的操作字符串数据的常用方法
String s="黑马Java";
//1.获取字符串长度
System.out.println(s.length());
//2.提取字符串中某个索引位置处的字符
char c=s.charAt(1);
System.out.println(c);
//字符串的遍历
for (int i = 0; i < s.length(); i++) {
char ch=s.charAt(i);
System.out.println(ch);
}
//3.把字符串转换成字符数组,再进行遍历
char[]chars=s.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
//4.判断字符串内容,内容一样就返回true
String s1=new String("黑马");
String s2=new String("黑马");
System.out.println(s1.equals(s2));//true
//5.忽略大小写比较字符串内容
String c1="34AeFG";
String c2="34aEfg";
System.out.println(c1.equals(c2));//false
System.out.println(c1.equalsIgnoreCase(c2));//true
//6.截取字符串内容 (包前不包后)
String s3="Java是最好的编程语言之一";
String rs=s3.substring(0,8);
System.out.println(rs);
//7.从当前索引位置一直截取到字符串的末尾
String rs2=s3.substring(5);
System.out.println(rs2);
//8.把字符串中的某个内容替换成新的内容,并返回新的字符串对象给我们
String info="这个电影简直是个垃圾,垃圾电影";
String rs3=info.replace("垃圾","**");
System.out.println(rs3);
//9.判断字符串中是否包含某个关键字
String info2="Java是做好的编程的语言之一,Java爱我,我也爱Java";
System.out.println(info2.contains("Java"));//true
System.out.println(info.contains("java"));//false
//10.判断字符串是否以某个字符开头
String rs4="张三丰";
System.out.println(rs4.startsWith("张"));//true
System.out.println(rs4.startsWith("张三"));//true
//11.把字符串按照某个指定内容分隔成多个字符串,放到一个字符串数组中返回给我们
String rs5="张无忌,周芷若,殷素素,赵敏";
String [] names=rs5.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
1.字符串的比较使用==比较好吗?为什么?什么时候使用==?
- 不好,对于字符串对象的比较,==比较的是地址,容易出业务bug
- 基本数据类型的变量或者值应该使用==比较。
2.开发中比较字符串推荐使用什么方式比较?
- 使用String提供的equals方法,他只关心字符串内容一样就返回true。
方法名 public boolean equals (Object anObject)
public boolean equalsIgnoreCase (String anotherString) ArrayList(集合的一种)
什么是集合?
- 集合是一种容器,用来装数据的,类似于数组。
有数组,为啥还学习集合?
- 数组定义完成并启动后,长度就固定了。
- 集合大小可变,开发中用的更多。
ArrayList<E>
是最多,最常见的一种集合。
构造器 | 说明 |
public ArrayList() | 创建一个空的集合对象 |
常用方法名 | 说明 |
public boolean add(E e) | 指定的元素添加到此集合的末尾 |
public void add(int index,E element) | 在此集合中的指定位置插入指定元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素个数 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
注意:
- ArrayList<E>是最多,最常见的一种集合。
- 集合都是支持泛型的。
- 集合和泛型都不支持基本数据类型,只能支持引用数据类型。(引用数据类型:类,接口,数组)
- 以后定义集合都应该是泛型。
- 集合容器中存储的是每个对象在堆内存中的地址。
如果集合一定要什么都存:ArrayList<Object> list=new ArrayList<>();