今天又是Java语言中的基础知识:运算符,这部分内容结合我之前学过的C语言感觉学起来没有那么困难,二者相似之处很多,因此还是老样子,这篇日记只记下了我之前不知或者认为需要记下来的东西。
1.算数运算符
1.1取余数
和C语言一样,Java中也有五个算数运算符,分别是:
“+”、“-”、“*”、“/” 和“%”(取余数)
前四个上过小学的都知道,在此不赘述,重点说说第五个。
还记得小学的时候摆竖式算除法吗?最后留在最上面的数叫做“商”,而留在下面小于除数的数字叫做“余数”,这个运算符就是在求两数相除的余数。
eg:
public static void main(String[] args) {
int a=10,b=6;
System.out.println(a%b);
}
输出是多少呢?
答案是4。
因为10除以6商1余4。
注意!!
运用算术运算符的时候整数操作只能得到整数,要想得到小数必须有小数(浮点数)参与!**
eg:**
int a=10,b=6;
System.out.println(a%b);
System.out.println(10.0/6);
System.out.println(10.0%6);
System.out.println(10.0*6);`
结果:
1.2字符的“+”操作
先上代码:
int i=10;
char c='A';
System.out.println(i+c);
结果:
凭什么int和char相加结果是char呢?
因为在计算机中“10+A”并不是一个数字加上一个字符,而是10加上A在ASCII码中对应的数值。由此我们可以知道A所对应的数值是65。感兴趣的同学可以试试其他字母对应的数值是多少。
当算术表达式中含有多种基本数据类型的时候,整个算数表达式的类型会自动提升。
提升规则:
byte、short、char——>int ——>long ——>float ——>double
1.3字符串的“+”操作
Java的字符加法就比C语言有意思了。
String s1="hello ",s2="world!";
System.out.println(s1+s2);
System.out.println("hello "+"world!");
三行代码,两句输出,结果不难猜出,都是 hello world!
那如果是int型和char型做加法呢?
System.out.println(786+"if");
没错,结果就是二者拼起来:
可是如果不止一个加号,阁下又该如何应对呢?
System.out.println("hi"+1+67);
System.out.println(1+67+"hi");
System.out.println(1+67+"hi"+2023);
这两个的输出结果会是一样的吗?
答案:
由此我们很容易的做出总结:
当连续进行“+”操作时,计算机是从左到右进行的,而当出现字符串的时候“+”便会变成连接运算符,否则就是算数运算符。