天天看點

初識java 與 資料類型 位運算

**最新java8.0(1.8)**

1. javaSE(桌面應用程式)标準

1. javaME(塞班系統應用)

1. javaEE(主要web開發,企業級應用)企業

1. javaEE改名為JakartaEE

-----

**java特性:**

1. 面向對象

1. 簡單

1. 跨平台

1. 開源

1. 壯健性

1. 安全

1. 多線程

java虛拟機 jvm(負責把java翻譯為目前系統所能識别的指令)

-----

**JDK:java開發工具包 jdk包含jre

JRE:java運作環境

下載下傳jdk **

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

-----

**開發工具:**

1. 記事本

1. Editplus

1. Ultra Edit

1. Eclipse(免費)

1. MyEclipse

1. IDEA

-----

-----

**開發注意:**

1. java區分大小寫

1. 除了中文 其他内容豐富在英文輸入法輸入

-----

**注釋: (說明作用)**

1. 單行: //

1. 多行:

1. 文檔注釋:

-----

檢視java版本: java -version

**初級代碼:**

1. public 全局含義

1. class 類

1. 類名最好見名知義,首字母大寫

1. static 靜态

1. void 表示沒有傳回值

1. main 程式的入口

輸出:System.out.printIn("輸出的内容")

如果使用public class 來聲明class 那麼檔案名必須和類名一緻

每個class 都會生成與類名一緻的.class檔案

關鍵字(賦予特殊作用):(關鍵字都是小寫)

public

class

do

if

else

-----

**辨別符:**定義的類,變量(見名知義)

1. 字母、下劃線,美元符開頭

1. 不能與數字開頭

1. 不能出現字母、下劃線,美元符其他的東西

1.

-----

**字面值:**

1. 字元串(用" " )多個字元

1. 整數

1. 小數

1. 字元 (用' ')

1. 布爾

-----

**定義變量:**(同域變量名不可重複)

必須聲明資料類型

資料類型:(根據資料來申請記憶體)

基本資料類型(byte最大128,short,int,long,float,double,char,Boolean)

應用資料類型

**定義變量整型預設為int類型 :*定義long類型的變量時末尾添加L*

(long k = 2147483648L;)

浮點型預設double類型:*定義float類型的變量時末尾添加F*。

float f1 = (float)5.5;

定義byte類型需要強制類型轉換,否則按照int類型運算*(報錯)***

***由大到小轉換會報錯(損失精度)

byte<char<int<float<

由小到大運算不會報錯

*

關于基本資料類型轉換規則:
    1.8種基本資料類型除boolean類型之外都可以互相轉換.

    2.小容量向大容量轉換叫做自動類型轉換:
    byte<short(char)<int<long<float<double

    3.byte,short,char做混合運算的時候,各自都先轉換成int在做運算

    4.大容量向小容量轉換是強制類型轉換,需要加強制轉換符,
    編譯雖然通過,運作期可能損失精度。謹慎使用。

    5.如果整數沒有超出byte,short,char的取值範圍,可以直接将這個整數指派給byte,short,char

    6.多種資料類型做混合運算,先轉換成容量最大的那種再做運算。      
基本資料類型:
                byte、short、int、long  預設值0
                float、double           預設值是0.0
                char                    預設值是\u0000
                boolean                 預設值是false

    引用資料類型:預設值mull      

強制類型裝換:

float f1 = (float)d;

float f1 = (float)5.5;

char的取值範圍 0~65535

char類型數字存儲二進制 轉換ascll碼

97 = a 65 = A 48 = 0

**轉義字元**: /

**反彙編**:javap -c 檔案名

***邏輯運算符:***

&與 :兩個true,為true

|或 :一個true,為true

!非 :非true,為false

^異或 :兩邊不一緻,為true

&& 短路 :前面為true,後面表達式會執行

|| 短路 :前面為false,後面表達式會執行

***位運算:二進制運算***

按位與& :有0則0

按位或| :有1則1

按位異或^ :相同則0,不同則1

反碼,原碼,補碼:都是其本身

'>>' 向右移 :最高位是0,則左邊補齊0,最高位是1,則左邊補齊1

'>>>'無符号右移:無論最高位是0還是1,左邊補齊0

<<向左移:左邊最高位丢棄,右邊補齊0

左移n位 : 乘2的n次方

右移n位 : 除以2的n次方

習題:

兩個整型變量交換:

int a = 8; int b = 3;

a = a ^ b;

b = a ^ b; // a ^ b ^ b b = a

a = a ^ b; // a ^ b ^ a a = b

轉載于:https://www.cnblogs.com/lizhioeng/p/9417247.html