【Java之旅】4.标识符与运算符

【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);
	}
}

输出结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-69U0NQKe-1611248253628)(C:\Users\37484\AppData\Roaming\Typora\typora-user-images\image-20210121234451620.png)]

我们可以发现字符串helloworld和nihao连接在了一起,而123似乎也变成了字符串连接在了后面

那我们如果把输出的语句改成

System.out.println("Hello wolrd!" + "nihao" + 1+2+3);

输出的结果是Hello world!nihao6吗?
我们会发现输出的结果依然还是Hello world!nihao123

(C:\Users\37484\AppData\Roaming\Typora\typora-user-images\image-20210121234733918.png)]

那么什么时候 "+"作四则运算 什么时候作字符串连接符号?

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

通常我们都会去选择运用&&或||,因为他们可以减少不必要的运算提高效率,但这并不意味着&和|完全没用,得视情况而论。

猜你喜欢

转载自blog.csdn.net/u014568597/article/details/112976078