java-方法、ArrayList、String

一、方法

当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:

this.成员变量名。

注:通过谁调用的方法,谁就是this.

构造方法:专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

常用的API:现成的,可以直接拿来用的类,类似于程序员的字典。
Scanner Random ArrayList

匿名对象:

创建对象的标准格式
类名称 对象名 = new 类名称();


匿名对象就是只有右边的对象,没有左边的名字和赋值运算符
new 类名称();

使用方法:
new 类名称().类变量 = “”

注意事项:匿名对象只能使用唯一的一次,下次再用不得不创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。

匿名对象作为方法和返回值。同样只能使用一次
例:int num = new Scanner(System.in).nextInt();

使用匿名对象进行传参

在这里插入图片描述

让匿名对象作为返回值:

在这里插入图片描述


Random 类:用来生成随机数字

步骤

  1. 导包
    import hava.util.Random
  2. 创建
    Random r = new Random();//小括号留空即可
  3. 使用
    获取一个随机int 数字(范围int 所有范围,有正副两种):int num = r.nextInt();
    获取一个随机int 数字(范围int 所有范围,有正副两种):int num = r.nextInt(3);含义,随机获取:[0,2)范围内的整数,

二、ArrayList 集合

数组的长度不可以发生改变,但是ArrayList是可变的。

对于ArryList有一个尖括号,代表泛型
泛型:也就是装在集合中的所有元素,全都统一是什么类型

注意:泛型只能是引用类型,不能是是基本类型

备注:从jdk.7开始,右侧的尖括号内可以不写内容,但是本身<>还是要写的

注意事项:对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号[]

常用方法

  1. public boolean add(E e):向集合中添加元素,参数的类型和泛型一致,返回值代表是否添加成功

    备注:对于ArrayList集合来说,add添加一定是成功的,所以返回值可以不用。但是。对于其他集合,add添加不一定成功。

  2. public E get(int index):从集合中获取元素,参数是索引下标,返回值就是对应的位置元素

  3. public E remove(int index):从集合中删除元素,参数是索引下标,返回值就是对应的位置元素
    public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
    如果希望向集合ArrayList当中存储基本类型,必须使用基本类型对应的包装类。

基本类型包装类(引用类型,包装类都位于java.lang包下)
byteByte
shortShort
intInteger 特殊
LongLong
floatFloat
doubleDouble
charCharacter 特殊
nooleanBoolean

从jdk5+开始,支持自动装箱,自动拆箱。
自动装箱:基本类型自动变成引用类型
自动拆箱:包装类型自动变成基本类型


三、String

程序当中所有的双引号字符串,都是String类型的对象(就算没有new,也照样是)

特点

  1. 字符串的内容永不可变。
  2. 正是因为字符串不可改变,字符串是可以共享使用的。
  3. 字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组。

创建字符串的3+1种方式

三种构造方法

  1. public String();
  2. public String(char[] array);根据字符数组的内容,来创建对应的字符串
  3. public String(byte[] array);根据字节数组的内容,来创建对应的字符串

一种直接创建

  1. String str = “Hello”;

字符串的常量池:程序当中直接写上的双引号字符串,就在字符串常量池中

对于基本类型来说,==是进行数值的比较
对于引用类型来说,==时进行地址值的比较

String str1 = “abc”;
String str2 = “abc”;
shar[] charArray = {‘a’,‘b’,‘c’};
String str3 = new String(charArray);

str1str2; //true
str1
str3; //false
srt2==str3; //false
在这里插入图片描述
在这里插入图片描述

字符串的相关比较方法

