基礎學習--標識符、關鍵字、數據類型與運算符

来源:http://www.cnblogs.com/androidshouce/archive/2016/06/15/5586175.html
-Advertisement-
Play Games

一、標識符和關鍵字 關鍵字: 就是被java語言賦予了特殊含義的單詞。 特點就是所有的關鍵字都是小寫。 標識符: 就是給包、類、介面、方法、變數名起的名字。 規則:1.以數字、字母、_以及$符號組成。 2,不能以數字開頭,不能以空格分開,不能是JAVA中的關鍵字,區別大小寫如Test 和test是2 ...


一、標識符和關鍵字   關鍵字: 就是被java語言賦予了特殊含義的單詞。 特點就是所有的關鍵字都是小寫。   標識符: 就是給包、類、介面、方法、變數名起的名字。 規則:1.以數字、字母、_以及$符號組成。           2,不能以數字開頭,不能以空格分開,不能是JAVA中的關鍵字,區別大小寫如Test 和test是2個不同的標識符  3 .起名字一定要見明知意例如:yourName,見名知義,不要用a,b,c之類的  4.不合法的標識符 12,your name ,class,          5.12以數字開頭,your name中間有空格 class中java中的關鍵字 二、變數和常量 常量:是一個固定的數值,不可改變的如1,2都是整形常量     1. 整數常量:所有整數。     2. 小數常量:所有小數。     3. 布爾(boolean)型常量:只有兩個數值,true、false。     4. 字元常量:將一個數字字母或者符號用單引號( ' ' )標識,如:'a'。     5. 字元串常量:將一個或者多個字元用雙引號("")標識,如:"hello world"、"a"、""(空字元串)。     6. null常量:只有一個數值就是:null。 進位的由來     對於整數,有四種表現形式:     二進位:0-1,滿2進1。     八進位:0-7,滿8進1,用0開頭表示,如:012。     十進位:0-9,滿10進1。     十六進位:0-9,A-F,滿16進1,用0x開頭表示。如:0x4A2C。 變數:

就將不確定的數據進行存儲

也就是在內豐中開闢一個空間用來存放變數的。

利用聲明的方式將內在中的某個內在空間保留下來以代程式使用

聲明數據類型:變數名=變數值

三、數據類型


Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在記憶體中分配了不同大小的記憶體空間:
        byte     1個位元組
        short    2個位元組
        int        4個位元組
        long     8個位元組
        float     4個位元組
        double 8個位元組
        char     2個位元組

1、整數預設類型:int類型,小數預設類型:double類型。
2、double類型的小數精度比float類型的小數更高。 範圍
No. 數據類型 大小/位 可表示的數據範圍
1 long(長整數) 64 -9223372036854775808 ~ 9223372036854775807
2 int(整數) 32 -2147483648 ~ 2147483647
3 short(短整數) 16 -32768~32767
4 byte(位) 8 -128 ~ 127
5 char(字元) 2 0 ~ 255
6 float(單精度) 32 -3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038)
7 double(雙精度) 64 -1.7E308(-1.7´10308)~ 1.7E308(1.7´10308)

預設值

No. 數據類型 預設值
1 byte (byte)0
2 short (short)0
3 int 0
4 long 0L
5 float 0.0f
6 double 0.0d
7 char \u0000(空,'')
8 boolean false  
  四、類型轉換 類型轉換分為2種:   自動類型轉換   強制類型轉換 4.1、自動類型轉換   自動類型轉換由低類型向高類型自動轉換 1.轉換前的數據類型和轉換後的數據類型相容 2.轉換後的數據類型的表示範圍比轉換前的範圍在 3.低類型和高類型同時運算時自動轉化為高類型運算   java 中byte char short int 運算時自動轉換為int類型運算
 

 

複製代碼
byte a=1;   //聲明byte 類型變數a=1          
 int  b=a+1;   //聲明int 變數b 同時賦值a+1,1是整型a向整型轉化為整型運算,自動轉化  
System.out.println(b);  
       
short s1=1;     //聲明short類型變數s1同是賦值1  
short s2=s1++;   //聲明short 類型變數s2同時賦值s1++,自增運算,內隱藏了自動類型轉化  
s2+=1;          //s2+=1;自動類型轉換  
複製代碼

 

任何類型和字元相連都向字元串轉換
int a=5,b=5;  
System.out.println("a+b="+a+b);  //a+b=是字元串+5變為 a+b=5,再+連接5,結果變為a+b=55  
System.out.println("a+b="+(a+b)); //使用括弧提高優先順序  

 

