java编程基础总结——3.几个常见的java内置对象

    java中的几个内置类(对象)
    
    |-- Math类(final)
    |-- Scanner类(final)
    |-- Random类
    |-- String类(字符串对象)(字符串对象会在下一篇中认识)

一、Math类:

    java.lang.Math

   构造方法私有化 ,拿不到对象,所以都是static,

//若Math为普通类

Math math = new Math();

m.xxx();

//static

Math.xxx();

Math.PI;

Math.abs(-1);

   数学类

    java提供用来处理和计算复杂数学运算的类,叫Math

1. Math类Fields(属性):

    |-- PI        // 圆周率, 属性
    |-- E        // 自然常数,属性

    注意java中命名规范:

    java如何定义常量
    final 关键字

    final int A = 10;    // 常量

    A = 20;                // 不允许修改

    如果是常量定义,建议使用public static同时修饰(public static final)
    常量的命名规范问题,大常量所有单词都是写

2. Math类常见Method(方法)
    |-- abs(num)    // 返回num值的绝对值

有四个互为重载的方法(没有byte和short,因为有自动类型转换)
    |-- abs(num)              // 返回num值的绝对值
    |-- cbrt(a)                  // 开立方根
    |-- ceil(a)                   // 向上取整 
    |-- floor(a)                 // 向下取整
    |--round(double a)    //四舍五入

    |--max()            //返回两个数的较大值

    |--min()            //返回两个数的较小值

    |-- pow(double a, double b)    // a^b 幂次方,利用此方法可以计算开n次方
    |-- sqrt(a)                              // a的平方根
    |-- random()                         // 获取一个[0, 1)的随机小数   

jshell> Math.cbrt(27)
$3 ==> 3.0

jshell> Math.ceil(3.0000001)
$4 ==> 4.0

jshell> Math.ceil(3.0000000)
$5 ==> 3.0

jshell> Math.floor(3.0000001)
$6 ==> 3.0

jshell> Math.floor(3.999999999)
$7 ==> 3.0

jshell> Math.round(4.5)
$8 ==> 5

jshell> Math.round(4.3)
$9 ==> 4

jshell> Math.max(5, 10)
$12 ==> 10

jshell> Math.min(5, 10)
$13 ==> 5

jshell> Math.pow(2, 0.5)
$17 ==> 1.4142135623730951

jshell> Math.sqrt(2)
$18 ==> 1.4142135623730951

jshell> Math.random()
$19 ==> 0.5421006746128851

jshell> Math.random()
$20 ==> 0.3441662912804695

jshell> Math.random()
$21 ==> 0.8122107380072681

//随机一个[0, 9]的随机整数

jshell> (int)( Math.random() * 10)
$22 ==> 7

jshell> Math.floor((Math.random() * 10))
$26 ==> 0.0


//随机一个[a, b)内的整数(a < b),a >b 需交换两个数

(int)( Math.random() * (b - a) + a)

//+a保证下限是20,*(b - a)保证上限

//[20, 100)

jshell> (int)( Math.random() * (100 - 20) + 20)
$128 ==> 39

二、Scanner类:

   java.util.Scanner

  final,不能有子类

   Scanner 是标准输入流,IO流

1. Scanner类Constructors(构造函数):

     |--Scanner(inputStream sources)

           System.in标准输入流

           System.out标准输出流

2. Scanner类常见Method(方法)

无static 

jshell> import java.util.Scanner

jshell> Scanner sc = new Scanner(System.in)
sc ==> java.util.Scanner[delimiters=\p{javaWhitespace}+] ... \E][infinity string=\Q∞\E]


    |-- next()                 // 获取字符串,空格作为分隔符(按照一个单词一个单词的读取)
    |-- nextInt()             //读取一个整数
    |-- nextDouble()     //读取一个小数
    |--nextLine()          //读取一行,\n作为分隔符

jshell> sc.next()
this is a book
$189 ==> "this"

jshell> sc.nextInt()
6
$190 ==> 6

jshell> sc.nextDouble()
3.6
$191 ==> 3.6

jshell> sc.nextDouble()
6
$192 ==> 6.0

jshell> sc.nextLine()
this is a book
$194 ==> "tthis is a book"

三、Random类:

java.util.Random

普通类

1. Random类Constructors(构造函数):

|--Random()

|--Random(long seed)    //传一个种子,让正态分布更加随机一些

 Random r = new Random([long seed]);

jshell> Random r = new Random();
r ==> java.util.Random@31dc339b

jshell> Random rr = new Random(1025455522L);
rr ==> java.util.Random@31610302

2. Random类常见Method(方法)

 随机数:
     计算机中随机数都是 伪随机数(自然界中的随机数呈正态分布,是大自然自然运转,不是认为控制的。而计算机中的随机数是通过特定算法得到的,称为伪随机数)
     |-- Math.random()    // 获取一个[0, 1)的随机小数 
     |-- java.util.Random        

|--next(int bits)         //生成下一个随机数

访问修饰符是protected,外界不能访问

1. 同类,Random类是系统,没资格在里面写代码

2. 同包,util包,系统的包,无资格写代码

所以只能通过继承Random类才能使用

|--nextBoolean()

|--nextbytes()

|--nextFloat()

|--nextDouble() //随机获取一个小数

|--nextInt()   //随机获取一个整数

|--nextInt(int bound)

|--nextLong()

jshell> r.nextInt(10)
$162 ==> 8

jshell> r.nextInt(10)
$163 ==> 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值