【Java之旅】4.运算符与控制语句
4.1 标识符
做一个合法的标识符很重要,Java中合法的标识符命名规则与C中的规则一样,标识符只能以 字母、下划线、$开头。
用数字开头的都是非法标识符。
命名的标识符不能与关键字相同如do、int、float等
4.2 算数运算符
a.四则运算
Java中的四则运算与c中一致
与C相比 “+” 还多出了一种链接字符串的能力;
class Hi
{
public static void main(String[] args)
{
System.out.println("Hello wolrd!" + "nihao" + 123);
}
}
输出结果:
我们可以发现字符串helloworld和nihao连接在了一起,而123似乎也变成了字符串连接在了后面
那我们如果把输出的语句改成
System.out.println("Hello wolrd!" + "nihao" + 1+2+3);
输出的结果是Hello world!nihao6吗?
我们会发现输出的结果依然还是Hello world!nihao123
那么什么时候 "+"作四则运算 什么时候作字符串连接符号?
System.out.println(2 + 3 + "= 2 + 3 =" + 2 + 3);//输出5 = 2 + 3 = 23 A例
System.out.println(2 + 3 + "= 2 + 3 =" + ( 2 + 3 ));//输出5 = 2 + 3 = 5 B例
System.out.println()
“+” 不论是作为一个四则运算符号 还是 字符串连接符号 他都是一个双目运算符
当"+"的左右两边一方为String型时,它会将低精度的类型转换为String型变量
所以就造成了A例中出实现前面的 2+3 进行了四则运算运算,而后面的 2+3却像字符串一样拼接成了23
所以为了让后面的 2+3 正常运算我们可以像B例一样处理,利用括号 改变运算优先级,优先计算括号内的表达式
b.赋值运算符
在C中,如果我们定义一个数没有将他初始化,如果我们去进行编译的话,程序是可以通过的,此时的变量都是游离的数,不过会多出几条warning提示
但在java当中,如果这样写代码就会导致编译错误。
所以一定要记得对一些变量进行初始化。
那么赋值又是怎么实现的呢?
赋值是一个从右至左的顺寻进行的过程。
先从右边开始,算出等号右值,再将其赋给左值。
而上面的例子 b没有初始化并不是一个值,所以不能将其赋给a。
c."++"、"–"
java中的自增自减运算规则与C中大体一致
只需区分好++m与m++的不同之处
当"++"出现在变量前面时,如++m,则表示先对m进行自加,再进行该语句的执行
当"++"出现在变量后面时,如m++,则表示先进行该语句的执行,再对m进行自加
d.逻辑运算符
&, |, !, &&, ||, ==, !=
主要是&&与&的区别和||与|的区别相同
就以&&(短路与)与&(逻辑与)的区别为例
当我们在执行if语句的时候
if (a && b)
我们会去先判断a的真假,若a为假,则语句结束跳过if语句
而 if (a & b)
我们不管a是真是假,都要先判断a 再求判断b
通常我们都会去选择运用&&或||,因为他们可以减少不必要的运算提高效率,但这并不意味着&和|完全没用,得视情况而论。