字元類型在記憶體中占有2個位元組,可以用來保存英文字母等字元,字元要用一對單引號('')括起
         char ch1='a';
        char ch2=97;
        System.out.println("ch1= "+ch1);
        System.out.println("ch2= "+ch2);
結果:ch1=a,ch2=a 字元類型也算是整數類型的一種 常用的轉義字元:
No. 轉義字元 描述 No. 轉義字元 描述
1 \f 換頁 2 \\ 反斜線
3 \b 倒退一格 4 \' 單引號
5 \r 歸位 6 \" 雙引號
7 \t 製表符Tab 8 \n 換行

 

        char ch1='\"';
        char ch2='\\';
        System.out.println("ch1= "+ch1);
        System.out.println("ch2= "+ch2);
        System.out.println("\"Hello World\"");

結果:

ch1= "
ch2= \
"Hello World"

4.2、強制類型轉換 定義:強制類型轉換需要把類型進行手動轉換,否則無法正常使用 在變數前面加上(要轉換的類型) 變數
float f=3.14f;  
int i=(int )f;  
System.out.println(i); //3  

 


 

五、運算符 5.1、賦值運算符 =:一個等號就是賦值運算符
 
        int i=4;  
     byte b=2;  
     short s=3;  
     char c='a';  
     char ch='張';  
     long l=33;  
     float f=3.14f;  
     double d=2.0;  

 


 
5.2、一元運算符
No. 一元運算符 描述
1 + 正號
2 負號
3 ! NOT,否  

 boolean flag=false;  
        int x=10;        //定義一個正數  
        int y=-30;        //定義一個負數  
        System.out.println("x= "+x);  
        System.out.println("y= "+y);  
        System.out.println("flag= "+flag+"!b= "+!flag);  

 

結果:

x= 10
y= -30
flag= false  !b= true

5.3、算術運算符

 

算術運行符和數學中的用法一樣

No. 算術運算符 描述
1 + 加法
2 減法
3 * 乘法
4 / 除法
5 % 取模(取餘數)
複製代碼 複製代碼
        int i = 10;
        int j = 3;
        System.out.println(i+"+"+j +"="+(i+j));   //加法
        System.out.println(i+"-"+j +"="+(i-j));   //減法
        System.out.println(i+"*"+j +"="+(i*j));   //乘法
        System.out.println(i+"/"+j +"="+(i/j));   //除法
        System.out.println(i+"%"+j +"="+(i%j));   //取模求餘數
複製代碼 複製代碼

結果:

10+3=13
10-3=7
10*3=30
10/3=3
10%3=1

5.4、關係運算符

 

No. 關係運算符 描述
1 > 大於
2 < 小於
3 >= 大於等於
4 <= 小於等於
5 == 等於
6 != 不等於  
5.5、自增加與自減運算符
自增與自減運算符
No. 自增與自減運算符 描述
1 ++ 自增,變數值加1
2 -- 自減,變數值減1
複製代碼 複製代碼
        int a=3,b=3;             //定義整型變數a,b
        int x=6,y=6;             //定義整型變數x,y
        System.out.println("a= "+a);         //輸出變數a的值
        System.out.println("a++="+(a++)+"  a= "+a); //輸入a++和a++之後a的值3,4
        System.out.println("b= "+b);
        System.out.println("++b="+(++b)+"  b="+b);   //值出++b,和++b之後b的值4,4
        System.out.println("x= "+x);
        System.out.println("x--="+(x--)+" x= "+x); //輸出x--和x--之後x的值6,5
        System.out.println("y= "+y);
        System.out.println("--y="+(--y)+"   y="+y);  //輸出--y和--y之後的值5,5
複製代碼 複製代碼 5.6、邏輯運算符
No. 邏輯運算符 描述
1 & AND,與
2 && 短路與
3 | OR,或
4 || 短路或
  AND及 OR結果表
No. 條件1 條件2 結果
&&(與) ||(或)
1 true true true true
2 true false false true
3 false true false true
4 false false false false
  • &&”與“&”
  • &&表示短路與
  • 對於“與”來說,要求所有的條件都判斷,而如果使用“短路與”如果第一個條件為false,則後面的條件將不再判斷。
  • “||”與“|”
  • ||表示短路或
  • 對於“或”來說,要求所有的條件都判斷,而如果使用“短路或”如果第一個條件為true,則後面的條件將不再判斷。
