lesson3

大家好,欢迎大家和我一起,继续学习Java

 

上节课我们知道了,在Java中,语句是顺序执行的,每条语句需要用;号分隔开

我们可以通过下面的语句(new Scanner(System.in)).next()获取用户键盘的输入

当我们需要在程序中存储数据时,可以声明一个变量,并通过=号为这个变量赋值

 

上节课我们知道了字符串类型String,用它声明出的变量,可以用来存储文字信息,如姓名等

 

今天这节课,我们看一下,在Java中,还有哪些类型的变量。

大家都知道,计算机之所以被称为计算机,主要是因为它能够处理数值计算,一提到数学,我相信大家都会莫名头疼,不要担心,我们可以写出程序,告诉计算机如何计算,这样,它就能帮我们解决大部分的数学问题啦。

 

首先,在Java中,为我们提供了丰富的数据类型,用于存储数字,

用于存储整数的有byte,short,int,long。这么多的数字类型,有同学问了,他们的区别是什么呢?

实际上,他们的区别仅仅在于,他们能存储的数字大小范围不一样,让我们看一下下面的表格

显示表格

在日常工作中,我们最经常使用的就是int类型啦,它足以满足我们存储日常生活中的大部分整数了。

对于想知道为什么他们的数值范围不一样的同学,请看详细解释,这里不作过多解释咯。

 

详细:计算机如何存储数字?

计算机底层硬件其实非常单纯,没有我们想象的那么复杂,这些由半导体组成的硬件,其实只能存储有电和没电两种物理信号,可是我们人类很聪明,利用这仅仅这两种信号,表达了数字1和0,接着,我们利用二进制和十进制的转换,就用二进制的0和1,表达了0到9的数字。

在计算机中,每一个用于存储0和1的存储单元,被称为一个bit,即比特。每八个bit,我们习惯称为一个byte,即字节。

byte占用了一个字节,short占用了两个字节,int占用了四个字节,long占用了八个字节。

现在你能理解为什么会有这么多的数据类型来存储整数和小数了吧,这么做,其实就是为了可以更好的根据数据的大小,合理利用计算机的存储空间。

 

如果我们想存储小数,Java又给我们提供了哪些数据类型呢?

在Java中,提供了float,double这两种数据类型来存储小数。他们的区别跟整数一样,也就是,存储的数字大小范围不同,让我们看一下下面的表格

显示表格

在日常工作中,最常用的小数类型是double。

 

我们不需要准确记住这些数字大小范围,当不确定的时候,参照一下表格即可。

只需要记得,整数最常用的是int,小数最常用的是double 

 

既然我们已经学会了Java中有哪些数字类型,让我们一起看一下,在Java中,有哪些可以做得数字运算吧。

 

其实在Java中,支持所有的四则运算,他们的符号分别是+,-,*,/

还有一个是求余数%。

 

让我们试着计算一些简单的运算

一些简单的运算

我们发现,整数运算的结果,一定是整数

小数运算的结果,一定是小数

整数和小数运算的结果,也是小数

 

可是有时候,我们希望整数运算的结果,是小数,比如下面的例子

我和小伙伴一起聚餐,花费了25元,请程序帮助我们算一下AA制的1话,每人要付多少钱,我们更希望得到的结果是一人12.5元,而不是12元,对么?

所以,为了得到结果是小数,我们的被除数,需要被声明为小数才行,如

 

我们知道,在我们学过的数学公式中,有很多是比较复杂的,在计算机中,应该如何表达他们呢?比如a=(b+c)*d

其实,在Java中和我们知道的数学知识一样,运算都是有优先级的,乘除的优先级要高于加减的优先级。

同样的,我们也可以在Java中,使用小括号来表示强制优先运算,如

 

好了,让我们看看这节课又学会了哪些新技能

首先,我们知道了在Java中,可以存储数字类型的变量,整数最常用的是int,小数最常用的是double

其次,我们知道了在Java中,可以进行四则运算和求余运算

并且,我们知道了,整数运算后的结果,一定是整数;只要有小数参与的运算,结果就一定是小数

最后,我们可以利用小括号,来表达强制优先的运算,这和我们在数学中是一样的

 

到目前为止,我们学会了如何写一个简单的Java程序,如何通过打印和获得用户输入,

