java基礎小知識

來源:互聯網
上載者:User

標籤:類型轉換   移位操作符   十六進位   資料   int   大資料   賦值   str   分割   

1.1常量:

基礎資料型別 (Elementary Data Type)常量

字元常量

 

整數常量的表現形式:一進位的形式來表示(二進位,八進位,十進位,十六進位)

 

生活中:十進位(0-9)  ,星期(七進位(0-6)) ,時間(十二進位(0-11),二十四進位(0-23))

 

電腦是通過二進位來讀取我們生活中的資料。

 

進位之間的轉換:

 十進位轉為二進位: 將十進位除以2,直到商為0 ,將餘數從下上串連起來就是二進位

 

10---->1010

二進位轉十進位:將二進位的每一位乘以2^n ,n從0開始,n每一次加一,在將結果相加。

 

1001 ----》  1*2^0 +0*2^1 +0*2^2+1*2^3 = 9

 

將二進位換位八進位:

方式一:二進位--->十進位--->八進位

方式二:一個八進位相當於三個二進位為,將二進位三位一分割,計算出來

010 100 101 =  245

 

將二進位換為十六進位 :(0-9)(a(10)-f(15))

0000 1010 0101 = a5

 

 

1.2變數:

Java資料類型分為兩種:

1.基礎資料型別 (Elementary Data Type)

Byte (位元組) 8位(bit)

 2.引用資料類型

String 字串。

 

 

變數的聲明方式:

//1.資料類型  變數名

//2.資料類型  變數名1,變數名2...

 

資料類型:

//資料類型的轉換

        //1.自動類型轉換

        // 小資料類型--->大資料類型轉換

        //2.強制類型轉換

        // 大的資料類型 ----> 小的資料類型。

 

//資料類型轉換中需要注意的點:

            //1.凡是short ,byte ,char 定義的變數,在做運算的時候,

                //資料類型都會自動轉換為int

       

            //2.兩個不同資料類型做運算,給過取決於大的資料類型。

 

二.運算子。1.1算數運算子:+,-,*,/,%1.2自增自減 :++ ,--1.3賦值運算子 : = ,+=,-=,*=,/=1.4關係運算子 : >,<,>=,<=,== ,!=

邏輯運算子: & ,| ,! ,&& ,||

 

位元運算符:

它是對二進位位進行計算。

位元運算符是可以對十進位的整數進行計算,計算方式:將十進位轉為二進位進行計算。

 

二進位由0和1組成,所以計算的結果要麼是0,要麼是1

 

1.5位元運算符的符號:

& (與):兩者都是1的時候我就是一,其他都是0

|(或):兩者都為0時才為0 ,其他的都是1.

^(異或):兩者不同為1,相同為0

~(取反):0變為1,1變為0.

 

//負數的表現形式: 二進位位的最高位為1,那麼這個數就是一個負數。

 

1111-1111  1111-1111 1111-1111 1111-1111 : -1

0000 0000 0000 0000 0000 0000 0000 0000 : 0

 

-2:1111-1111  1111-1111 1111-1111 1111-1110

-3:1111-1111  1111-1111 1111-1111 1111-1101

-4:1111-1111  1111-1111 1111-1111 1111-1100

-5:1111-1111  1111-1111 1111-1111 1111-1011

-6:1111-1111  1111-1111 1111-1111 1111-1010

-7:1111-1111  1111-1111 1111-1111 1111-1001

0000-0000  0000-0000 0000-0000 0000-0111  = 7

1111-1111 1111-1111 1111-1111 1111-1001

 

規律:負數所對應的正數-1 ,取反

  負數所對應的正數取反+1

作用:資料進行加密

 

123456

0-100 a-z

 

24845845957512317580960  --- >123456

1.6移位操作符:對二進位位進行操作

1.6.1  >>  右移

1.6.2  <<  左移

1.6.3  >>> 無符號右移

 

// >> 右移

           // << 左移

           // >>> 無符號右移

 

           //右移:

           System.out.println(6>>1); // --->3  6/2  2*1

           System.out.println(6>>2); // --->1  6/4  2*2

           System.out.println(6>>3); // --->0  6/8  2*3

           System.out.println(6>>4);

 

          

           System.out.println(9>>1); // --->4   9/2  2*1

           System.out.println(9>>2); // --->2  9/4  2*2

           System.out.println(9>>3); // --->1  9/8  2*3

           System.out.println(9>>4);//  --->0  9/16  

 

           System.out.println(-6>>1); //  -6/2 -->-3

 

            //規律: 右移多少位,就用需要移動的數除以2的多少次方。

 

           //左移 :

           System.out.println("-----這個是左移的結果----------");

           System.out.println(6<<1); // --->12  6*2  2*1

           System.out.println(6<<2); // --->24  6*4  2*2

           System.out.println(6<<3); // --->48  6*8  2*2*2

           System.out.println(6<<4); //---->96  6*16 2*2*2*2

 

           System.out.println(-6<<2);//--->-24

          

            //規律: 左移多少位,就用這個數乘以2多少次方。

 

           //>>>無符號的右移

           System.out.println(6>>>1); //3

           System.out.println(6>>>2); //1

           System.out.println(-6>>>2); // 1073741822

 

 

 

作用 : 提高運算速率。位元運算是執行最快。

比如: 以最快的方式計算 2*8

  2<<3  == 2*8 = 16

 

特點 : 一個數A和兩個相同的數^,最後結果還是原來的數A。

 

java基礎小知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.