Java 第二章

來源:互聯網
上載者:User

標籤:ascii   char   通用   不同   邏輯   資料類型轉換   意思   設計   運算   

第二章筆記

什麼是變數:
變數代表一塊記憶體地區,變數類型不一樣,這一塊記憶體的大小也不一樣。
#在程式設計語言裡面,你可以通過定義變數,向記憶體裡添加資料或者修改記憶體已有的資料。說白了,變數就是代表程式運行時存放資料的地方


資料的存放:
磁碟、記憶卡、隨身碟、光碟片、記憶體條、固態、機械硬碟等等

簡單的資訊(臨時的資訊)紙

人把資訊存在大腦

變數怎麼在記憶體中儲存

已將資料存放區打記憶體中怎麼去找
分配後的記憶體會有記憶體位址(記憶體位址不好記憶)
:通過變數名可以簡單快速地找到它儲存的資料


Java定義的常用資料類型有哪些?
位元組:#是電腦資訊技術用於計量儲存容量的一種計量單位,
#也表示一些電腦程式設計語言中的資料類型和語言字元
8個二進位位構成1個"位元組(Byte)",它是儲存空間的基本計量單位。
1個位元組可以儲存1個英文字母或者半個漢字,換句話說,1個漢字佔據2個位元組的儲存空間
位:是電子電腦中最小的資料單位。每一位的狀態只能是0或1

資料只用0和1還種表現形式,(這裡只表示一個資料點,不是數字),一個0或者1佔一個“位”,而系統中規定8個位為一個位元組
一個位元組等於8位
(一個位元組就是一個英語字母這麼大 一個漢字的一半)
電腦裡面的所有資料都是以位元1或0來儲存的,一個1或0叫1bit即1位,8位位元稱為一個位元組,即Byte!
一個字元能儲存一個中文漢字
一個漢字佔用兩個位元組

#術語:位,位元組用於描述電腦資料單位或電腦儲存單位。這裡主要指儲存單位
# 最小的儲存單位稱為位(bit):
# 只能容納兩個值(0或1)之一,不能在一個位中儲存更多的資訊。位是電腦儲存的基本單位。
# 對於一種給定的電腦設計,字(word)是自然的儲存單位。
# 一個英文字元和英文標點佔用一個位元組,一個中文字元和中文標點佔用2個位元組
#
# 位元組(byte)是常用的電腦儲存單位。
# 位元組的標準定義:一個位元組均為8位。由於上述所講每個位或者是0或者是1,所以一個8位的位元組包含256種可能的0,1組合


之前講過集中資料類型?

java基礎資料型別 (Elementary Data Type)就8種,記住就好了。除了這些都是引用型的了
java四類八種基礎資料型別 (Elementary Data Type) (佔用位元組)


#在棧中可以直接分配記憶體的資料是基礎資料型別 (Elementary Data Type)

位元組大小
第一類:整型
int(整數類型)4
byte(位元組類型)1
short(短整形)2
long(長整形)8
第二類:浮點型
double(雙精確度類型 雙精確度) 8
float(浮點類型 單精確度) 4
第三類:邏輯型
boolean(布爾型 他只有兩個值1.True 2.False)1
第四類:字元型
char(字元型)2

 

 

主類型 大小 最小值最大值
boolean 1位 - -
char 16位 02的16次方-1=65535
byte 8位 -128+127
short 16位 -2的15次方=-32768+2的15次方-1
int 32位 -2的31次方+2的31次方-1
long 64位 -2的63次方+2的63次方-1
float 32位 1.4E-453.4028235E38
double 64位 4.9E-3241.7976931348623157E308

// byte
System.out.println("基本類型:byte 二進位位元:" + Byte.SIZE);
System.out.println("最小值:" + Byte.MIN_VALUE);
System.out.println("最大值:" + Byte.MAX_VALUE);
System.out.println();


// short
System.out.println("基本類型:short 二進位位元:" + Short.SIZE);
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();

// int
System.out.println("基本類型:int 二進位位元:" + Integer.SIZE);
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();

// long
System.out.println("基本類型:long 二進位位元:" + Long.SIZE);
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();