如何存储字符和数字,还学会了如何进行数字运算。其实Java能做得,还有很多呢,让我们下节课再见吧,byebye

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【Embabel Agent】生产级最佳实践与避坑指南 本文围绕架构师最关心的 8 大维度展开:测试策略(FakeOperationContext 实现 Action 级单元测试、Prompt 质量与敏感信息校验)、MCP 集成实战(STDIO/HTTP 双模式、自建 Server、Docker MCP 生态)、RAG 检索增强、OpenTelemetry 全链路可观测性与追踪、Docker/K8s 生产部署、API Key 管理与 @Tool 安全防护、模型选择/缓存/并行等性能优化,以及过度依赖 LLM、忽略错误处理等 8 大常见反模式避坑指南。 阅读详情

相关推荐

海思Hi3516CV610--SPI NAND Flash移植实战:从手册到驱动的完整适配

本文详细介绍了海思Hi3516CV610芯片上SPI NAND Flash的移植实战,包括从手册解读到驱动适配的完整流程。以GD5F2GM7UEYIGR Flash为例,重点讲解了关键参数确认、模式选择、时序配置以及U-Boot和Linux内核驱动的具体实现步骤,帮助开发者快速完成Flash移植工作。

weixin_29158413的博客 446

数据科学之第三章中lesson3的探索单变量 (R语言)

l课程讲解中的lesson3.rmd R学习 Lesson 3 ======================================================== *** ### What to Do First? Notes: *** ### Pseudo-Facebook User Data Notes: ```{r Pseudo-Facebook User Da...

Jasminexjf的博客 365

山东专升本计算机网络基础知识点 --- 计算机网络基础

计算机网络是指将一群具有独立\textcolor{WildStrawberry}{独立}独立功能的计算机通过通信设备及传输媒体等互联起来,在通信软件的支持下,实现计算机间资源共享、信息交换或协同工作\textcolor{WildStrawberry}{资源共享、信息交换或协同工作}资源共享、信息交换或协同工作的系统。计算机网络是计算机技术和通信技术紧密结合的产物\textcolor{WildStrawberry}{计算机网络是计算机技术和通信技术紧密结合的产物}

z339521的博客 2814

Stage3_Lesson6电话与短信应用

Stage3_Lesson6电话与短信应用

都市游侠的专栏 833

Android真机调试——ADB调试(含华为手机无法找到设备)

本文以Huawei Nova7为例。

lianqi2003的博客 7856

国产PLC实战:用汇川Easy320搞定TCP通信,手把手教你网口转串口控制设备

本文详细解析了如何使用汇川Easy320 PLC实现TCP通信与串口控制,解决工业自动化中设备间通信协议差异问题。通过实战案例和代码示例,展示了Easy320在协议转换、数据解析和串口转发中的高效应用,帮助工程师快速掌握网口转串口控制技术。

weixin_31774841的博客 499

Lesson3_Queue

【代码】Lesson3_Queue。

2501_91319803的博客 112

mobaXterm连接vmWare虚拟机上的centOS7提示连接失败的解决方法

1.问题描述: mobaXterm安装后连接虚拟机vmWare上的centOS7发现连接不上,如下图所示: 2.解决方法 先是查了一下centOS的ip 开始错误的以为 virbr0: 后面的inet就是虚拟机的IP 实则不然(正确的ip是在ens33后面的inet中的ip,大佬们勿喷) 这个值需要配置一下的,具体配置过程如下: step1: 进入centOS下的/...

hss19214的博客 7890

Lesson 3 Please send me a card

Lesson 3 Please send me a card

AllenAC的博客 978

【NLP】第十章:位置编码Positional Encoding

前面讲RNN时一般都会有一个ht的输出,这个输出就是样本与样本之间的信息,而且RNN是时序循环的,所以RNN本身的结构,在物理上,就自带词的前后顺序信息的。比如词never,不管never本身的词向量是什么,只要你在序列中排第一个位置,你的位置向量就是[0,1,01],你排第三个位置,你的位置向量就是[0.9,-0,4,0.2,1.0]。也所以,你可以理解为:embedding后的词嵌入,PE按照每个样本在sequence中的位置,把embedding后的词嵌入给扭转后,才送入attention的。

因为热爱所以坚持 1917

【推荐100个unity插件】动画重定向,快速在不同角色间共享动画,共用非人形Humanoid(泛型generic)动画——Retarget Pro

Retarget Pro是一款高效的Unity动画重定向工具,可快速在不同角色间共享动画。主要特点包括:1分钟快速设置,支持编辑器和运行时重定向;适用于人形、动物、武器等各类角色;提供基础重定向、IK重定向和FPS专用重定向三种功能模块;通过Rig组件和骨架资产实现骨骼链匹配,支持批量处理。插件包含示例项目和预设资源,操作简便且效果优于Unity原生Humanoid系统,特别适合处理手指等精细动画。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 545

