运算符
运算符:是对常量或者变量进行操作的符号。
赋值运算符( =)
"="是
Java
语言中的赋值运算符。这个运算符要求:"="
左边必须是一个变量,右边是一个值
(或者变量)
。
示例:
int age = 20;
上述的案例中,
"="
就起到一个赋值的作用,它把
20
赋值 给了age
变量。
再例如:
age = 30;
在上一步中,
age
的值是
20
,经过
age = 30
以后,
age
的值变为30。
"="
将
30
赋值给了
age
。
赋值运算符的使用场景:
1.
初始化变量。任何一个变量在用的时候都必须先定义再使用,定义的时候,必须有初始值。
2.
改变变量的值。
算术运算符(+、-、 * 、/、%)
优先级:先
* / %
,后
+ -
+、-运算符另外作用
+
:可以作用于字符串,作用是字符串拼接。注意:
+
的两侧,至少有一个是字符串。
-
:可以用作负号。
复合运算符(+=、 -= 、 *= 、/=、%=)
//第一段代码
short a = 20;
a = a + 10; //报错
//第二段代码
short a = 20;
a += 10;
上面
2
段代码有很大的差别!
a += 10
;
+=
自带强制类型转换。复合运算符具有强制类型转换的功能。
自增自减运算符(++、--)
自增、自减运算符只能作用于变量。
变量既可以放在
++(
或
--)
的前面,也可以放在
++(
或
--)
的后面
++
在前,先自增。
++
在后,后自增。
--
在前,先自减。
--
在后,后自减。
关系运算符(== 、!=、>、>=、<、<=)
注意区别
=
和
==
,二者截然不同。
逻辑运算符(&、|、!、^ 、&&、||)
&
是并且的意思。需要同时满足条件,结果才是
true
,否则是false
|
是或者的意思。需要同时为
false
时,结果才是
false
,否则是true
^
异或的意思。相异为
true
,相同为
false
!
只有一个操作数,对操作数的结果取反
&&
和
||
只是多了短路功能,其他与
&
和
|
一样。开发中几乎都使用&&
和
||
,不使用
&
和
|可以把true
理解为大于
0
的正数,
false
理解为
0
三目运算符(? :)
格式:
关系表达式
?
表达式
1 :
表达式
2
作用:
如果关系表达式的值为
true
,表达式
1
的值将作为整个
式子的值。如果为
false
,表达式
2
的值将作为整个式子的值。
表达式:运算符和常量或变量组成的式子。
例如:
a+b c > d 2 * e + f x + y > z
一目、二目、三目
一目:运算符只有一个操作数。例如:
++
、
--
、
!
二目:运算符有
2
个操作数。例如:
+
、
-
、
*
、
/
、
%
、
|
、
&
、^、
&&
、
||
、
>
、
>=
、
<
、
<=
、
!=
、
==
三目:运算符有
3
个操作数。例如:
? :
运算符的优先级
原则:
1.
一目运算符的优先级高于二目运算符、二目运算符的优先
级高于三目运算符。
2.
同目时,
* / %
高于
+ -
,
&&
高于
||
3.
可以通过加
()
的方式改变优先级。
表达式和语句
1.
表达式:由常量、变量以及运算符组成的式子。
关系表达式
:用于比较数据(或表达式)大小的表达式。
逻辑表达式
:由逻辑运算符连接的表达式。
2.
语句:以分号结尾的表达式。或者以分号结尾的其他代码,
例如输出语句
语句是程序的基本组成部分。
数据输入
在
Java
程序中,想要接受用户输入的数据,需要使用
Scanner这个类。
Scanner
是
Java
提供好的专门用于接受输入的类。
Scanner使用的基本步骤
1.
导包。
-----import java.util.Scanner;
2.
创建
Scanner
对象。
------Scanner sc = new Scanner(System.in);
3.
提取用户输入的数据。
------int a = sc.nextInt();
在接受用户输入之前,最好进行友好的提示。
扩展
1. next()
方法:
一定要读取到
有效字符
后才可以结束输入。对输入有效字符之前遇到的空白,next()
方法会自动将
其去掉。只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。next()不能得到带有空格的字符串。
2. nextLine()
方法:
nextLine()
方法用于读取输入流中的下一行。以Enter
为结束符
, nextLine()
方法返回的是输入
回车之
前的所有字符
。 可以获得空白。