Java学习笔记五: 常用类

Math 类:

Math下的所有方法和属性都是静态的

// 原型:
public final class Math extends Object {
  
}

Math常用方法和属性:

修饰符和类型属性描述
static doublePI圆周率
static doubleE自然常数
修饰符方法描述
staticabs(a)返回a的绝对值
staticcbrt(a)返回a的立方根
staticceil(a)返回a的向上取整结果
staticfloor(a)返回a的向下取整结果
staticround(a)返回a的四舍五入结果
staticmax(a, b)返回a和b中的最大值
staticmin(a, b)返回a和b中的最小值
staticpow(a, b)返回a的b次方
staticrandom()返回一个[0, 1)的随机小数

Random类:

没有属性, 只有方法

//原型
public class Randomextends Object implements Serializable {
  
}

创建Random对象:

// 创建Random对象

// 需要导入的包
import java.util.Random;

// 第一种
Random r = new Random();

// 第二种
Random rr = new Random();
返回值类型方法描述
intnextInt(a)返回[0, a)中的一个的int型整数
floatnextFloat(a)返回[0, a)中的一个float型整数
以此类推以此类推以此类推

Scanner类:

标准输入I/O流

// 原型
public final class Scanner extends Object {
  
}

创建Scanner对象并用于输入:

// 导入
import java.util.Scanner;

//1.创建Scanner对象
Scanner input = new Scanner(System.in);

//2.接收一个数字
int num = input.nextInt();
返回值类型方法描述
Stringnext()查找并返回来自此扫描器的下一个完整标记, 以输入的空格键、Tab键或Enter键等视为分隔符或结束符
intnextInt()接受一个数字返回输入的数字, 空格为分隔符, \n结束
StringnextLine()返回输入的值, 以\n作为结束符
booleannextBoolean()扫描解释为一个布尔值的输入标记并返回该值
Scannerreset()重置扫描器
voidclose()关闭扫描器

注意:

在连续的两个及以上nextInt()之后用nextLine(), nextLine()会得到一个空

解释:

输入nextInt()以\n进行分隔, 输入完成后\n留在缓冲区, 而nextLine()也以\n进行分隔, 此时nextLine()会读取到上一个留在缓冲区的\n从而直接结束

解决方法:

在nextInt()后用nextLine()吸收\n

String类:

Java中所有数据类型都是类, Java是一门完全面向对象的语言

字符串: 字符连在了一起, 形成了字符串

字符串是一个常量

// 原型
public final class String implements java.io.Serializable, Comparable<String>, CharSequence {

}

在Java中, 一般用""括起来, 引号的内部内容就是字符串

可以理解为 Sting a = “123”, a中只是存了一个地址, "123"才是创建的字符串对象

字符串是常量, 是不可变数据类型, java将字符串存储在堆中的常量池中, 一旦被创建就不能被修改也不能被销毁

注意: 这里的不可变是说每一个字符串对象创建都会被存储在堆中, 常量池中已经存在的字符串对象就不能修改, 如果定义了一个字符串: String s = “123”(s并不是一个对象, 是一个变量, 指向对象"123"的内存地址), 这时候"123"这个字符串对象会存储在常量池, 不可被修改, 如果再写一句, s = “112”, 这时变量s会指向字符串对象"112"(s中存储的地址修改为"112"的地址), "112"会存储进常量池, 这时"123"并没有被删除或修改也在常量池中

为了安全, 设计为不可继承

创建一个String对象:

// 定义一个字符串

//方法一:
String str_1 = "hello";

//方法二:
String str_2 = new String("hello");

常见的字符串方法:

修饰符和返回值类型方法描述
charcharAt(int index)返回下标index对应的字符
intlength()返回字符串长度
intcodePointAt(int index)返回下标对应的字符的unicode值
booleancontains(CharSequence str)当且仅当此字符串包含指定的 char 值序列时,返回 true
byte[]getBytes([Charset charset])字符串转换成字节
booleanendsWith(String suffix)以suffix结尾返回true否则返回false
booleanstartsWith(String suffix)判断是否以suffix开头
intindexOf(String str)返回第一个匹配到的下标
intlastIndexOf(String str)返回最后一个匹配到的下标
Stringtrim()清除两边空格
StringtoUpperCase()转换为大写
StringtoLowerCase()转换成小写
StringvalueOf(args)相当于拼接, 可用于将数字转换成字符串
String[]split(String regex[, int limit])根据给定正则表达式的匹配拆分此字符串, limit是切割份数
static Stringjoin(CharSequence delimiter, CharSequence… elements)将字符串数组按照符号拼接
static StringcopyValueOf(char[] data)将字符数组转换为字符串
booleanequals(Sting str)

equals(Object anObject)
两个字符串相等返回true, 否则返回false

将此字符串与指定的对象比较
booleanequalsIgnoreCase(String anotherString)忽略大小写的equals
intcompareTo(String Str)比较两个字符串的unicode值, 返回0则两个字符串相等, 指定数小于参数返回-1大于则返回1
intcompareToIgnoreCase(String str)忽略大小写的compareTo
Stringconcat(String str)返回拼接后的字符串, 相当于两个字符串相加
booleanisEmpty()只当length()等于0(字符串为空)返回true
Stringreplace(char oldChar, char newChar)
replace(CharSequence target, CharSequnce relacement
替换每个匹配到的字符, 返回替换后的字符串
替换每个匹配到的子字符串, 返回替换后的字符串
Stringsubstring(int beginIndex)
substring(int beginIndex, int endIndex)
返回一个新的字符串,它是此字符串的一个子字符串

注意: 字符串不要使用等号来判断是否相等

在java中 == 判断的是值, 用来判断字符串则是判断字符串的地址值, 不能用来判断字符串, 因为字符串创建的方式有多种, 不同的创建方式地址会不一样

String s = new String("abc");	// 并不只是创建一个对象, 而是一个或者两个
// 字符串是一个常量, 如果常量池中没有"abc", 则会在堆中创建一个对象, 在常量池中创建一个"abc"对象, 如果常量池中有"abc"则创建一个
String b = "abc";	// 有"abc"则不创建, 没有就创建一个

Character类:

Character 类在对象中包装一个基本类型 char 的值。 Character 类型的对象包含类型为

char 的单个字段

修饰符和返回值类型方法描述
static booleanisDigit(char ch)确定指定字符是否为数字
static booleanisLetter(char ch)确定指定字符是否为字母
static booleanisLetterOrDigit(char ch)确定指定字符是否为字母或数字
static booleanisLowerCase(char ch)确定指定字符是否为小写字母
static booleanisSpaceChar(char ch)确定指定字符是否为 Unicode 空白字符
static booleanisUpperCase(char ch)确定指定字符是否为大写字母

需要特别注意的点(包含nextInt后nextLine失效的解决方法):

  1. static 关键字修饰的方法为静态方法不需要实例化类, 可直接调用
  2. 没有用static修饰的方法需要将对象实例化后, 通过"对象.方法()"的形式调用
  3. 在连续的两个及以上nextInt()之后用nextLine(), nextLine()会得到一个空

解释:

输入nextInt()以\n进行分隔, 输入完成后\n留在缓冲区, 而nextLine()也以\n进行分隔, 此时nextLine()会读取到上一个留在缓冲区的\n从而直接结束

解决方法:

在nextInt()后用nextLine()吸收\n

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值