JAVA-初步认识-第二章-算术运算符1
2017-08-28 15:21
239 查看
一. 概述运算符
之前的一些讲解的是错误,在常量和变量那一块,围绕地都是将常量赋值给变量,在这里谈论的才是运算,之前的都不算是运算。数据最主要的作用就是用来运算的。这里将要讨论运算过程中,用到的各种运算符,主要是算术运算符。
在现阶段学习的中,我学到两点:计算机的运算是一步一步来的,而且每一步之后,都有规则。默认数据类型是一直在起作用。
二. 算术运算符
JAVA运算中默认的数据类型,在算术运算所起的作用,将不同于日常生活中的四则运算。结果如下:
按照日常习惯,结果就应该是6370,但是DOS显示为6000。原因就在于计算的每一步,JAVA的默认类型这个规则都在起作用。6370/1000后,结果应为6.37,但是在JAVA中,默认结果为int,这样就将结果转化为6,6再乘以1000,最终显示为6000。
除了四则运算还有一个模运算(取余),符号为%,例如System.out.println(5%2);
这里有一点挺奇怪的:输出语句的()里,到底输出的是一个整体,还是计算的结果?这该如何判定。
模运算还有扩展:有负数参与的模运算。如果是-5%2,那么结果是-1;如果是5%-2,那么结果是1。就是说模运算中,结果是正还是负取决于左侧的被取余数,为什么呢?
模运算到底什么时候使用?任何数在模2的时候,不是0就是1,这会用在开关算法中。(开关算法就是只有两种情况)
除了模运算,还有连接符+,这就意味着+既可以代表加号,也可以代表连接符。在前面我们也抛出了这个疑问,到底怎么判定输出是一个整体,还是运算的结果?在这里我们得到了结果。判定的标准就是,如果是直接相加,比如3+2,那么就是输出结果;如果是3+"2",那么输出就是一个整体32。任何数据和字符串连在一起,输出的都是整体。有+和字符串的存在,使得输出的都是字符串。比如“5+5=”+5+5,输出的结果是5+5=55,这里计算时,其实是分为两部来的。先是"5+5="+5进行运算,得到的结果是"5+5=5",然后是运算"5+5=5"+5,最终的结果是5+5=55。由此可见计算是一步一步的来的。这里还可以变形一下,"5+5="+(5+5);这里加了一个(),
有了一个优先级。
这里还有一个变形,int a=4, b=5; System.out.println( ); 如果想要将4和5分别输出,这个括号里面应该怎么写?我自己提出的一个思路是a+"b", 这样输出的结果是4b,说明,虽然在{}里,b是定义好的变量,但是在()里,"b"就相当于是一个字符串,如果b相当变量使,就不能加""号。正确的写法是(a+","+b),输出的结果是4,5。原理就在于只要有一个字符串,整体就是字符串。→字符串的连接符应用。
之前的一些讲解的是错误,在常量和变量那一块,围绕地都是将常量赋值给变量,在这里谈论的才是运算,之前的都不算是运算。数据最主要的作用就是用来运算的。这里将要讨论运算过程中,用到的各种运算符,主要是算术运算符。
在现阶段学习的中,我学到两点:计算机的运算是一步一步来的,而且每一步之后,都有规则。默认数据类型是一直在起作用。
二. 算术运算符
JAVA运算中默认的数据类型,在算术运算所起的作用,将不同于日常生活中的四则运算。结果如下:
按照日常习惯,结果就应该是6370,但是DOS显示为6000。原因就在于计算的每一步,JAVA的默认类型这个规则都在起作用。6370/1000后,结果应为6.37,但是在JAVA中,默认结果为int,这样就将结果转化为6,6再乘以1000,最终显示为6000。
除了四则运算还有一个模运算(取余),符号为%,例如System.out.println(5%2);
这里有一点挺奇怪的:输出语句的()里,到底输出的是一个整体,还是计算的结果?这该如何判定。
模运算还有扩展:有负数参与的模运算。如果是-5%2,那么结果是-1;如果是5%-2,那么结果是1。就是说模运算中,结果是正还是负取决于左侧的被取余数,为什么呢?
模运算到底什么时候使用?任何数在模2的时候,不是0就是1,这会用在开关算法中。(开关算法就是只有两种情况)
除了模运算,还有连接符+,这就意味着+既可以代表加号,也可以代表连接符。在前面我们也抛出了这个疑问,到底怎么判定输出是一个整体,还是运算的结果?在这里我们得到了结果。判定的标准就是,如果是直接相加,比如3+2,那么就是输出结果;如果是3+"2",那么输出就是一个整体32。任何数据和字符串连在一起,输出的都是整体。有+和字符串的存在,使得输出的都是字符串。比如“5+5=”+5+5,输出的结果是5+5=55,这里计算时,其实是分为两部来的。先是"5+5="+5进行运算,得到的结果是"5+5=5",然后是运算"5+5=5"+5,最终的结果是5+5=55。由此可见计算是一步一步的来的。这里还可以变形一下,"5+5="+(5+5);这里加了一个(),
有了一个优先级。
这里还有一个变形,int a=4, b=5; System.out.println( ); 如果想要将4和5分别输出,这个括号里面应该怎么写?我自己提出的一个思路是a+"b", 这样输出的结果是4b,说明,虽然在{}里,b是定义好的变量,但是在()里,"b"就相当于是一个字符串,如果b相当变量使,就不能加""号。正确的写法是(a+","+b),输出的结果是4,5。原理就在于只要有一个字符串,整体就是字符串。→字符串的连接符应用。
相关文章推荐
- JAVA-初步认识-第二章-算术运算符1
- JAVA-初步认识-第二章-自动类型提升&强制类型转换
- 《Java编程思想》学习记录仪四 -- Java数组和作用域初步认识(第二章一切都是对象)
- JAVA-初步认识-第二章-字符类型的运算续
- JAVA-初步认识-第二章-字符类型的运算续
- JAVA-初步认识-第二章-变量的基本演示
- JAVA-初步认识-第二章-变量的基本演示
- JAVA-初步认识-第二章-变量续
- JAVA-初步认识-第二章-算术运算符1知识点整理
- JAVA-初步认识-第二章-变量
- JAVA-初步认识-第二章-变量续
- JAVA-初步认识-第二章-算术运算符1知识点整理
- JAVA-初步认识-第二章-变量
- JAVA-初步认识-第二章-自动类型提升&强制类型转换
- Java 静态加载类与动态加载类(初步认识Java的反射)
- JAVA-初步认识-第一章知识点框架
- java4android (继承 初步认识)
- Java初步认识
- 第7章 初步认识JavaBean
- 初步认识Java的集合类