5.7、位運算符
No. 位運算符 描述
1 & 按位與
2 | 按位或
3 ^ 異或(相同為0,不同為1)
4 ~ 取反
5 << 左移位
6 >> 右移位
7 >>> 無符號右移位

位運算的結果表

No. 二進位數1 二進位數1 與操作(&) 或操作(|) 異或操作(^)
1 0 0 0 0 0
2 0 1 0 1 1
3 1 0 0 1 1
4 1 1 1 1 0  

5.8運算符優先順序  
優先順序 運算符 結合性
1 () 括弧運算符 由左至右
1 [] 方括弧運算符 由左至右
2 !、+(正號)、-(負號) 一元運算符 由右至左
2 ~ 位邏輯運算符 由右至左
2 ++、-- 遞增與遞減運算符 由右至左
3 *、/、% 算術運算符 由左至右
4 +、- 算術運算符 由左至右
5 <<、>> 位左移、右移運算符 由左至右
6 >、>=、<、<= 關係運算符 由左至右
7 ==、!= 關係運算符 由左至右
8 &(位運算符AND) 位邏輯運算符 由左至右
9 ^(位運算符號XOR) 位邏輯運算符 由左至右
10 |(位運算符號OR) 位邏輯運算符 由左至右
11 && 邏輯運算符 由左至右
12 || 邏輯運算符 由左至右
13 ?: 三目運算符 由右至左
14 = 賦值運算符 由右至左  
5.9簡潔表述式  
No. 運算符 範例用法 說明 描述
1 += a += b a + b的值存放到a中 a = a + b
2 -= a -= b a - b的值存放到a中 a = a - b
3 *= a *= b a * b的值存放到a中 a = a * b
4 /= a /= b a / b的值存放到a中 a = a / b
5 %= a %= b a % b的值存放到a中 a = a % b
簡潔表達式的範例
No. 運算符
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 單點登陸設計SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一 現在很多企業級應用都基本會去實現單點登陸 ...
  • Code First 遷移可用於從 Visual Studio 內部更新資料庫,但也可通過命令行工具 migrate.exe 來執行。本頁簡單介紹如何使用 migrate.exe 對資料庫執行遷移。 複製 migrate.exe 在使用 NuGet 安裝實體框架時,migrate.exe 位於下載包 ...
  • WCF Data Service with OData 是一個優秀的Restful Web Service在ASP.NET下的實現,但是在使用中,我遇到了一個問題,即當我單獨部署WDS服務的時候,Ajax訪問就需要跨域。 在一般的WCF服務中,我們可以用JSONP解決。所以我發起了下麵這個請求: 你 ...
  • 在uwp開發中必不可少的一個環節就是各種通用的控制項的開發,所以在閑暇時間彙總了一下在uwp開發中控制項的幾種常用寫法,以及屬性的幾種綁定方式,有可能不全面,請大家多多包涵 :) 1、先從win10新增的{x:Bind}綁定方式說起,相對於{Binding},{x:Bind}在時間複雜度和空間複雜度上都 ...
  • Java程式設計語言提供兩種機制,可以用來定義允許多個實現的類型:介面和抽象方法,這兩者直接醉為明顯的區別在於,抽象類允許某些方法的實現,但介面不允許,一個更為重要的區別在於,為了實現由抽象類定義的類型,類必須成為抽象類的一個子類。任何一個類,只要定義了所有必要的方法,並且遵守通用約定,它就被允許實 ...
  • #coding= gbk s = '谷歌' print s 輸出結果:谷歌 方法二: 在輸出時進行轉碼: #coding= utf-8 s = '谷歌' print unicode(s,'gbk') 輸出結果:谷歌 ...
  • 1、++i 的用法(以 a=++i ,i=2 為例) 先將 i 值加 1 (也就是 i=i+1 ),然後賦給變數 a (也就是 a=i ), 則最終 a 值等於 3 , i 值等於 3 。 所以 a=++i 相當於 i=i+1 ,a=i2、i++ 的用法(以 a=i++ ,i=2 為例) 先將 i ...
  • 10種排序演算法總結 排序演算法有很多,所以在特定情景中使用哪一種演算法很重要。為了選擇合適的演算法,可以按照建議的順序考慮以下標準: (1)執行時間 (2)存儲空間 (3)編程工作 對於數據量較小的情形,(1)(2)差別不大,主要考慮(3);而對於數據量大的,(1)為首要。 主要排序法有: 一、冒泡(Bu ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...