Lesson3_多选框和单选框

【代码】Lesson3_多选框和单选框。

2501_91319803的博客 111

基于LSTM GRU RNN的交通流量预测-完整数据代码

基于LSTM GRU RNN的交通流量预测-完整数据代码

921

【英语基础篇】新概念一册lesson 3 - sorry,sir

sorry sir。

互联网老辛 1044

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Lesson 3

<br />java使用jdbc连接数据库,数据库为mysql,随机产生一万个号码放入数据库中<br />import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.ArrayList;<br />import java.util.List;<br />import

运到盛时需警醒,境当逆处要从容 1196

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Lesson3

不能重载的运算符 .    ::     .*     ?:   sizeof   重载为成员函数时 不能作为左值的 不能返回引用 要能作为左值 则返回引用   左移右移运算符的重载 返回值不作为重载判断的标准   c++通过一个占位参数来区分前置和后置运算   Complex operator ++(int); Complex &amp;operator ++();  ...

Cookey_July的博客 230

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

新概念英语1:Lesson3内容详解

这是一个省略形式的祈使句,完整的句子为: Give me my coat and my umbrella, please.口语中,在语境明确的情况下通常可以省略动词和间接宾语,如:(Show me your)Ticket, please.(Show me your) Passport, please.句子采用了倒装句式,即系统词is提到了主语my ticket前面。正常语序为My ticket is here.当以副词“Here”,“There”开头时需要倒装:Here comes the bus.The

zxbylx1120471286的博客 1156

孙鑫VC++Lesson3

这节课,开始学习了MFC框架程序,我的感觉就是照着例子倒是好写了,可是自己写的时候就是很困难啊!这节课中,主要给我们讲解了MFC框架程序执行的顺序情况最后的这个例子还是很不错的!class CWnd{public:    BOOL CreateEx(DWORD dwExStyle,      // extended window style               

路径的专栏 810

Tiny Renderer Lesson 3

Tiny Renderer Lesson 3

a42027756的博客 527

Lesson 3 Sorry,Sir

Listen to the tape then answer this question.Does the man get his umbrella back?My coat and my umbrella please.Here is my ticket.Thank you ,sir.Number five.Heres your umbrellar and your coa

海纳百川的专栏 860

推荐项目:jam3-lesson模块基础 - 搭建前端JavaScript的现代开发桥梁

推荐项目:jam3-lesson模块基础 - 搭建前端JavaScript的现代开发桥梁 在当今快速发展的Web开发领域,模块化编程已成为不可或缺的核心实践。今天,我们来探索一个旨在引导开发者进入模块化前端世界的重要开源项目——【jam3-lesson】,特别是其“module-basics”部分。这个项目不仅是一份详尽的指南,更是初学者和经验丰富的开发者深入理解现代JavaScript开发环境的...

gitblog_00668的博客 860

开源项目教程:jam3-lesson-webgl-shader-threejs

开源项目教程:jam3-lesson-webgl-shader-threejs 项目介绍 jam3-lesson-webgl-shader-threejs 是一个开源项目,旨在教授如何在 ThreeJS 中使用自定义顶点和片段着色器。ThreeJS 是一个用于创建和显示基于Web的3D计算机图形的JavaScript库。通过使用 ThreeJS,开发者可以避免编写大量WebGL的样板代码,从而简化...

gitblog_00261的博客 962

学python lesson3

准备发布: 1.首先为模块创建一个文件夹; 创建好之后,将nester.py模块文件复制到这个文件夹中。简单起见,文件夹命名为nester; 2.在创建好的文件夹中创建一个名为setup.py的文件; 这个文件包含有关发布的元数据。编辑这个文件,增加下面的代码: from distutils.core import setup # 从python发布工具导入“setup”函数 setup( # setup函数的参数名 name = '...

user012的博客 260

lesson 3

在任意用户家目录下的隐藏文件中, `.bashrc` 和 `.bash_profile`(或 `.profile`)可以配置用户的环境变量,例如/root/.bashrc,/home/xingyun/.bashrc,nano命令.bashrc文件,编辑aaa=111,保存退出,source ./.bashrc或者.bashrc,echo $aaa可显示变量值,创建一个子Shell,echo命令依然可以显示变量值。这意味着,如果其他进程或脚本需要访问这个变量,它们可以通过环境变量的方式获取到这个变量的值。

pikaqiuu11的博客 496
上一篇: lesson 2
下一篇: lesson4
hellobbboy
博客等级 码龄17年 20粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值