一:包
1.包是用来分门别类管理各种不同程序的 类似于文件夹 建包有利于程序的的管理和维护
2.建包的语法格式:package 包名;
3.如果当前程序中 要调用之间所在包下的其他程序 可以直接调用
4.如果当前程序中 要调用其他包下的程序 则必须先在当前程序中导包 才可以访问 导入格式:import 包名.类名;
5.如果当前程序中 要调用Java提供的程序 也需要先导包才可以使用 但Java.lang包下的程序是不需要我们导包的 可以直接使用
6.如果当前程序中 要调用多个不同包下的程序 而这些程序名又刚好相同 此时默认只能导入一个程序 另一个程序必须要带包名访问
二:String
1.String代表字符串 可以用来创建对象封装字符串数据 并对其进行处理
2.String类创建对象封装字符串数据的方式
方式一:直接使用双引号"……"
String name = "昖子";
System.out.println(name);
方式二:new String类 调用构造器初始化字符串对象(共有四种)
String rs1 = new String();
System.out.println(rs1);
String rs2 = new String("好好好");
System.out.println(rs2);
char[] chars = {'a','好','啊'};
String rs3 = new String(chars);
System.out.println(rs3);
byte[] bytes = {97,98,99};
String rs4 = new String(bytes);
System.out.println(rs4);
3.String的方法
方法一:查看字符串的长度
String s = "铃芽之旅";
System.out.println(s.length());
方法二:查看字符串中索引处的字符
char a = s.charAt(2);
System.out.println(a);
可以以此来遍历字符串
char a = s.charAt(2);
System.out.println(a);
for (int i = 0; i < s.length(); i++) {
char b = s.charAt(i);
System.out.println(b);
}
方法三:把字符串转换为字符串数组再进行遍历
char[] chars = s.toCharArray();
for (int i = 0; i < s.length(); i++) {
System.out.println(chars[i]);
}
方法四:细致比较字符串是否相同 相同返回true 不同返回false 不能用==来进行比较因为它比较的会是储存字符串的地址是否相同
String c = new String("a7");
String d = new String("a7");
System.out.println(c == d);
System.out.println(c.equals(d));
方法五:粗略比较字符串是否相同 在此方法下字母的大小写不影响判断
String e = new String("ak47");
String f = new String("AK47");
System.out.println(e.equals(f));
System.out.println(e.equalsIgnoreCase(f));
方法六:判断字符串中是否包含某些关键字
String codes = "驴得水拍的真抽象看不明白";
System.out.println(codes.contains("抽象"));
System.out.println(codes.contains("不行"));
方法七:判断字符串是不是以某个字符串开头
String name = "不知火舞";
System.out.println(name.startsWith("不知"));
System.out.println(name.startsWith("不知好歹"));
方法八:截取字符串任意区间内的所有内容(包前不包后)
String character = "你的名字拍的相当的好";
String rs1 = character.substring(0, 4);
System.out.println(rs1);
方法九:从字符串的索引处开始一直截取到字符串末尾
String character = "你的名字拍的相当的好";
String rs2 = character.substring(4);
System.out.println(rs2);
方法十:替换字符串中的内容为新内容并将替换后的字符串返回给我们
String code = "天气之子拍的真垃圾,垃圾电影!";
String rs3 = code.replace("垃圾", "**");
System.out.println(rs3);
方法十一:将字符串按照某个指定内容分为多个字符串 再将其放到字符串数组中返回给我们
String rs4 = "周杰伦,黑屋乐队,许嵩,伍佰";
String[] names = rs4.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
4.String使用时的注意事项
Sting是不可变字符串对象:每次试图改变字符串对象实际上是新产生了新的字符串对象了 变量每次都是指向了新的字符串对象 之前的字符串对象的内容确实是没有改变的 因此说String的对象是不变的
只要是以"…"方式写出的字符串对象 都会储存到字符串常量池中 且相同内容的字符串只储存一份
但通过new方式创建的字符串对象 每new一次都会产生一个新的对象放在堆内存中
三:Arraylist
1. 集合是一种容器它的特点是大小可变
2. Arraylist是集合中最常用的一种 它是泛型类 可以约束储存的数据类型 可以创建对象调用无参数构造器初始化对象:public Arraylist(); 也可以调用相应的增删改查数据的方法
3.Arraylis的方法
方法一:创建一个Arraylist的集合对象
创建一个储存特定数据类型元素的Arraylist的集合对象 当添加其他数据类型的元素时会报错
方法二:往集合某个索引位置处添加一个数据
方法三:根据索引获取集合中某个索引位置处的值
方法四:获取集合的大小(返回集合中储存元素的个数)
方法五:根据索引删除集合中的某个元素值,会返回被删除的元素值给我们
方法六:直接删除某个元素值,删除成功直接返回true,反之返回false
注意:若有重复的数据则默认删除第一个出现的数据
方法七: 修改某个索引位置处的数据,修改后会返回原来的值给我们
4.Arraylist的实用案例
package API;
import java.util.ArrayList;
public class Arraylistexample1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList();
list.add("Java入门");
list.add("宁夏枸杞");
list.add("黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
System.out.println(list);
// for (int i = 0; i < list.size(); i++) {
// String ele = list.get(i);
// if (ele.contains("枸杞")){
// list.remove(ele);
// i--;
// }
// }
for (int i = list.size() - 1; i >= 0 ; i--) {
String ele = list.get(i);
if (ele.contains("枸杞")){
list.remove(ele);
}
}
System.out.println(list);
}
}
5.Arraylist的组合案例
package API;
public class Food {
private String name;
private double price;
private String desc;
public Food() {
}
public Food(String name, double price, String desc) {
this.name = name;
this.price = price;
this.desc = desc;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package API;
import java.util.ArrayList;
import java.util.Scanner;
public class Foodorerator {
ArrayList<Food> foodlist =new ArrayList();
Scanner sc = new Scanner(System.in);
public void foodadd(){
Food f = new Food();
System.out.println("请输入菜品的名字");
String name = sc.next();
f.setName(name);
System.out.println("请输入菜品的价格");
double price = sc.nextDouble();
f.setPrice(price);
System.out.println("请输入菜品的其他信息");
String desc = sc.next();
f.setDesc(desc);
foodlist.add(f);
System.out.println("上架成功!");
}
public void Allfoodview(){
for (int i = 0; i < foodlist.size(); i++) {
Food f = foodlist.get(i);
System.out.println(f.getName());
System.out.println(f.getPrice());
System.out.println(f.getDesc());
System.out.println("------------");
}
}
public void start(){
while (true){
Food f = new Food();
System.out.println("输入1添加菜品输入2查看菜品输入3退出");
System.out.println("请输入想要进行的操作");
String arc =sc.next();
switch (arc) {
case "1":
foodadd();
break;
case "2":
Allfoodview();
break;
case "3":
System.out.println("欢迎下次再来!");
return;
default:
System.out.println("你输入的数据异常请重新输入!");
}
}
}
}
package API;
public class Foodapply {
public static void main(String[] args) {
Foodorerator orerator = new Foodorerator();
orerator.start();
}
}