java基础学习--javaApi

Java基础学习–javaApi

1.javaApi文档下载

链接:https://pan.baidu.com/s/1uXaMFWsulQp39AXXnNGRJg 提取码:fxkf

2.scanner类

使用方法:

  • public String next(); 接收用户录入的字符串, 结束标记是: 空格
  • public String nextLine();接收用户录入的字符串, 结束标记是: 换行符(\r\n)

实例:

​ //1. 创建对象.
Scanner sc = new Scanner(System.in);
//2. 提示用户录入
System.out.println(“请录入一个字符串”);
//3. 接收
//String s1 = sc.next();
String s1 = sc.nextLine();
//4. 输出
System.out.println(s1);

常见问题:用nextInt()接收整数, 再用nextLine()接收字符串, 导致字符串无法接收。

原因分析:nextInt()是识别到换行符之后才结束,但不接受换行符。从而使nextLine()也接收到了上一个遗留下的换行符,从而导致直接结束。

解决方案:都用nextLine()接受,对于整数通过Integer.parseInt()方法将其转换为整数。

3.object类

概述:Object类是所有类的父类, 所有的类都直接或者间接继承自Object类.

构造方法:只有一个空参构造public Object()

成员方法

  • public String toString(); 返回对象的字符串表示形式(即: 地址值), 无意义, 建议子类重写该方法.
  • public boolean equals(Object obj);比较两个对象是否相等, 默认比较的是地址值, 无意义, 子类一般都会重写该方法

: == 和 equals()的区别。

:== 表示 对内存地址进行比较,equals()是方法,可以修改成对内容进行比较

4.string类

概述:String代表字符串类, 即: 由多个字符组成的一串数据。字符串的本质就是一个字符数组.

构造方法:

  • public String() 解释: 空参构造,创建一个空白字符串对象, 不包含任何内容.
  • public String(String s) 解释: 把字符串数据封装成字符串对象.
  • public String(char[] value) 解释: 把字符数组的数据封装成字符串对象.
  • public String(char[] value, int index, int count) 解释: 把字符数组的一部分数据封装成字符串对象.
  • public String(byte[] bys) 解释: 把字节数组的数据封装成字符串对象.
  • public String(byte[] bys, int index, int count) 解释: 把字节数组的一部分数据封装成字符串对象.

一般使用: String a = “aaa”;

字符串比较

  • == 比较

String s1 = “abc”;

String s2 = “abc”;

char[] s = {‘a’, ‘b’, ‘c’}

String s3 = new String(s);

String s4 = new String(s);

结果:s1和s2比较是true,s3和s4比较是false。

原因:== 比较是内存地址,使用new String()方法是在堆上开辟新的空间,而直接创建字符串时,是在方法区的常量池中保存,如果相同的常量不会新建,而是指向同一个内存地址。

  • equas()比较

结果:s1、s2、s3、s4的值都相同。

原因:string类重写了equals()方法,比较是值。

  • 其他比较方法

equalsIgnoreCase() 对值比较且不区分大小写。

常见问题:对String类的字符串进行拼接、反转都需要构建一个新的字符串对象,增加操作还浪费空间。

解决方法:通过Java提供的StringBuilder类来解决这个问题

5.Stringbuilder

概述:StringBuilder是一个可变的字符序列, 也叫字符串缓冲区类

构造方法

  • public StringBuilder() 解释: 创建一个空白可变字符串对象, 它不含有任何内容。
  • public StringBuilder(String str) 解释: 根据字符串的内容, 来创建可变字符串对象。

Stringbuilder重写了tostring()方法

常用方法

  • append() 添加字符串

eg:

StringBuilder sb = new StringBuilder();

//2.通过append()方法, 往sb对象中添加"hello",然后用sb2对象接收.

StringBuilder sb2 = sb.append(“hello”);

//3.打印对象sb和sb2的结果, 并观察.

System.out.println("sb: " + sb); //sb: hello

System.out.println("sb2: " + sb2); //sb2: hello

System.out.println(sb == sb2); //true

发现两个对象一起改变,原因两个对象的值指向同一个内存地址,同时append()方法也可以连续添加。 sb.append(“”).append(“”).append(“”);

  • reverse() 反转字符串

StringBuilder sb3 = sb2.reverse();

同样两个对象是指向同一个内存地址,所以对象sb2和sb3值相同。

StringBuilder和String之间的相互转换

