d7(76-83)-勇敢开始Java,咖啡拯救人生

本文介绍了Java编程中的包的概念,如何在包间导入和访问类,以及String类的基础使用,包括字符串创建、操作和ArrayList集合的增删改查。
摘要由CSDN通过智能技术生成

常用API应用程序接口

常用API应用程序接口

String字符串处理

注意事项

ArrayList集合


管理不同程序,类似文件夹,建包有利于程序的管理和维护

package cn.ptz.javabean;
public class Student{

}

1.同一包下的程序,可以直接访问

例如要创建新的对象时,直接        类名 对象名 = new 构造器();

2.访问其他包下的程序,必须导包才可以访问

导包 import 包名.类名

直接用程序的时候,IDEA可以自动导入

3.调用Java提供的程序,也要导包

lang包不用导

4.访问多个其他包下的程序,且程序同名,默认只能导入一个程序,另一个程序须带包名、类名访问

包名.类名 对象名 = new 包名.类名();

String字符串处理
package cn.ptz.String;

import java.sql.SQLOutput;

public class StringDemo {
    public static void main(String[] args) {
        // 得到字符串对象的方法
        // 1.直接得到字符串对象,封装字符串数据
        String name = "ygpt";
        System.out.println(name);

        // 2.new String创造字符串对象,调用构造器初始化字符串
        String rs1 = new String();

        String rs2 = new String("ygpt");

        char[] chars = {'y','g','p','t'};
        String rs3 = new String(chars);

        byte[] bytes = {97,98,99}; // abc
        String rs4 = new String(bytes);

        // 处理字符串的常用方法
        String s = "ygpt";
        System.out.println(s.length()); // 获取字符串长度

        char c = s.charAt(2); // 提取字符串中某个索引位置处的字符
        System.out.println(c);

        // 字符串的遍历
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            System.out.println(ch);
        }

        // 把字符串转换成字符数组再遍历
        char[] chars1 = s.toCharArray();
        for (int i = 0; i < chars1.length; i++) {
            System.out.println(chars1[i]);
        }

        // 判断字符内容,一样返回true
        String ss1 = new String("ygptptz");
        String ss2 = new String("ygptptz");
        System.out.println(ss1 == ss2); // false 比较的是ss1和ss2储存的地址
        System.out.println(ss1.equals(ss2)); // true 比较的是内容

        // 忽略大小写笔记字符串内容 通常用于验证码
        String c1 = "YgptPtz";
        String c2 = "ygptptz";
        System.out.println(c1.equals(c2)); // false
        System.out.println(c1.equalsIgnoreCase(c2)); // true 忽略大小写比较

        // 截取字符串内容
        String s3 = "ygpt葡萄籽";
        String rs =s3.substring(0,4); // ygpt 索引包前不包后
        System.out.println(rs);

        // 从当前索引位置截取到末尾
        String res = s3.substring(4);
        System.out.println(res); // 葡萄籽

        // 把字符串中的内容替换成新内容,并返回新的字符串对象
        String info = "只能说葡萄不能说葡萄籽";
        String res1 = info.replace("葡萄籽","**");
        System.out.println(res1);

        // 判断字符串中是否包含某关键字,包含则返回true
        System.out.println(info.contains("葡萄籽")); // 精准匹配,区分大小写

        // 判断字符串是否以某个字符串开头 可以用来判断姓氏
        String info2 = "葡萄籽来自葡萄";
        System.out.println(info2.startsWith("葡萄"));
        System.out.println(info2.startsWith("葡萄皮"));

        // 分割字符串,按指定内容分割成多个字符串,放到一个字符串数组中返回
        String info3 = "葡萄,葡萄籽,葡萄皮";
        String[] putaos = info3.split(",");
        for (int i = 0; i < name.length(); i++) {
            System.out.println(putaos[i]);
        }
    }
}

注意事项

1.String对象的内容不可改变,被称为不可变字符串对象

字符串运算结果直接放在堆内存,不放在字符串常量池

2.只要以"..."方式写出的字符串对象(即使是在new String()括号内),会存储到堆内存的字符串常量池,且相同内容的字符串只存储一份[节约内存];但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。

Sring s1 = new String("abc");

String s2 = "abc";

第一行:创建了两个对象,字符串常量池中的“abc”对象和new时堆内存中创建一个字符串对象

第二行:创建了0个对象,如果没有第一行,则是创建了一个对象

ArrayList集合

用于装数据,与数组相似,优越处在于:大小可变[数组一旦定义并启动,长度就确定了]

集合都是支持泛型的,集合和泛型都不支持基本数据类型,只能支持引用数据类型

集合容器中存储的是每个对象在堆内存中的地址

package cn.ptz.ArrayList;

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        // 增删改查

        // 创建
        ArrayList list = new ArrayList();

        // 增加数据 可以添加任何类型
        list.add("ygpt");
        list.add(123);
        list.add("葡萄籽");
        System.out.println(list);
        //约束添加数据类型
        ArrayList<String> List = new ArrayList<>();
        // List.add(12.3); // 报错
        List.add("PTZ");
        // 向某索引为添加数据
        list.add(1,321);
        System.out.println(list);

        // 获取某索引处值
        String rs = List.get(0);
        System.out.println(rs);

        // 获取集合大小
        System.out.println(list.size());

        // 根据索引,删除集合某处值,并返回被删除值
        System.out.println(list.remove(2));
        System.out.println(list);

        // 删除指定值,删除成功返回true,失败返回false
        // 并且默认删除的是 第一次出现的 指定数据[比如集合中有两个相同数据,删除第一个]
        System.out.println(list.remove("ygpt"));
        System.out.println(list);

        // 修改某索引处数据,返回修改前的值
        System.out.println(list.set(0, "PTZ"));
        System.out.println(list);

    }
}

从集合遍历元素,并筛选元素删除:

方1:从0开始遍历,每次删除一个数据后,索引-1

方2:从List.size() - 1开始倒着遍历

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值