Java各類數據類型,本身學習寫的筆記!!!

java編程規範:java

1.良好的標識符的命名
        保留字不能做爲標識符命名:    class、public、static..., goto,const
        區分大小寫:helloWorld、HelloWorld
2.良好的註釋習慣
3.良好的縮進:沒遇到一個代碼塊縮進一次(一個tab鍵)

變量:表明內存中的一個區域,區域能夠存值編程

|--聲明:int helloWorld;//數據類型 變量名;
|--賦值:helloWorld = 100;
|--聲明+賦值:int helloWorld = 100;
|--值傳遞:int j = i;

8種基本數據類型:函數

整型數字:
    byte                        1個字節            -128~127            
                
    short                       2個字節            -2^15~2^15-1  -32768~32767   short s = 1000;(自動將int轉爲short,但會進行精度的校驗)
    
    int                         4個字節            -2^31~2^31-1  -2147483648~2147483647
    
    long(長整型)                8個字節            -2^63~2^63-1    long l = 1000;(整型字面值默認類型int)
                                                                                        long l = 1000L;(後面跟l或L表示該字面值是long類型)
                                                                                        
浮點型:
    float(單精度浮點型)                4個字節   存儲格式相似於科學計數法,1bit符號位     8bit指數    23bit尾數
                                                                                                                                1.11 * 2^111 
                                                                                                                                0              0000 0111   11000000...
                                                                            範圍:1.4E-45~3.4028235E38
                                                                            
                                                                            float f = 100.01F;(後面跟f或F表示該字面值是float類型)
                                                                            float f = 1.0001E2f;//即1.0001*10^2
                                                                
    double(雙精度浮點型)            8個字節   範圍:4.9E-324~1.7976931348623157E308
                                                                            double d = 200.02; 或double d = 200d;(後面跟d或D表示字面值是double類型)
                                                                            double d = 2.0002E2;或double d = 2.0002E2D;
    
字符型:
    char                         char c = 'A';//賦值單個字符
                                    char c = 'ab';//錯誤的        
                                    
                                    char c = '\u0041';//可使用字符對應的unicode編碼賦值
                                    //1*16^0 + 4*16^1=    65
                                    char c= 65;    //可使用unicode編碼的十進制編碼賦值    
                                    
布爾型:
    boolean                    boolean b = true;   
                                    boolean b= false;

自動類型提高:編碼

double d = 100 + 100.01;

short s = 100;
short s2 = s+1;//錯誤的

short s1 = 100;
short s2 = 200;
short s3 = s1 + s2;//錯誤的
    若是表達式中存在double類型的數據,則參與運算的數據都會自動提高爲double類型;
    若是表達式中存在float類型的數據,則參與運算的數據都會自動提高爲float類型;
    若是表達式中存在long類型的數據,則參與運算的數據都會自動提高爲long類型;
    其他狀況,則均自動提示爲int類型;(byte、short、int、char)
    
注:不能將數據類型精度大的數據賦值給數據類型精度小的變量。

強制類型轉換:
short s3 = (short)(s1 + s2);//在須要強制類型轉換的數據前使用 (指定強制轉換的類型)
//注意:強制類型轉換的數據不要超過變量數據類型可以表示的範圍code

對象類型對象

String
     String s;
     s = "a";
     s = "abbcdgfghh";
     s = "abcd" + "efgh";// "abcdefgh",+能夠進行字符串的拼接
     s = "10" + 20;//1020,字符串和其餘類型數據進行加法運算都是字符串拼接;
     s = 10 + 20 + "30";//3030

====================================================================================================================================內存

轉義字符:作用域

char c1 = '\n';//換行符
char c2 = '\t';//製表符
char c3 = '\'';//'自己是特殊字符,經過轉義將其當作普通字符。
char c4 = '\\';
String s = "他的名字叫\"小明\"";

char能夠進行算術運算:unicode

char類型數據參與算術運算時,使用其編碼參與運算。
char c = 'A';//65
short s = 100;
short s2 = c + s;//錯誤的
int   s2 = c + s;//正確的
System.out.println(c+1);//66

====================================================================================================================================字符串

運算符:

算術運算符
    +   -    *    /     %(取餘)
        System.out.println("除法運算:"+(100 / 49));//取整
        System.out.println("除法運算:"+(100d / 49));//小數
        System.out.println("取餘運算:"+(100 % 49));//取餘

賦值運算符
    =           int i = 100;

比較運算符
    >    <    >=     <=     ==(等於)    != (不等於)  
 

邏輯運算符
    &&(且)       ||(或)      !(非) 
    int i = 100;
    int j = 49;
    
    boolean b = (i<50) && (j>50);//當兩邊的布爾表達式都爲true,則結果爲true.
    boolean b2 = i>50 || j>50;//當兩邊的布爾表達式只要有一個爲true,則結果爲true.
    boolean b3 = !(i>50);//對布爾表達式結果取反
    
    &(且)                    |(或)
    
    &和&&  |和||的區別:
        &&  ||:具有短路特性
                        && 當第一個布爾表達式爲false,則不會再運算第二個布爾表達式,直接返回結果false
                        || 當第一個布爾表達式爲true,則不會再運算第二個布爾表達式,直接返回結果true
        &    |:不具有短路特性

位運算符:直接操做二進制數據
    &:
        2&1  使用二進制進行運算,上下兩位都爲1時才爲1
    
    |:
        2|1  使用二進制進行運算,上下兩位只要有一個爲1則爲1
        
    <<:
        左移運算符
            2<<1 //4
            每左移一位至關於乘以2
    
    >>:
        算術右移運算符
            算術右移最高位補符號位
            8>>1     //4
            -8>>1 //-4
            -8>>2 //-2
            每算術右移一位至關於除以2
    
    >>>:
        邏輯右移運算符
            邏輯右移最高位補0    
            正數進行邏輯右移和算術右移的結果一致
            8>>>1 //4
            負數進行邏輯右移:
            -8>>>1//2147483644
注:2*2 、 2>>1,位運算符相對於乘法或除法運算符效率高。

    ^:
        異或運算符  若是運算的兩位不一樣值,則結果爲1,若是相同則爲0
            2^1//3
        
    ~:
        取反運算符    將二進制每位都進行取反
        ~1

三目運算符
    布爾表達式?結果1:結果2     //若是布爾表達式運算結果爲ture,則返回結果1;不然返回結果2
    int age = 34;
    age>=18?"已成年":"未成年"
    
特殊用法:
    ++、--
    int a = 10;
    //a++;//等價於  a = a+1;
    ++a;    //等價於  a = a+1;
    int b = a++;
    System.out.println(a);
    System.out.println(b);
    
    ++若是前置,則先加一,後參與表達式運算
    ++若是後置,則先參與表達式運算,在加一
    
    a--;//等價於a=a-1
    
    例:
        int a = 10;
        int b = a-- + --a;// 10 + 8   18
        System.out.println(b);//18
        
  +=  -=  *=  /=  %=:
  int a = 10;
  a += 5;//a=a+5;
  System.out.println(a); 
  a -= 5;//a=a-5

運算符優先級:() ---> ++ -- ! ~(一元運算符) ---> * / % ---> + - ---> && ||

注:當不清楚運算的優先級時,使用括號保證運算順序 。

局部變量:聲明在函數內部的變量。

特色:
    1.先賦值後使用
    2.做用域的範圍:從定義位置開始到所處的代碼塊結束。
    3.在做用域範圍內不能出現命名衝突。
相關文章
相關標籤/搜索