【Java】基础、Java 数据类型

Java 整形
一、Java中整形有下面几种
1. byte 共 8 字节 (-2^7 ~ 2^7-1 )
2. short 16字节
3. int 32字节
4. long 64字节 
1).其中在内存中存储的时候是按照数字的补码存储的,下面说一下原码, 反码, 补码
原码 : 对于正数将数字转化为二进制 比如 8 可以转化为二进制数字 00001000 其中最高位为符号位, 对于负数 最高位的符号位为 1 其他的转为二进制数字 比如 
-8 转化为二进制原码是 10001000 
反码 : 正数的反码是正数本身, 负数的反码是 除了符号位(最高位) 其余的位数按位取反
比如 -8 的原码是11110111
补码 : 正数的补码是帧数本身, 负数的补码是反码 +1
2).其中在定义的时候 byte 可以直接定义 eg : byte b = 1;
但是在定义long 的时候要注意, 如果要将一个比较小的数字定义为long 的时候可以直接定义, Java 虽然会将它看为int 类型的, 但是在运算时候可以自由转化, 但是如果要将一个大数字定义为long 类型(这个数字超出了int 的范围)。那么必须在数字后面带‘L’ 或者 ‘l' 
3).数值的进制
8 进制的数字 前面带 0 
16 前面带 0x
2 进制前面带 0B
二、浮点型
1).Java 中浮点型有两种 (存储的时候采用科学计数法)
Float 共32位,其中 第一位是符号位, 接下来 8 位表示指数位, 剩下的23位表示尾数
Double 共64位, 其中第一位符号位, 接下来 11位表示指数位, 剩下的52位为尾数
定义Float 类型的变量的时候要在小数后面加f;
(浮点型可以表示很大的整数)
注意赋值时候的类型变量 
float  a = 5.6 是错的 , 默认下 5.6 是double类型的变量
2).Java表达式的自动提升
byte 和 short 在运算时候会转化为 int 型运算, 要注意数字的转化问题
整个表达式运算的时候会自动将数据类型提升到表达式中的最高次
三、运算符
1).Java 中运算符 + - * / ;
其中 / 会截断, 不会四舍五入
% 取余操作符, 两边的操作数可以是整数, 也可以是小数; 
eg : System.out.println(2.4 % 1.1); 
得到的结果是 0.1999999999997 (浮点型有误差)
2). Java 中位操作 & 与, | 或, ~非, << 左移, >> 右移, >>> 无符号右移
>> 和 >>> 区别:
如果操作数是正数的话没有区别, 
如果操作数是负数的话, >> 之后在最高位填补的是1,而 >>> 在最高位填补的是0


对于 byte short char 做位运算时候,总是先转化为Int
对于 int 类型的 右移时候 右移 b 位, 如果b > 32, 则先 b = b % 32, 然后移位,
long 一样, b = b % 64 
3). 逻辑运算
&& 与 , & 不短路与, || 或, | 不短路或。
|| 与 | 的区别 (在第一个条件为真的前提下, || 不会判断后面的 而,| 会判断后面的)

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 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、付费专栏及课程。

余额充值