Java常用类

5.其他常用类

5.1Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。如果需要更加强大的数学运算能力,计算高等数学中相关内容,可以使用apache commons下面的Math类库。

package li.normalclass.other;

public class TestMath {
public static void main(String[] args) { System.out.println(Math.PI);//PI
System.out.println(Math.random());//随机数
System.out.println(Math.abs(-5));//absolute 求绝对值
System.out.println(Math.floor(4.5));//向下取整 4.0
System.out.println(Math.ceil(4.5));//向上取整 5.0
System.out.println(Math.round(4.5));//四舍五入 5
System.out.println(Math.pow(2,5));//幂指数 2的5次方 32.0
System.out.println(Math.signum(-50.5));//判断符号-->负数返回-1.0
System.out.println(Math.signum(123));//整数返回1.0
System.out.println(Math.signum(0));//0返回0.0
System.out.println(Math.sqrt(25));//开方 5.0 }
}

5.2Random类

Math中虽然为我们提供了产生随机数的方法Math.random(),但是通常我们需要的随机数并不是[0,1)之间的double类型的数据,这就需要对其进行一些复杂的运算。如果使用Math.random()计算过于复杂的话,我们可以使用额外一种方式得到随机数,即Random类,这个类是专门用来生成随机数的,并且Math.random()底层调用的就是Random类的nextDouble()方法。

构造方法:

Random() 创建一个新的随机数生成器

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

只要种子数和nextInt()中的参数一致的话,每次生成的随机数列都是一样的(伪随机数)

例子:

package li.normalclass.other;

import java.util.Random;

/*
Math.random()底层调用的就是Random类的nextDouble()方法
产生[0,1)之间的随机double数
*/
public class TestRandom {
public static void main(String[] args) {
//随机数的生成是从种子值开始。 如果反复使用同一个种子,就会生成相同的数字系列,
// 产生不同序列的一种方法是使种子值与时间相关
Random rand = new Random(System.nanoTime());
for (int i = 0; i < 10; i++) {
//System.out.println(rand.nextDouble());
System.out.println(rand.nextInt(20));//[0,20)
} //生成一个从[10,20]的随机整数
//思路:即[10,21)----即[0,11)+10
for (int i = 0; i < 10; i++) {
System.out.println(rand.nextInt(11)+10);
} }
}

5.3枚举

JDK1.5引入枚举类型。枚举类型的定义包括枚举声明和枚举体。枚举体就是放置一些常量。定义枚举要使用关键字enum关键字。对于性别、季节、星期几等内容,如果定义为字符串类型,是很难限制其取值的。采用枚举可以轻松解决该问题。

所有的枚举类型隐形地继承自java.lang.Enum。枚举类型实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,它们默认都是pubilc static final 修饰的。可以直接通过枚举类型名使用它们

注意:

  • 当你需要定义一组常量时,尽量枚举类型
  • 另外尽量不要使用枚举的高级特性

例子:

  1. 定义枚举
  2. 变量定义为枚举类型
  3. 枚举变量的赋值
package li.normalclass.other;

//性别的枚举定义
public enum Gender {
男,女
}
package li.normalclass.other;

public class Person {
private String name ;
private Gender sex ;//变量定义为枚举类型 public Person() {
} public Person(String name, Gender sex) {
this.name = name;
this.sex = sex;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Gender getSex() {
return sex;
} public void setSex(Gender sex) {
this.sex = sex;
} @Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
} }
package li.normalclass.other;

public class Application {
public static void main(String[] args) {
// 使用枚举类来定义性别
Person person = new Person("张三",Gender.男);//枚举变量的赋值
System.out.println(person);
}
}

例子2:

package li.normalclass.other;

public enum Season {
春,夏,秋,冬
}
package li.normalclass.other;

public class TestSeason {
public static void main(String[] args) {
//定义一个枚举变量
Season season ;
//给枚举变量赋值
season = Season.冬;
//switch
switch(season){
case 春:
System.out.println("踏青 放风筝 春意盎然");break;
case 夏:
System.out.println("吃西瓜 吃雪糕 夏日炎炎");break;
case 秋:
System.out.println("赏菊 登高 秋高气爽");break;
case 冬:
System.out.println("滑冰 打雪仗 寒冬腊月");break; }
}
}

day17--Java常用类05的更多相关文章

  1. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  2. Java常用类之要点总结

    Java常用类之要点总结

  3. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  4. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  5. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  6. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  7. 第十四章 Java常用类

    14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 ...

  8. Java常用类详解

    目录 1. String类 1.1 String的特性 1.2 String字面量赋值的内存理解 1.3 String new方式赋值的内存理解 1.4 String 拼接字面量和变量的方式赋值 1. ...

  9. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuff ...

  10. java常用类-上

    一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...

随机推荐

  1. Xcode常用环境变量与常见使用场景

    在Xcode的工程配置中,与路径相关的都是使用环境变量,这样可以避免使用决定路径时项目移植性差的问题. Xcode常用宏 __FILE__ 当前文件所在目录 __DATE__ 编译日期的字符串,格式为 ...

  2. 2.列表--《Python编程:从入门到实践》

    2.1 列表   列表由一系列按特定顺序排列的元素组成.在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素. bicycles = ['trek', 'cannondale', ' ...

  3. 数学问题,2的n次方 - 1 是怎么来的? 通常用作计算数值

  4. Pandas—read_csv()/read_table()文本文件的读取

    对于CSV及txt后缀的文本文件,分别使用pandas模块中的read_csv函数和read_table函数 文件类型 函数名称 CSV read_csv() txt read_table() 1. ...

  5. Linux--Vi编辑命令(跳到指定行、翻屏、缩进)

    1.设置行号 如果编辑后,又想显示行号,同样操作按一下esc键,并输入:(冒号),输入set number    ,并按回车键,完成后即显示行号. 不需要显示行号,同样操作按一下esc键,并输入:(冒 ...

  6. Linux 中hdparm命令参数说明

    hdparm命令提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数. 语法 hdparm(选项)(参数) 选项 -a:设定读取文件时,预先存入块区的分区数,若不加上选项,则显示目前的设定: ...

  7. [WEB安全] XSS攻击防御 Vue

    一.概念 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序. 这些恶意网页程序通常是JavaScript,但实际上也可以 ...

  8. 【架构师视角系列】QConfig配置中心系列之Client端(二)

    目录 声明 配置中心系列文章 一.架构 一.客户端架 1.Server 职责 (1)配置管理 (2)配置发布 (3)配置读取 2.Client 职责 (1)配置拉取 (2)配置注入 (3)配置变更监听 ...

  9. mybatis处理集合、数组参数使用in查询

    对于mybatis的参数类型是集合数组的时候进行查询. 第一种:参数list ,使用mybatis的标签 1 SELECT * FROM TABLE_NAME AS a WHERE 2 3 a.id ...

  10. gorm入门学习

    文档 https://learnku.com/docs/gorm/v2/v2_release_note/9756 https://gorm.cn/zh_CN/docs/ 下载安装 go get -u ...