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

maxdl
发布于 2023-2-9 16:01
浏览
0收藏

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



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


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

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

①输入与输出

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

输入
Scanner in = new Scanner(System.in);


输出
System.out.println(in.nextLine())


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


从0学Java(二)变量与计算-鸿蒙开发者社区


这时候肯定有人想问:如果我不想让它单纯的复制我说的话怎么办,我想让它输出点其他东西呢  

 这个时候就需要修改一下程序了,先把“输入的程序”关掉,注意:不用删除,光标选到程序,按Alt键和“/”键


从0学Java(二)变量与计算-鸿蒙开发者社区


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


System.out.println(2+3);


从0学Java(二)变量与计算-鸿蒙开发者社区


②变量与赋能  

 要保存读到的内容,就需要定义各种变量,当我们需要在程序里保存数据时,用一个变量保存数据,它才能参加到后面的计算中,赋能是用变量做各种计算,将结果直接输出或者保存到变量中。


int Poot=0;


这一行,定义了一个变量,变量的名字是Poot,类型是int,初始值是0,变量定义的一般形式就是:<类型名称><变量名称>,<变量名称>是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。


标识符有标识符的构造规则:标识符只能由字母,数字和下划线组成,数字不可以出现在第一个位置,还有Java的关键字不可以用做标识符,当然不用专门记,当你不小心写出的,系统会提示 Poot=0


是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的值赋给左边的变量


从0学Java(二)变量与计算-鸿蒙开发者社区


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


从0学Java(二)变量与计算-鸿蒙开发者社区


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


带有小数点的数,被叫做浮点数,这样的数在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);


从0学Java(二)变量与计算-鸿蒙开发者社区



这个程序:给了两个变量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会将整数转换成浮点数,然后进行浮点数的运算


从0学Java(二)变量与计算-鸿蒙开发者社区



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


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


从0学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));


从0学Java(二)变量与计算-鸿蒙开发者社区



如果运行成功,恭喜你了,接下来的100天,我会带大家一起升级,打装备~


从0学Java(二)变量与计算-鸿蒙开发者社区




文章转载自公众号:  Java极客技术 

标签
已于2023-2-9 16:01:46修改
收藏
回复
举报
回复
    相关推荐