String对象 -> StringBuilder对象,带参构造, 创建StringBuilder对象。

public StringBuilder(String str);

StringBuilder对象 -> String对象,StringBuilder类中的toString()方法, 返回该对象的字符串形式。

public String toString();

6.Arrays类(工具类)

概述:它是针对数组进行操作的工具类。提供了把数组转成字符串,对数组排序等功能。

成员方法

public static String toString(int[] arr) 解释: 把int类型的数组转成其对应的字符串形式

public static void sort(int[]arr) 解释: 对给定的int数组, 按照元素升序的顺序进行排序.

Arrays类的特点:Arrays类中有一个私有的空参构造方法, 这样做的目的是: 不让用户通过构造方法来创建Arrays类的对象.。且Arrays类的成员都是静态的, 可以通过类名点的形式直接调用。

工具类特点:构造方法私有化;成员方法都是静态的。

7.包装类

**概述:**为了对基本类型进行更多更方便的操作, Java就针对每一种基本类型提供了一个对应的引用类型, 这就是包装类。

基本类型对应的包装类
byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
7.1 integer

概述:Integer 类是基本类型int所对应的包装类, 该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法.

构造方法

  • public Integer(int value) 解释: 把int类型的数据封装成其对应的Integer对象.
  • public Integer(String s) 解释: 把字符串类型的整数封装成其对应的Integer对象。注意: 这里传入的必须是纯数字类型的字符串.

int类型和String类型的相互转换

  • int类型 -> String类型

方式1:String s1 = 10 + “”;

方式2:String s1 = String.valueOf(10)

  • String类型 -> int类型

String s1 = 100;

int num = Integer.parseInt(s1);

特殊基本类型转换:

  • 字符和字符串之间相互转换

String s1 = ‘a’ + “”;

char ch = “abc”.charAt(1);

  • 字符数组和字符串之间相互转换

String str = “abcd”; char[] chs = str.toCharArray();

String str2 = new String(chs);

自动拆装箱:

把基本类型的数据封装成其对应的包装类型, 则称之为自动装箱

int a = 10; Integer i2 = a

把包装类型的对象拆解成其对应的基本类型, 则称之为自动拆箱

Integer i1 = new Integer(a); int b = i2

8.Date类

**概述:**Date类表示特定的瞬间,精确到毫秒. 它是java.util包下的类, 用之前需要先导包。

构造方法:

  • public Date(); 解释: 根据当前系统时间, 获取其对应的Date对象.
  • public Date(long date); 解释: 根据给定的整数, 获取其对应的Date对象.

成员方法:

  • public long getTime() 解释: 获取毫秒值.
  • public void setTime(long time) 解释: 设置时间, 单位是毫秒值.
9.SimpleDateFormat类

概述:SimpleDateFormat类, 叫日期格式化类, 专门用来格式化和解析日期的.

构造方法

  • public SimpleDateFormat() 解释: 根据空参构造, 创建SimpleDateFormat类的对象.
  • public SimpleDateFormat(Stringpattern) 解释: 根据给定的模板, 创建其对应的SimpleDateFormat类的对象.

成员方法

  • public final String format(Datedate) 解释: 用来格式化日期的.
  • public Date parse(Stringsource) 解释: 用来解析字符串形式的日期的.
10.calendar类

概述:日历类, 是方便我们操作日期的. 它里边的功能大多数是用来替代java.util.Date类的功能的。

构造方法

Calendar类可以理解为是工具类, 因为它是一个抽象类, 所以外界无法通过new的方式创建本类对象.

问: 如何创建Calendar类的对象呢?

答: 通过**Calendar#getInstance()**方法实现.

成员变量

  • public static final int YEAR 解释: 表示年份.
  • public static final int MONT 解释: 表示月份.
  • public static final int DATE 解释: 表示年中的某一天.
  • public static final int DAYOFMONTH 解释: 表示月中的某一天.
  • public static final int DAYOFWEEK 解释: 表示星期中的某一天.

成员方法

  • public static CalendargetInstance(); 解释: 创建Calendar类型的子类对象.
  • public int get(int field) 解释: 根据日历字段, 获取其对应的值.
  • public void set(int year, intmonth, int day) 解释: 设置时间为指定的年, 月, 日.
  • public void add(int field, intcount) 解释: 修改指定的时间为指定的偏移量, 例如: 往前推2天, 推3个月, 往后推2年.
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值