Java学习之常用类篇

Java学习之常用类篇0x00前言在开发中难免调用到各种api来开发程序,那就先来学习一下api的一些相关概念。0x01api的使用首先还是得来看看api的一个解释。API(Applic

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Java学习之常用类篇

0x00 前言

在开发中难免调用到各种api来开发程序,那就先来学习一下api的一些相关概念。

0x01 api的使用

首先还是得来看看api的一个解释。

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

这里复制了一段网上采集的对于api的解释。

可以得知,这个api是jdk提供给我们的使用类的一个说明文档。

api文档的使用步骤。

1.首先查看包,该类在哪个包下面,如果是在java.lang包不需要导入,可以直接使用,如果是其他的包下就需要导入。

2.查看类的解释与说明。

3.学习该类的构造方法

0x02 Scanner类

Scanner这是一个可以解析基本
类型和字符串的简单文本扫描器。

首先我们需要导入一个类

improt java.util.Scanner

然后就是使用构造方法,实例化该类的对象。

Scanner sc = new Scanner(System.in);

接下来就可以去调用他的方法了,先来查看一下该类的方法,对其进行调用。

列出几个方法:

 byte nextByte() 
          将输入信息的下一个标记扫描为一个 byte。 
 byte nextByte(int radix) 
          将输入信息的下一个标记扫描为一个 byte。 
 double nextDouble() 
          将输入信息的下一个标记扫描为一个 double。 
 float nextFloat() 
          将输入信息的下一个标记扫描为一个 float。 
 int nextInt() 
          将输入信息的下一个标记扫描为一个 int。 

我们这里就来接收一下键盘输入的数字,只有netxtInt方法。

Scanner sc = new Scanner(System.in);

int i = sc.nextInt;

这里的system.in系统输入是指通过键盘录入数据。

对于只使用接受一次的方法,我们就可以使用到匿名对象来进行接收。

格式:

new Scanner(System.in);

注意事项:

一个匿名对象,只能使用一次

匿名的对象也可以作为方法的参数或者是返回值进行使用

public class Input {

    public static void main(String[] args) {
        
        input(new Scanner(System.in));
    }

    private static void input(Scanner sc) {
        System.out.println(sc);
    }
}

0x03 Random 类

这是一个生成伪随机数的类,在使用前,肯定是要先看看他的构造方法。

Random() 
          创建一个新的随机数生成器。 
Random(long seed) 
          使用单个 long 种子创建一个新的随机数生成器。 

看完构造方法就可以实例化一个对象了。

Random random = new Random();

实例化完一个对象就可以使用,实例化调用的方法。

int i = random.nextInt();

这样就使用到了random类生成了一个随机值,赋值到了i变量里面

public class Input {

    public static void main(String[] args) {
        Random random = new Random();
        int i = random.nextInt();
        System.out.println(i);
    }
}

0x04 ArrayList类

前面接触的数组,只能存储固定的长度和固定的类型。而为了解决这个问题,java提供了一个容器 arrayList集合类,让我们可以比较便捷的存储和操作对象。

首先也还是查看一下构造方法。

java.util.ArrayList

:该类需要 import导入使后使用。



,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使

用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。

ArrayList() 
          构造一个初始容量为 10 的空列表。 
ArrayList(Collection<? extends E> c) 
          构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 
ArrayList(int initialCapacity) 
          构造一个具有指定初始容量的空列表。 

实例化对象:

 public class Input {

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        String s1 ="小明";
        String s2 ="小红";
        String s3 ="小绿";
        list.add(s1);
        list.add(s2);
        list.add(s3);
        System.out.println(list);
    }
}

对于元素的操作,基本体现在——增、删、查。常用的方法有:

public boolean add(E e) :将指定的元素添加到此集合的尾部。

public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。

public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。

public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

那么就都来试试

{

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();

        String s1 ="小明";
        String s2 ="小红";
        String s3 ="小绿";
        list.add(s1);
        list.add(s2);
        list.add(s3);
        System.out.println("get"+list.get(0));
        System.out.println("get"+list.get(1);
        System.out.println("get"+list.get(2));
        System.out.println("zise"+list.size());

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        
    }
}

ArrayList对象不能存储基本类型,只能存储引用类型,但是存储基本类型对应的包装类型是可以的。
所以,想要存储基本类类型的数据,<>中的数据类型,必须转换后才能编写

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

在集合里面也可以存储对象

public class Input {

    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        Student s1 = new Student();
        Student s2 = new Student();
        Student s3 = new Student();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        System.out.println(list);


    }
}

0x06 static

对于static关键字得时候,他可以用来修饰成员遍历和成员方法,被修饰得成员是属于类得,而不是单单输入某个对象里面。也就是说,既然属于类,就可以不靠创建对象来调用。

