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

来源: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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...