从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极客技术
相关推荐

2022-10-31 07:33:05

Javafor循环

2022-10-30 10:14:43

Java循环语句

2022-09-30 07:32:48

循环while循环体

2022-11-26 00:34:57

数组Java程序

2021-04-19 20:36:06

存储Rust变量

2022-09-30 07:32:39

架构

2022-09-16 07:32:15

编程计算机命令

2022-10-28 07:38:06

Javawhile循环

2023-10-30 23:38:03

Rust编程基础

2015-03-25 13:50:32

云计算BAT云服务商

2011-10-08 14:09:27

JavaScript

2012-06-19 14:17:25

PC计算

2014-08-06 11:59:16

Xcode变量summary

2021-01-13 11:51:25

ARM位置无关码

2020-12-11 09:05:04

ARMMDKGNU

2019-01-29 14:29:03

微服务路由

2020-10-26 09:36:45

Java变量数据

2017-06-01 09:03:51

2021-05-25 11:50:32

ARMuboot网络协议栈

2021-01-08 12:06:59

WDT定时装置
点赞
收藏

51CTO技术栈公众号