== 是进行对象的地址值比较,如果需要字符串的内容比较,可以使用下面两个方法:

  1. public boolean equal(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会返回true,否则就是false。
    注意事项:

    1. 任何对象哦都能用Object接收。
    2. equals方法具有相对性,也就是a.equals(b)和b.equals(a)效果一样。
    3. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面
      推荐:“abc”.equals(str) 不推荐:str.equals(“abc”)
      在这里插入图片描述
  2. public boolean equalsIgnoreCase(String str):忽略大小写

字符串的获取相关方法

获取相关方法

  1. public int length():获取字符串中含有的字符个数,拿到字符串长度。
  2. public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串
  3. public char charAt(int index):获取指定索引位置的单个字符
  4. public int indexOf(String str):查找参数字符串在本字符串中出现的索引位置,如果没有返回-1

字符串中的截取相关方法

  1. public String substring(int index):截取从参数位置一直到字符串末尾。返回新字符串。

  2. public String substring(int begin,int end):截取从begin开始,一直到end结束,中间的字符串。
    备注:[begin,end]包含左边不包含右边

在这里插入图片描述

字符串的转换相关方法

  1. public char[] toCharArray():将当前字符串拆分成为字符数组作为返回值。
  2. public byte[] getBytes():获得当前字符串底层的字节数组
  3. public String replace(CharSenquence oldString,CharSenquence newString):将所有出现的老字符串其换成为新的字符串,返回替换之后的结果为新字符串。
    备注:CharSenquence可以接收字符串类型

字符串的分割方法

  1. public String[] split(String regex):按照参数的规则,将字符串切割成为若干部分

注意事项:split方法的参数其实是一个正“则表达式”。今天要主力:如果按照英文句点".“进行切割,必须写”\."(两个反斜杠)才能切割成功。。

练习题目:键盘输入一个字符串,并且统计其中各种字符串出现的次数

种类有:大写字母、小写字母、数字、其他

思路:

  1. 既然用到键盘输入,肯定用到Scanner
  2. 键盘输入的是字符串,那么:String str = sc.next();
  3. 定义四个变量,分别代表四种字符串各自出现的次数。
  4. 需要对字符串一个字一个字的检查:String->char[],方法是toCharArray()
  5. 遍历char[] 字符数组,对当前字符的种类进行判断,并且用四个变量进行++动作。
  6. 打印输出四个变量,分别代表四次出现的次数。
import java.util.Scanner;



public class StringCount {

       public static void main(String[] args) {

             Scanner <u>sc</u> = new Scanner(System.in);

             System.out.println("请输入一个字符串:");

             String input = sc.next();

             

             int countUpper = 0; //大写字母

             int countLower = 0; //小写字符

             int countNumber = 0;       //数字

             int countOther = 0; //其他字符

             

             char[] charArray = input.toCharArray();

             for (int i = 0; i < charArray.length; i++) {

                    char ch = charArray[i];    //当前单个字符

                    if ('A'<=ch&&ch<='Z') {

                           countUpper++;

                    }else if ('a'<=ch&&ch <='z') {

                           countLower++;

                    } else if ('0' <= ch&&ch <='9') {

                           countNumber++;

                    }else {

                           countOther++;

                    }

             }

             System.out.println("大写字母有:"+countUpper);

             System.out.println("小写字母有:"+countLower);

             System.out.println("数字有:"+countNumber);

             System.out.println("其他字符有:"+countOther);

       }

}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ArrayListJava中的一个类,它可以动态地存储一组元素,可以根据需要动态增加或减少元素的数量,是一种非常方便的数据结构。 ArrayList的基本用法包括创建ArrayList对象、添加元素、获取元素、修改元素、删除元素等。首先,可以使用如下代码创建一个空的ArrayList对象: ```java ArrayList<String> list = new ArrayList<String>(); ``` 上面代码创建了一个类型为StringArrayList对象,该对象初始为空。然后,可以使用add()方法ArrayList中添加元素,例如: ```java list.add("apple"); list.add("banana"); list.add("orange"); ``` 上述代码向list中添加了三个字符串元素。可以使用get()方法获取ArrayList中的元素,例如: ```java String first = list.get(0); // 获取第一个元素 ``` 可以使用set()方法修改ArrayList中的元素,例如: ```java list.set(1, "pear"); // 将第2个元素改为"pear" ``` 可以使用remove()方法删除ArrayList中的元素,例如: ```java list.remove(2); // 删除第3个元素 ``` 以上就是ArrayList的基本用法。需要注意的是,ArrayList中的索引从0开始。 ### 回答2: ArrayListJava中非常常用的数据结构。它提供了一个可以动态添加、删除、修改的可变长度的序列。 使用ArrayList时,首先需要引入它的包:java.util。然后可以使用如下语法创建一个ArrayList对象: ```java ArrayList<String> list = new ArrayList<String>(); ``` 这里的`<String>`说明了这个ArrayList中的元素类型是String。当然,也可以使用其他类型作为元素类型。例如: ```java ArrayList<Integer> numbers = new ArrayList<Integer>(); ArrayList<Double> prices = new ArrayList<Double>(); ``` 可以使用`add()`方法来向ArrayList中添加元素: ```java list.add("apple"); list.add("orange"); list.add("banana"); ``` 可以使用`get()`方法来获取指定位置的元素: ```java String fruit = list.get(1); //获取第二个元素,即"orange" ``` 可以使用`size()`方法来获取ArrayList中元素的个数: ```java int size = list.size(); //获取ArrayList中元素的个数 ``` 可以使用`set()`方法来修改指定位置的元素: ```java list.set(1, "pear"); //将第二个元素修改为"pear" ``` 可以使用`remove()`方法来删除指定位置的元素: ```java list.remove(2); //删除第三个元素,即"banana" ``` 需要注意的是,ArrayList中的元素是有序的,且可以重复。因此,可以使用循环来遍历ArrayList中的元素: ```java for(int i=0; i<list.size(); i++){ String fruit = list.get(i); System.out.println(fruit); } ``` 或者使用增强型循环(foreach): ```java for(String fruit : list){ System.out.println(fruit); } ``` 总之,使用ArrayList可以方便地处理可变长度的序列。在实际开发中,它有着广泛的应用场景,例如处理文件或数据库中的数据,实现算法或数据结构等。 ### 回答3: ArrayListJava中一个非常常用的容器类。他的优点是可以存储任意类型的对象,可以动态扩容,因此在使用上非常的方便。 使用ArrayList需要在代码中首先调用import java.util.ArrayList进行导入,随后可以通过ArrayList<类型> name = new ArrayList<类型>()这个语句声明一个ArrayList,并将其命名为name,同时指定ArrayList中存储的对象类型为类型。当我们需要添加元素时,可以通过name.add(element)将元素添加到ArrayList中。我们也可以通过name.get(index)方法获取ArrayList中指定位置的元素,通过name.set(index,value)方法ArrayList中某个位置的元素替换为新的元素。同时,我们也可以调用name.size()方法获取ArrayList中元素的数量。 值得注意的是,ArrayList中的元素是以索引的方式存储的,这意味着我们可以根据元素的位置进行添加、修改、删除等操作。而且,由于ArrayList的容量是可变的,因此其内部必须动态地管理数据的内存,这会影响到ArrayList的性能。当然,这个影响是很小的,不会对代码的运行产生显著的影响。 总之,ArrayListJava中非常常用的容器类,其可以存储任意类型的对象,同时调用也非常方便。但在使用时需要注意其操作的复杂度,以及不能存储基本数据类型。如果需要在ArrayList中存储基本数据类型,需要借助Boxing和Unboxing机制将其转换为对应的包装类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值