从0学Java(二)变量与计算
首先要了解,任何程序都可以理解为有一些输入,将这些输入的数据记录下来,加以计算,然后输出的过程。
我们已经知道用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));
如果运行成功,恭喜你了,接下来的100天,我会带大家一起升级,打装备~
文章转载自公众号: Java极客技术