前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从0学Java(二)变量与计算

从0学Java(二)变量与计算

作者头像
Java极客技术
发布2022-12-04 13:45:17
3530
发布2022-12-04 13:45:17
举报
文章被收录于专栏:Java极客技术

首先要了解,任何程序都可以理解为有一些输入,将这些输入的数据记录下来,加以计算,然后输出的过程。

我们已经知道用System.out.println可以让计算机输出,我们需要知道如何能让计算机读到我们输入的内容,我们还需要知道如何让计算机能记住我们输入的内容,以及如何进行相应的计算。

这篇文章的内容将讲解以下知识点:

①输入与输出,②变量与赋值,③浮点数的计算以及与整数之间的转换

①输入与输出

要读到程序的用户的输入,需要先构建一个Scanner的对象,然后让它来做各种形式的读的动作,再通过程序输出出来。

代码语言:javascript
复制
输入
Scanner in = new Scanner(System.in);
代码语言:javascript
复制
输出
System.out.println(in.nextLine())


大家把这两行代码打到Eclipse里,最好是自己亲自打一遍,别复制我的,这里可以用到一个小技巧:输入Scan之后,按Alt键和“/”键,系统会自动识别补全代码。


这时候肯定有人想问:如果我不想让它单纯的复制我说的话怎么办,我想让它输出点其他东西呢 这个时候就需要修改一下程序了,先把“输入的程序”关掉,注意:不用删除,光标选到程序,按Alt键和“/”键

然后把输出代码里的 in.nextLine()删掉,改成你想输出的内容,比如你想输出2+3=多少 System.out.println(2+3);

②变量与赋能 要保存读到的内容,就需要定义各种变量,当我们需要在程序里保存数据时,用一个变量保存数据,它才能参加到后面的计算中,赋能是用变量做各种计算,将结果直接输出或者保存到变量中。 int Poot=0; 这一行,定义了一个变量,变量的名字是Poot,类型是int,初始值是0,变量定义 的一般形式就是:<类型名称><变量名称>,<变量名称>是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。 标识符有标识符的构造规则:标识符只能由字母,数字和下划线组成,数字不可以出现在第一个位置,还有Java的关键字不可以用做标识符,当然不用专门记,当你不小心写出的,系统会提示 Poot=0 是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的值赋给左边的变量

int Poot =2+3; System.out.println(Poot);

③浮点数的计算以及与整数之间的转换

带有小数点的数,被叫做浮点数,这样的数在Java中如何表达,如何在整数和浮点数之间做转换?我在下面的代码案例带大家一起弄

案例:美国人喜欢使用英尺计量单位,他们习惯用几尺几寸来报身高,如果他告诉你,他是6英尺1,他身高是一米几?

数学是:(6+1➗12)×0.3048,但程序应该怎么写呢?

代码语言:javascript
复制
int Poot; int aoot;
Scanner in = new Scanner(System.in); 
Poot = in.nextInt(); 
aoot = in.nextInt();
System.out.println((Poot+aoot/12)*0.3048);

这个程序:给了两个变量Poot和aoot,用户输入:Poot和aoot,程序输出:Poot+aoot/12)*0.3048;

这个程序看起来没有问题,对吧,程序流程没有问题,程序公式也没有问题,也没有报错,但细心的同学发现,输出的结果不对,那是为啥呢?

是因为两个整数的运算的结果只能是整数,12和12.0在Java中是完全不同的数,12.0是浮点数

改进办法(一):Poot+aoot/12)*0.3048;→ Poot+aoot/12.0)*0.3048;

当浮点数和整数放到一起运算时,Java会将整数转换成浮点数,然后进行浮点数的运算

改进办法(二):int aoot; → double aoot;

aoot的定义为int类型的变量,把int换成double,double在Java表示浮点数的类型

OK,问题又来了,我想让输出结果正确的同时还显示整数,怎么办?

这个就涉及到浮点数转化为整数的问题了:强制类型转化

代码语言:javascript
复制
public static void main(String[] args) { // TODO Auto-generated method stub 
int Poot; 
double aoot; 
Scanner in = new Scanner(System.in);
Poot = in.nextInt(); aoot = in.nextInt(); 
System.out.println((int)((Poot+aoot/12)*0.3048*100));
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java极客技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档