// float
System.out.println("基本類型:float 二進位位元:" + Float.SIZE);
//1.4乘於10的負45次方;此處的E並非自然對數,而是10的次方的意思。這是科學計數法的寫法
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();

// double
System.out.println("基本類型:double 二進位位元:" + Double.SIZE);
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();

// char
System.out.println("基本類型:char 二進位位元:" + Character.SIZE);
// 以數值形式而不是字元形式將Character.MIN_VALUE輸出到控制台
System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);
// 以數值形式而不是字元形式將Character.MAX_VALUE輸出到控制台
System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);

變數的聲明及使用
變數的定義兩種方式:
文法:變數類型 變數名 = 數值;

// 先定義 再賦值
int a;
a = 10;

// 邊定義 邊賦值
int a = 10;

起變數名一定要規範:
字母、底線、$符號 其餘部分任一字元、底線、數字、$符號
通常第一個單詞的首字母小寫,其後的單詞的首字母大寫:mySchool(起變數名要有意義,見名知意)

賦值運算子(=):
變數名 = 運算式
程式中的賦值是右邊給左邊賦值
int a = (1 + 2) * (8 - 2);

算數運算子
+ :加
- :減
x : 乘
/ :除
% :餘

類型轉換:
自動類型轉換
整型、實型(常量)、字元型資料可以混合運算。運算中,不同類型的資料先轉化為同一類型,然後進行運算。
轉換從低級到進階。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
資料類型轉換必須滿足如下規則:
1. 不能對boolean類型進行類型轉換。
2. 不能把物件類型轉換成不相關類的對象。
3. 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。
4. 轉換過程中可能導致溢出或損失精度,例如:
int i =128;
byte b = (byte)i;
因為byte類型時8位,最大值為127,所以當強制轉換為int類型值128時候就會導致溢出。
5. 浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45

規則一:如果一個運算元為double型,整個運算式都提為double

規則二:滿足自動轉換類型
char c1=‘a‘;//定義一個char類型
int i1 = c1;//char自動類型轉換為int
System.out.println("char自動類型轉換為int後的值等於"+i1);
char c2 = ‘A‘;//定義一個char類型
int i2 = c2+1;//char 類型和 int 類型計算
System.out.println("char類型和int計算後的值等於"+i2);
解析:c1的值為字元‘a‘,查ascii碼錶可知對應的int類型值為97,‘A‘對應值為65,所以i2=65+1=66
擴充:
ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,並等同於國際標準ISO/IEC 646

強制類型轉換:
文法:(類型名)運算式
強制類型轉換
1. 條件是轉換的資料類型必須是相容的。
2. 格式:(type)value type是要強制類型轉換後的資料類型 執行個體:
執行個體
public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//強制類型轉換為byte
System.out.println("int強制類型轉換為byte後的值等於"+b);
}
}
隱含強制類型轉換
1. 整數的預設類型是 int。
2. 浮點型不存在這種情況,因為在定義 float 類型時必須在數字後面跟上 F 或者 f。
這一節講解了 Java 的基礎資料型別 (Elementary Data Type)。下一節將探討不同的變數類型以及它們的用法


邏輯運算子
&& :兩個條件同時為真,結果為真
|| :兩個條件有一個為真,結果為真
! :條件為真,結果為假;條件為假,結果為真


關係運算子
>大於
<小於
=等於
>=大於等於
<=小於等於
!=不等於
關係運算子的作用:用來做比較運算,比較結果為boolean


運算子的優先順序
最高 小括弧()
最低 賦值=

優先順序順序:算數運算子 > 關係運算子 > 邏輯運算子 > 賦值運算子

short a = 1;
short b = 2;
那麼 a+b 是什麼類型?
答:在java的世界裡,如果比int類型小的類型做運算,java在編譯的時候就會將它們統一強轉成int類型。當是比int類型大的類型做運算,就會自動轉換成它們中最大類型那個。

 

String a1 = "張三";// 000001

String a2 = "張";// 000001

if(a1 == a2){ // 比較的地址
System.out.println("True");
}else{
System.out.println("False");
}

if(a1.equals(a2)){// 比較值是否相等
System.out.println("True");
}else{
System.out.println("False");
}

}

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.