当被static修饰得成员时,该变量被叫做类变量。这个类每个对象都共享同一个类变量得值。任何对象都没有改变这个类变量得值,但也可以在不创建得情况下对这个类变量进行操作。

定义静态变量格式:

static 数据类型 变量名;

static int num;

定义静态方法格式:

public static void method(){
    System.out.println("123")
}

静态方法调用的注意事项:
1.静态方法可以直接访问类变量和静态方法。

2.静态方法不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法。

静态方法中,不能使用this关键字。

4.静态方法只能访问静态成员。

static修饰后的成员需要使用类名直接访问,和前面的接口静态方法类似。

类名.变量名

类名.静态方法

0x07 Array类

Array包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来
非常简单。也就是说不需要实例化对象,可以直接通过类名来调用他。

查看一下该类的一个静态方法的使用

sort(int[] a) 
          对指定的 int 型数组按数字升序进行排序。
          
toString(int[] a) 
          返回指定数组内容的字符串表示形式

代码示例:

 public static void main(String[] args) {
    int[]  arr = {1,29,3,3,64};
    String s = Arrays.toString(arr);
    System.out.println(s);
    Arrays.sort(arr);
        String a = Arrays.toString(arr);
        System.out.println(a);

    }

0x08 Math类

math这是用于数学运算的类,这里面的一些方法也都是静态方法,所以也不需要实例化对象,那么我们也不需要学习他的构造方法,直接类名调用即可。

查看他的一些方法使用

abs(double a) 
          返回 double 值的绝对值。
        

代码:

 public static void main(String[] args) {
        double abs = Math.abs(-13.3);
        double ceil = Math.ceil(93.3);
        System.out.println(abs);
        System.out.println(ceil);

    }

这些方法都比较简单,至于这个向上取整的运用,这里可以来说一下,例如我们开发一个类似于御剑的目录扫描器,我们有23个字典需要分开5个线程去请求,每个线程都请求4个字典的话,那么还会多出三个字典没有线程去请求,就会把多出来这个字典给忽略掉,如果被忽略的这个字典刚刚好是后台的路径呢?所以在工具开发当中这些都是要注意的点,我们需要再多开一个线程,去请求多出来的一些数据,那么这时候就可以使用到向上取整。

0x09 结尾

开发程序中,总是会用到各种类,所以不能全靠死记,要学会怎么去查看手册去开发个程序。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119954.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm运行没结果_pycharm安装lxml库

    pycharm运行没结果_pycharm安装lxml库原因是用程序选择了console来运行,取消console方法如下:Run-&gt;EditConfigurations取消runwithpythonconsole的勾

    2022年8月28日
    3
  • yablog: calculate cosine with python numpy

    yablog: calculate cosine with python numpy

    2021年8月20日
    59
  • servlet与jsp区别_servlet和class的区别

    servlet与jsp区别_servlet和class的区别JSP和Servlet都是与使用Java构建基于Web的应用程序有关的重要概念。基本上,Servlet是Java中HTML,而JSP是HTML中的Java。任何典型的Web开发面试都可能有几个基于JSP和Servlet的Java面试问题。尽管JSP和Servlet的主要目的是相同的,但是两者之间还是有一些重要的区别。在深入研究两个Java概念之间的差异之前,让我们首先对它们有一…

    2022年4月20日
    73
  • 制作p12证书[通俗易懂]

    制作p12证书[通俗易懂]创建AppID,下载对应证书,双击证书导入mac,在钥匙串中导出p12证书文件。使用第三方推送需要配置p12证书。我记得用企业证书发布企业app打包前也导入了p12文件,不知道p12是否必须使用,不过都导入也没有什么问题。现在苹果证书的生成,不过基本思路一样,大同小异。要想生成苹果首先要打开苹果研发者网站。首先点击Account进行用户名/密码登陆。至于苹果研发证书和发布证书…

    2022年6月15日
    176
  • 红黑树和平衡二叉树有什么区别?「建议收藏」

    红黑树和平衡二叉树有什么区别?「建议收藏」什么是二叉树?二叉树(BinaryTree)是指每个节点最多只有两个分支的树结构,即不存在分支大于2的节点,二叉树的数据结构如下图所示这是一棵拥有6个节点深度为2(深度从0开始),并且根节点为3的二叉树二叉树有两个分支通常被称作“左子树”和“右子树”,而且这些分支具有左右次序不能随意地颠倒一棵空树或者满足以下性质的二叉树被称之为二叉查找树若任意节点的左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不为空,则右子树上所有节点的值均大

    2022年9月25日
    7
  • pip怎么卸载安装包_pip卸载所有库

    pip怎么卸载安装包_pip卸载所有库$pip2installxxx$pip2unstallxxx

    2022年8月30日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号