如若文章中出現衝突,或者出現錯誤,請聯繫 QQ:2669157689 指出我的問題。謝謝~
本章說明一下變量的聲明,數據類型及其轉換;Java中的關鍵字,保留字;運算符和表達式等
JAVA編程基礎 —— 變量和運算符
1. Java的程序結構
Java塊分爲數據類型,變量,運算符和控制流語句。
- 數據類型
數據類型確定要存儲在內存中的數據的類型。
- 變量
變量是存儲數據的基本單元。
- 運算符
運算符是一個符號,用於操作一個或多個參數以得出結果。程序是按順序執行的。
- 控制流語句
控制流語句允許改變語句執行的順序。
2. 標識符、關鍵字和保留字
- 標識符
- Java中的包、類、方法、參數和變量的名稱
- 標識符的命名規則
① 必須以字母、下劃線(_)或美元符號($)開頭;
② 餘下的字符可以是下劃線、美元符號或任何的字母或數字,長
度不限。標識符中不能有空格;
③ 不能使用Java中的關鍵字或者保留字做爲標識符。
元素 |
規範 |
示例 |
類名 |
Pascal 規則 |
Person StudentDemo |
變量名 |
Camel 規則 |
age height avgValue |
方法名 |
Camel 規則 |
getAge setUserName |
包名 |
全部小寫 |
com.neusoft |
常量名 |
全部大寫 |
MAX_VALUE |
- 關鍵字/保留字
Java中的關鍵字/保留字
|
|
|
|
|
abstract |
continue |
goto |
null |
switch |
assert |
default |
if |
package |
synchronized |
boolean |
do |
implements |
private |
this |
break |
double |
import |
protected |
throw |
byte |
else |
instanceof |
public |
throws |
case |
extends |
int |
return |
transient |
catch |
final |
interface |
short |
try |
char |
finally |
long |
static |
void |
class |
float |
native |
strictfp |
volatile |
const |
for |
new |
super |
while |
3. 數據類型
Java中的數據類型
- 在Java中,數據類型分爲倆大類:
① 基本數據類型
② 引用數據類型
具體請看另一篇大佬的文章,鏈接。
4. 常量
Java中的常量
- 常量指程序裏持續不變的值,在整個程序運行過程中它是不可改變的。
- 常見的常量有:
① 整型常量,如:123,890,123L
② 浮點數常量,如:123.456,1.2F
③ 布爾型常量,如:true,false
④ 字符常量,如:‘a’, '8’
5. 變量
- 變量的概念
- 變量是指在程序的運行過程中隨時可以發生變化的量
- 變量是程序中數據的臨時存放場所
① 保存程序運行是用戶輸入的數據
② 特定的運算結果等
- 變量的聲明
- 格式: 變量類型 變量名[ = 變量初值]
例如:
int x = 3;
double b = 0.123;
char ch;
ch = 'a';
6. 數據類型的轉換
- 自動類型轉換(隱式類型轉換)
- 有多種類型的數據混合運算時,系統首先自動的將所有數據轉換成容量最大的那一種數據類型,然後經行計算。
- 自動轉換規則
- boolean 類型不可以轉換爲其他的數據類型
- 整型、字符型、浮點型的數據在混合運算中相互轉換,轉換時遵守以下原則:
- byte、short、char 之間不會相互轉換,他們三者在計算時首先會
轉換爲 int 類型
- 強制類型轉換(顯示類型轉換)
- 容量大的數據類型轉換爲容量小的數據類型時,需要使用強制類
型轉換,其格式如下:變量 = (目標類型) 值
例如:
byte a;
int b;
a = (byte) b;
- 在強制類型轉換過程中,源類型的值可能大於目標類型,因此
可能造成精度降低或溢出,使用時需注意
7. 運算符
- 運算符(操作符)
- 是一種特殊的符號,用以表示數據的運算、賦值和比較
- 運算符的種類:
- 算術運算符: +、﹣、*、/、%、++、 --(自增、自減)單目
- 賦值運算符:=、+=、﹣=、*=、/=、%= (自反賦值)
- 比較運算符:>、<、>=、 <=、= =、!=、instanceof
- 邏輯運算符:!、&&、||
- 位運算符: &、|、^ 、 ~、>>、<<、>>>(二進制數據)
- 條件運算符
- 條件運算符很獨特,因爲它是用三個操作數組成表達式的三元運算符。它可以替代某種類型的 if-else 語句 a ? b:c
- 算術運算符
符號 |
含義 |
備註 |
+ |
加法 |
|
- |
減法 |
|
* |
乘法 |
|
/ |
除法 |
若是兩個整數相除,只保留整數部分; |
% |
取餘 |
被模數爲正數結果都爲正,被模數爲負數結果都爲負 |
++ |
自增 |
++變量名:變量在參與其他操作前先將自己加1 變量名++:先用原來的值參與其他操作後,再將自己加1 |
– |
自減 |
算法同++ |
+ |
字符串連接 |
當操作數中只要有一個是String類型,系統會自動另一個操作數轉換成字符串類型,然後進行連接 |
- 賦值運算符
符號 |
含義 |
備註 |
= |
x=y; |
把變量y的值賦給x |
+= |
x+=y; |
x=x+y; |
-= |
x-=y; |
x=x-y; |
*= |
x*=y; |
x=x*y; |
/= |
x/=y; |
x=x/y; |
- 比較運算符(關係運算符)
符號 |
含義 |
備註 |
== |
相等於 |
注意不要誤寫成 “ = ” |
!= |
不等於 |
|
< |
小於 |
|
> |
大於 |
|
<= |
小於等於(不大於) |
|
>= |
大於等於(不小於) |
|
- 邏輯運算符(布爾運算符)
符號 |
含義 |
備註 |
&& |
邏輯與 |
相當於“且”,如果用&&連接表達式時,如果左面的表達式爲false,則將不會計算其右邊的表達式 |
|| |
邏輯或 |
相當於“或”,如果左面的表達式爲true,則將不會計算其右邊的表達式 |
! |
邏輯非 |
|
- 位運算符(只對byte、short、char、int、long有效)
符號 |
含義 |
備註 |
& |
按位“與” |
只有參加運算的兩位都爲1,&運算的結果才爲1,否則爲0 |
| |
按位“或” |
只有參加運算的兩位都爲0,|運算的結果才爲0,否則爲1 |
^ |
異或 |
只有參加運算的兩位不同,^運算的結果才爲1,否則爲0 |
<< |
左移 |
a<<b,將a的二進制數據左移b位,右邊移空的部分補0 |
>> |
右移 |
a>>b,將a的二進制數據右移b位,如果最高位是0,則左邊移空的部分補0,如果最高位是1,則左邊移空的部分補1 |
>>> |
無符號右移 |
不管最高位是0或1,左邊移空部分都補0 |
- 三元運算符
- 所謂三元運算符,是對三個表達式進行的集中比較,表達式1的結果爲true時,就爲第二個表達式,如果爲false時,就爲第三個表達式。語法是:
- 表達式1?表達式2:表達式3
- 運算符的優先級
- 運算符的優先級
- 按操作數多少劃分
一元操作符 > 二元操作符 > 三元操作符
- 按運算類型劃分
算術運算符 > 關係運算符 > 邏輯運算符 > 賦值運算符
- 儘量多的使用括號
括號優先級別最高
- 表達式通常由多個運算符組成。優先級的規則決定每個運算符在任何
給定表達式中的計算順序
順序 |
運算符 |
1. |
括號 |
2. |
一元運算符,如 -、++、- -和 ! |
3. |
算術運算符,如 *、/、%、+ 和 - |
4. |
關係運算符,如 >、>=、<、<=、== 和 != |
5. |
邏輯運算符,如 &、^、 |
6. |
條件運算符和賦值運算符,如 ? :、=、*=、/=、+= 和 -= |
8. 表達式
表達式是符合一定語法規則的運算符和運算數的序列
- 表達式的值和類型
- 對錶達式中操作數進行運算得到的結果稱爲表達式的值
- 表達式值的數據類型即爲表達式的類型
- 表達式的運算順序
- 應按照運算符的優先級從高到低的順序進行
- 優先級相同的運算符按照事先約定的結合方向進行
- 舉例
下一章更新流程控制語句…