JAVA(3)

一.类数组

1.定义格式:
类名[] 数组名 = new 类名(长度);
2.注意事项:
和普通数组一样长度一经确立不可改变

二.集合类 对象数组ArrayList

1.ArrayList定义

  • ArrayList集合类的长度可以发生改变
  • 对于ArrayList来说,有一个尖括号表示泛型,也就是装在集合中的所有元素都是统一的类型

示例定义代码:

ArrayList<String> new1 = new ArrayList<>();
//从jdk1.7 开始,右侧的尖括号可以不写内容,但是<>是要写的
System.out.println(new1); //输出[]即内容,不是地址
//对于ArrayList集合来说,直接打印得到的不是地址值而是内容,若内容为空为[]

2.常用方法

(1)public boolean add(E e)
用处:向集合当中添加元素,参数的类型与泛型一致

boolean success = new1.add("OK");
new1.add("OKK");
System.out.println(new1);
System.out.println(success);

要点:该方法返回一个bool值,用于判断是否成功添加
(2)public E get(int index)
从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素

System.out.println(new1.get(0));

(3)public E remove(int index)
从集合当中删除元素,参数是索引编号,返回值就是便删除的元素

String remo1 = new1.remove(1);
System.out.println(remo1);

(4)public int size()
获取尺寸长度,返回值是包含元素个数

int size = new1.size();
System.out.println(size);

3.包装类的使用

由于ArrayList存储的都是地址值,而基本类型没有地址值所以无法存储基本类型变量

//ArrayList<int> new2 = new ArrayList<>();  会报错,不能是基本类型

所以需要使用基本类型的包装类,位于java.lang包下,不需要导包

  • 基本类型 对应包装类
  • byte-------->Byte
  • short------->Short
  • int---------->Integer
  • long-------->Long
  • float-------->Float
  • double----->Double
  • char-------->Character
  • boolean----->Boolean

示例代码:

ArrayList<Integer> new2 = new ArrayList<>();
new2.add(100);
new2.add(200);
int num2 = new2.get(1);  //可以使用基本类型进行接收
//从jdk1.5+开始,支持自动转换

三.字符串

(1)定义:Java中的所有字符串字面值都作为String类的实例实现,也即程序当中所有双引号字符串都是String类的对象

  • 1.String字符串的内容一经创建后永不可变
  • 2.字符串可以共享使用
  • 3.字符串效果上相当于char[]字符数组

(2)创建字符串的三种构造方法加一种直接创建
1.创建空白字符串:public String();

2.根据字符数组创建对应的字符串:public String(char[] array);

char[] array = {'a','b','c'};
String str2 = new String(array);

3.根据字节数组创建对应的字符串:public String(byte[] array);

byte[] array1 = {97,98,99};
String str3 = new String(array1);

四.常量池

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3TtBuvw8-1607673754360)(https://i.loli.net/2020/10/24/zsKTC6w1mbq39xk.png)]

1.一个字符串对象在堆中创建后,然后指向一个byte数组存储字符
2.程序当中直接写上的双引号字符串,就在字符串常量池中,而通过数组创建的字符串并不在常量池当中
3.对于引用类型来说,==比较的是地址值比较

String str1A = "abc";
String str1B = "abc";
char[] charArray = {'a','b','c'};
System.out.println(str1A == str1B);

4.字符串内容比较:
1.public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同才会返回true
要点:

  • 具有对称型
  • 推荐:“abc”.equals(str) 不推荐:str.equals(“abc”)
  • 若str为null,那么前者会返回false,后者会报错,空指针异常,NullPointerException

示例代码:

String str2A = "Hello";
String str2B = "Hello";
char[] charArray2 = {'H','e','l','l','o'};
String str2C = new String(charArray2);
System.out.println(str2A.equals(str2B));   //true
System.out.println(str2A.equals(str2C));   //true

2.public boolean equalsIgnoreCase(String str);

  • 忽略大小写进行比较,只区分英文大小写

五.字符串常用方法

1.获取方法:
(1)public int length(); 取长度

System.out.println(str1A.length());

(2)public String concat(String str); 将当前字符串与参数字符串拼接成新字符串并返回
(3)public char charAt(int index); 获取指定索引位置的单个字符
(4)public int indexOf(String str); 查找参数字符串在目标字符串的首次出现的索引位置,若无则返回-1

2.截取方法
(1)public String substring(int index); 截取从参数位置一直到字符串末尾,返回新字符串

String str3A = "HelloWorld";
System.out.println(str3A.substring(5));

(2)public String substring(int begin,int end); 截取从参数begin到end的字符串 [begin,end)

System.out.println(str3A.substring(1,7));

3.转换方法
(1)public char[] toCharArray(); 将当前字符串拆分成字符数组作为返回值

char[] charArray5 = str3A.toCharArray();
System.out.println(charArray5.length); //没有括号

(2)public byte[] getBytes(); 获得当前字符串最底层的字节数组
(3)public String replace(CharSequence oldString,CharSequence newString);

  • 将所有的老字符串替换成为新的字符串,返回替换后的新字符串

  • CharSequence意思为可以接受字符串类型

    String str4A = str3A.replace(“o”,"*");
    System.out.println(str4A);

4.分割方法
public String[] split(String regex) 按照参数将字符串分割成几个部分

String str5A = "aaa,bbb,ccc";
String[] strArray1 = str5A.split(",");
for(int i = 1;i<strArray1.length;i++){   //长度不用加括号
    System.out.println(strArray1[i]);
}

split方法的参数其实是个正则表达式,如果按照英文句点".“区分一定要写成”\."

六.类数学方法

在包java.lang中,所以不需要导入
示例代码:
System.out.println(Math.abs(-2)); //abs()方法输出绝对值
System.out.println(Math.ceil(1.5)); //ceil()向上取整
System.out.println(Math.floor(1.5)); //向下取整
System.out.println(Math.round(1.5)); //四舍五入

值:
System.out.println(Math.ceil(1.5)); //ceil()向上取整
System.out.println(Math.floor(1.5)); //向下取整
System.out.println(Math.round(1.5)); //四舍五入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值