从0学Java之变量与计算

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

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

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

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

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

①输入与输出

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

输入
Scanner in = new Scanner(System.in);
输出
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,但程序应该怎么写呢?

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,问题又来了,我想让输出结果正确的同时还显示整数,怎么办?

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

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));

责任编辑:武晓燕 来源: Java极客技术
相关推荐

2011-07-21 10:17:53

java

2020-10-26 09:36:45

Java变量数据

2017-03-07 19:30:54

Windows 7Windowsjava

2020-10-26 13:46:07

Java基础入门篇

2022-06-08 12:29:24

编程语言JavaPython

2022-06-03 16:59:13

编程语言Awk

2020-10-29 13:40:52

Java基础

2020-10-22 13:33:48

Java基础入门

2020-08-11 07:31:39

JavaVolatile模型

2020-01-07 14:43:26

JVM类加载器执行引擎

2018-09-04 15:45:58

Python代码编程语言

2010-03-30 16:22:55

Oracle不同版本

2019-11-15 15:09:27

Python代码优雅

2010-01-27 15:05:04

C++标准化
点赞
收藏

51CTO技术栈公众号