Java数值操作

文章目录

    • 1.数值数据类型和操作
      • 1.1 数值类型
      • 1.2 从键盘读取数值
      • 1.3 数值操作符
    • 2.数值型字面值
      • 2.1 整形字面值
      • 2.2 浮点型字面值
      • 2.3 科学记数法
    • 示例:显示当前时间
    • 3.增强赋值运算符
    • 4.自增和自减操作符
    • 5.数值类型转换

1.数值数据类型和操作

1.1 数值类型

类型名范围储存空间
byte-27(-128)~27-1(127)8位带符号数
short-215(-32 768)~ 215-1(1(32 767)16位带符号数
int-231(-2 147483 648)~231-1(2 147 483 647)32位带符号数
long-263~263-164位带符号数
float负数范围:-3.4028235E+38~-1.4E-45
正数范围:1.4E-45~3.4028235E+38
32位,标准IEEE 754
double负数范围:-1.7976931348623157E+308-4.9E-324
正数范围:4.9E-324~1.7976931348623157E+308
64位,标准JEEE 754

1.2 从键盘读取数值

Scanner input = new Scanner(System.in);
byte bytevalue = input.nextByte();

类似的,还有nextShort、nextInt、nextLong、nextFloat、nextDouble

1.3 数值操作符

名称符号
+
-
*
除以/
求余%

当除法的操作数都是整数时,除法的结果就是整数,小数部分被舍去(即整除以)。例如:5/2的结果是2而不是2.5,而-5/2的结果是-2而不是-2.5。
操作符%通常用在正整数上,实际上,它也可用于负整数和浮点值。只有当被除数是负数时,余数才是负的。

2.数值型字面值

2.1 整形字面值

  • 整型字面值默认是int型的
  • 表示一个1ong型的整型字面值,需要在其后加字母L或l。推荐使用L,因为l(L的小写)很容易与1(数字1)混淆。
  • 默认情况下,整型字面值是一个十进制整数。要表示一个二进制整数字面值,在数字前使用 0b或者 0B。要表示一个八进制整数字面值,在数字前使用0。而要表示一个十六进制整数字面值,在数字前使用0x或0X。
  • 为了提高可读性,Java 允许在一个数值型字面值的两个数字间使用下划线。下划线必须置于两个数字之间。

2.2 浮点型字面值

  • 浮点型字面值带小数点,默认情况下是doub1e型
  • 可以通过在数字后面加字母f或F表示该数为f1oat 型字面值,也可以在数字后面加d或D表示该数为double型字面值

2.3 科学记数法

浮点型字面值也可以用ax10b形式的科学记数法表示。1.23456x102可以写成1.23456E2或者1.23456E+2,而1.23456x10-2等于1.23456E-2。E(或e)表示指数,既可以用大写字母也可以用小写字母。

示例:显示当前时间

public class ShowCurrentTime{public static void main(String[] args) {//System类中的方法currentTimeMi11is返回从GMT1970年1月1日00:00:00开始到当前时刻的毫秒数long t = System.currentTimeMillis();//总秒数long totalSeconds = t/1000;//秒数long seconds = totalSeconds%60;//总分钟数long totalMinutes = totalSeconds/60;//分钟数long minutes = totalMinutes%60;//总小时数long totalHours = totalMinutes/60;//小时数long hours = totalHours%24;}
}

3.增强赋值运算符

操作符名称
+=加法赋值操作符
-=减法赋值操作符
*=乘法赋值操作符
/=除法赋值操作符
%=求余赋值操作符
增强赋值操作符在表达式中所有其他操作符计算完成后执行。例如:
x /= 4 + 5.5 * 1.5;
//等同于
x = x / (4 + 5.5 * 1.5);

4.自增和自减操作符

示例名称意义
++var前置自增将 var 加 1,在语句中使用新的 var 值
var++后置自增将 var 加 1,但是在语句中使用原来的 var 值
–var前置自减将 var 减 1,在语句中使用新的 var 值
var–后置自减将 var 减1,但是在语句中使用原来的 var值

5.数值类型转换

类型转换是将一种数据类型的值转换成另一种数据类型的值的操作。将范围较小的类型转换为范围较大的类型称为扩展类型(widening a type),而将范围较大的类型转换为范围较小的类型称为缩小类型(narrowing a type)。Java将自动扩展一个类型,但是缩小类型必须显式完成。 比如:3/4.5等同于3.0/4.5。
显式完成的语法:

System.out.printin((int)1.7); // 1
System.out.printin((double)1/2); // 1首先被转换为1.0,所以得0.5
System.out.print1n(1/2); // 0

如果要将一个值赋给一个范围较小的类型的变量,例如将 double型的值赋给 int型变量,就必须进行类型转换。如果在这种情况下没有使用类型转换,就会出现编译错误。

double a = 1.5;
int b = (int)a;
System.out.printin(a); // 1.5
System.out.printin(b); // 1

Java中,x1op=x2形式的增强赋值表达式实现为x1=(T)(x1 op x2),这里T是x1的类型。

int sum = 1;
sum += 2.5;
// 等价于下式:
sum = (int)(sum + 2.5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是面向对象编程

什么是面向对象编程?(OOP) ● 面向对象编程是一种基于对象概念的编程范式;(所谓的编程范式,就是代码风格,我们“如何”编写和组织代码); ● 我们使用对象来模拟&#xf…

【Cesium开发实战】飞行漫游功能的实现,可设置漫游路径,漫游高度,暂停,继续,删除路径

Cesium有很多很强大的功能,可以在地球上实现很多炫酷的3D效果。今天给大家分享一个可自定义的漫游飞行功能。 1.话不多说,先展示 漫游 2.设计思路 项目需求,可自定义漫游路径,并且设置高度,暂停,继续&…

如何制作文件的二维码?支持设置文件下载功能

现在为了能够更快的将文件分享给其他人查看,会选择将文件转换二维码的方式,用户可以通过扫描二维码在手机上预览或者下载文件到本地,能够有效的减少文件对内存的占用,在很多场景下都有所应用,那么文件转二维码具体该怎…

TCP/IP模型和OSI模型的区别(面试题)

OSI模型,是国际标准化组织ISO制定的用于计算机或通讯系统间互联的标准化体系,主要分为7个层级: 物理层数据链路层网络层传输层会话层表示层应用层 虽然OSI模型在理论上更全面,但是在实际网络通讯中,TCP/IP模型更加实…

LabVIEW电子水泵性能测试平台

开发了一种车用电子水泵性能测试平台,该平台以工控机为载体,利用LabVIEW开发上位机软件,采用PLC控制阀门和水泵等电气元件,通过RS485进行数据采集并传输到上位机。通过上位机与下位机的协同控制,实现了数据交互处理和性…

LeetCode题练习与总结:寻找旋转排序数组中的最小值Ⅱ--154

一、题目描述 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 …

基于Java Web的考编论坛网站的设计与实现+lw+源码+讲解+调试+视频演示

第3章 系统分析 用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料,分析人员可以根据这些信息确定出本系统具备的功能,分析出本系统具备的性能等内容。 3.1可行性分析 尽管系统是根据用户的要求进行制作,但…

聚鼎贸易:装饰画生意能不能做起来2024

在2024年,随着人们对家居美学和个性化表达的需求日益增长,装饰画作为一种简单而直接的方式,来提升空间品味及展示个人风格的市场需求也随之扩大。许多人都对涉足这一行业抱有浓厚的兴趣,但究竟这门生意能否成功做大,需…

Unity 资源 之 战斗魔法咒语 - 第二卷(Combat Magic Spells - Volume II)

🎉Unity Asset Store 宝藏免费资源:战斗魔法咒语 - 第二卷 前言资源包内容领取兑换码 前言 各位游戏开发爱好者、Unity 开发者们,今天要给大家带来一个超棒的消息!在 Unity Asset Store 上,全新的免费资源“战斗魔法咒…

Java高级重点知识点-27-Java反射机制

文章目录 Java反射机制概述理解Class类并获取Class的实例Class 类 类的加载与ClassLoader类加载过程类的初始化触发条件类加载器的作用ClassLoader 创建运行时类的对象获取运行时类的完整结构调用运行时类的指定结构反射的应用:动态代理Proxy类AOP(Aspec…

JavaWeb系列二十一: 数据交换和异步请求(JSON, Ajax)

文章目录 官方文档official documents官方文件官方文件official documentsJSON介绍JSON快速入门JSON对象和字符串对象转换应用案例注意事项和细节 JSON在java中使用说明JSON在Java中应用场景应用实例 Ajax基本介绍Ajax是什么Ajax经典应用场景 Ajax原理示意图传统的web应用Ajax原…

Vue3打包发布,刷新出现的空白页面和错误

Vue3打包发布出现的错误:Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of text/html. Strict MIME type checking is enforced for module scripts per HTML spec. 第一次点击访问到这个路径&…

粉笔推出国内首个职教行业大模型,助力学员高效学习

7月12日,粉笔正式推出其自主研发的首个专注于职教行业的垂域大模型,并将于8月1日上线粉笔AI老师 “粉笔头”,为学员提供个性化、智能化的辅导服务。 在垂域大模型的基础上,粉笔结合10年来的教研积累、独有数据搭建RAG系统&#x…

java上手

java上手 文章目录 java上手0.注释1.简单的输出2.从控制台读取输入3.标识符4.变量5.赋值6.常量7.命名习惯 0.注释 // 单行注释 /*多行注释*/ /**对类和方法进行说明*/1.简单的输出 public class HelloWorld{public static void main(String[] args){System.out.println("…

使用MAVSDK向PX4模拟器发送启飞与降落指令

1.使用docker启动PX4模拟器 docker run --rm -it jonasvautherin/px4-gazebo-headless:1.14.3 开始启动 启动中 PX4启动成功 创建QGC连接 mavlink start -p -u 14556 -t 192.168.1.66 -o 14550 启动QGC连接PX4模拟器 在QGC中执行各种指令

TensorFlow系列:第五讲:移动端部署模型

项目地址:https://github.com/LionJackson/imageClassification Flutter项目地址:https://github.com/LionJackson/flutter_image 一. 模型转换 编写tflite模型工具类: import osimport PIL import tensorflow as tf import keras import …

电子画册制作全攻略,从零开始制作

在这个数字化时代,电子画册作为一种新型的传播媒介,已经越来越受到人们的青睐。它以生动活泼、互动性强、传播速度快等特点,迅速成为了企业宣传、个人展示的优质选择。那么,如何从零开始制作一款引人入胜的电子画册呢?…

pdf文件如何快速英文转中文?

要将 PDF 文件中的英文内容转换为中文,你可以使用以下几种方法: 1、在线翻译工具: 使用网上的免费在线翻译工具,如Google翻译、百度翻译或有道翻译,将整个 PDF 文档粘贴到工具中进行翻译。 2、专业翻译软件&#xf…

数据结构——(双)链表

文章目录 1. 定义 2. 双链表和单链表的区别 3. 代码示例 3.1 双链表节点和结构定义 3.2 初始化双链表 3.3 返回双链表的长度 3.4 在指定位置插入元素 3.5 在末尾插入元素 3.6 删除指定位置的元素并返回被删除的元素 3.7 删除末尾元素 3.8 获取指定位置的元素 3.9 修…

笔记:使用Microsoft.EntityFrameworkCore.Proxies做数据库延迟加载

一、目的: Microsoft.EntityFrameworkCore.Proxies 是一个Entity Framework Core的扩展包,它提供了对延迟加载的支持。延迟加载是一种ORM(对象关系映射)行为,允许在首次访问导航属性时,自动从数据库加载相关…