Java学习历程之----基础篇(十)

人生无须太多的准备,上帝给了我们腿与脚,就是让我们不停地前行。

前言

       在解决实际问题时,对数字和日期的处理是非常普遍的,如数学问题、随机数问题和日期问题等。为了解决这些问题,Java 提供了处理相关问题的类,包括 Math 类、Random 类、BigInteger 类、Date 类等。

一、Math类常用方法

1

       在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等。Math 类位于 java.lang 包,使用时要先导入此包,Math 类中包含 E 和 PI 两个静态常量,其中 E 用于记录 e 的常量,而 PI 用于记录圆周率的值。具体应用我们看下面的实战代码吧。

二、Java生成随机数

2

        在 java 中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。Random 类位于 java.util 包中,使用时要先导入此包,Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float, byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。

三、Java时间日期处理

3

 在Java中获取当前时间,可以使用 java.util.Date 类和 java.util.Calendar 类完成。其中,Date 类主要封装了系统的日期和时间的信息,Calendar 类则会根据系统的日历来解释 Date 对象。Date 类表示系统特定的时间戳,可以精确到毫秒。Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。创建 Calendar 对象不能使用 new 关键字,因为 Calendar 类是一个抽象类,但是它提供了一个 getInstance() 方法来获得 Calendar类的对象。getInstance() 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

四、实战

4

                运行结果及源码

4.1 

4.2

4.3

4.1

package data;
import java.lang.*;
public class Math1 {
    public static void main(String[] args){
        System.out.println("E 常量的值:"+Math.E);//输出自然数e的值
        System.out.println("PI 常量的值:"+Math.PI);//输出pi的值
        System.out.println("5 和 68 的较大值:"+Math.max(10, 20));//输出较大值
        System.out.println("23.9 和 24 的较小值:"+Math.min(15.6,15));//输出较小值
        System.out.println("-12 的绝对值:"+Math.abs(-8));//输出绝对值
        System.out.println("16 的平方根:"+Math.sqrt(25));//输出平方根
        System.out.println("10 为底 2 的对数:"+Math.log10(3));//输出10为底3的对数
        }
    }

4.2

package data;
import java.util.Random;
public class Random2 {
    public static void main(String[] args){
    Random r=new Random();
        double a=r.nextDouble();    //默认生成[0,1.0]区间的小数
        int b=r.nextInt(10);    //生成[0,10]区间的整数
        int c=r.nextInt(18)-3;    //生成[-3,15]区间的整数
        long d=r.nextLong();    //生成一个随机长整型值
        System.out.println("生成的[0,1.0]区间的小数是:"+a);
        System.out.println("生成的[0,10]区间的整数是:"+b);
        System.out.println("生成的[-3,15]区间的整数是:"+c);
        System.out.println("生成的随机长整型数是:"+d);
    }
}

4.3

package first.data;
import java.util.Date;
import java.util.Scanner;
public class Data3 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入要做的事情:");
            String title = input.next();
            Date date1 = new Date(); // 获取当前日期
            System.out.println("[" + title + "] 这件事发生时间为:" + date1);
            try {
                Thread.sleep(60000);// 暂停 1 分钟
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Date date2 = new Date();
            System.out.println("现在时间为:" + date2);
            if (date2.before(date1)) {
                System.out.println("你还有 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒需要去完成【" + title + "】这件事!");
            } else {
                System.out.println("【" + title + "】事情已经过去了 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒");
            }
        }
    }


小编有话说

       上次习题代码附下,大家有顺利完成吗?本周时间日期处理相对较简单,所以大家自行练习,或许大家现在还没有感受到自己在编程方面有巨大的进步,我们的进度也稍显缓慢,小编也是能力有限,那我们就但行好事,莫问前程,结果总会是好的,如果现在还不是,那只能说明现在还不是结果。Fighting!

                                                                                 编辑:玥怡居士|审核:世外居士

往期精彩回顾

Java学习历程之----基础篇(九)

Java学习历程之----基础篇(八

Java学习历程之----基础篇(七)

居士之家

微信号 : IT进阶之旅

长按识别二维码关注

我就知道你“在看”

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值