java语言基础(一):Scanner/Random/ArrayList/String/Arrays/Math


一、API是什么?

API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

1.1 使用步骤

  1. 打开帮助文档。
  2. 点击显示,找到索引,看到输入框。
  3. 你要找谁?在输入框里输入,然后回车。
  4. 看包。java.lang下的类不需要导包,其他需要
  5. 看类的解释和说明。
  6. 学习构造方法。

1.2 Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in(通过键盘录入数据) 中读取一个数:

Scanner sc = new Scanner(System.in); 
int i = sc.nextInt();
i.nextInt()                          //方法

1.3 匿名对象

  • 没有变量名的对象。应用场景:创建匿名对象直接调用方法,没有变量名
  • 一个匿名对象,只能使用一次

1.4 Random类

用于生成伪随机数。

Random r = new Random();
 int i = r.nextInt();

二、ArrayList

大小可变的数组,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

2.1 对象数组

对象数组创建:ClassName[] arr = new ClassName(n)n表示对象数组长度,arr存储的是对象

到目前为止,我们想存储对象数据,选择的容器,只有对象数组。而数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据。

2.2 创建

ArrayList<E> list = new ArrayList<>()

  • E表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。注意E不能为基本类型

2.3 常见四种方法:增,删,查,容量

  • boolean add(E e)将指定的元素添加到此集合的尾部
  • int size()移除此集合中指定位置上的元素。返回被删除的元素
  • E get(int index)返回此集合中指定位置上的元素。返回获取的元素
  • E remove(int index)返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界

要想存储基本数据类型,设置E为基本数据类型对应的包装类,如int->Integer;char->Character,其他的对应首字母大写

  • 应用:该集合既可作为参数,又可作为返回值
    练习:

    1. 数值添加到集合(E 为随机数):生成6个1~33之间的随机整数,添加到集合,并遍历;
    2. 对象添加到集合(E为对象):自定义4个学生对象,添加到集合,并遍历;
    3. 打印集合方法(ArrayList类型作为参数传递):定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照 {元素 @元素@元素}。
    4. 获取集合方法法(ArrayList类型作为返回值):随机产生20个随机数(大集合),并筛选其中的偶数(小集合);

三、String类

3.1 两种创建方式

  1. 通过双引号创建:String s1 = "abc";
  2. 通过数组创建:char[] arrString = { 'a' , 'b' , 'c' };String s1 = new String(arrString );
  • 区别:前者者在字符串常量池(位于堆内存)中,new的对象不在
    对于基本类型,‘= =’进行数值的比较,对于引用类型,‘= =’进行地址值的比较

3.2 特点

  1. 字符串不变:字符串的值在创建后不能被更改
  2. 因为String对象是不可变的,所以它们可以被共享
  • 内存图
    在这里插入图片描述

3.3 成员方法

3.3.1 判断功能的方法(两种):

  • public boolean equals (Object anObject):将此字符串与指定对象进行比较。
    1. 参数可为任意对象,只有参数为字符串且内容相同时才返回true;
    2. 对称性str1.equals(str2)等价于str2.equals(str1)
    3. 推荐"str".equals(str),不推荐str.equals("str")
  • ` public boolean equalsIgnoreCase (String anotherString):将此字符串与指定对象进行比较,忽略大小 写。
    -在这里插入图片描述

3.3.2 获取功能的方法(6种)

  • public int length ():返回此字符串的长度。

  • public String concat (String str):将指定的字符串连接到该字符串的末尾。返回新的字符串

  • public char charAt (int index):返回指定索引处的 char值。

  • public int indexOf (String str):返回指定子字符串第一次出现在该字符串内的索引。

  • public String substring (int beginIndex):返回一个子字符串,从beginIndex开始截取字符串到字符 串结尾。

  • public String substring (int beginIndex, int endIndex):返回一个子字符串,从beginIndex到 endIndex截取字符串。含beginIndex,不含endIndex

    在这里插入图片描述

3.3.3 转换功能的方法(3种)

  • public char[] toCharArray ():将此字符串转换为新的字符数组
  • public byte[] getBytes ():使用平台的默认字符集将该 String编码转换为新的字节数组
  • public String replace (CharSequence target, CharSequence replacement):将与target匹配的字符串使用replacement字符串替换。CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把String对象传递到方法中。
    在这里插入图片描述
    在这里插入图片描述

3.3.4 分割功能的方法(一种)

  • public String[] split(String regex):将此字符串按照给定的regex(规则)拆分为字符串数组,(两个‘\’转义正则符号)。

练习:定义一个方法,把数组{1,2,3}按照指定个格式拼接成一个字符串。格式参照如下:[word1#word2#word3]。
在这里插入图片描述

三、Arrays类

3.1 概述

java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来 非常简单。

3.2 操作数组的方法

3.2.1 public static String toString(int[] a)

返回指定数组内容的字符串表示形式。

3.2.2 public static void sort(int[] a)

对指定的 int 型数组按数字升序进行排序

四、Math类

4.1 概述

java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具 类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。

4.2 基本运算的方法

注意double类型的数值同样可以进行自增或自减操作

4.2.1 public static double abs(double a)

返回 double 值的绝对值。

4.2.2 public static double ceil(double a)

返回大于等于参数的最小的整数。

4.2.3 public static double floor(double a)

返回小于等于参数最大的整数

4.2.4 public static long round(double a)

返回最接近参数的 long。(相当于四舍五入方法)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值