第二章
第二章筆記
什么是變量:
變量代表一塊內(nèi)存區(qū)域,變量類型不一樣,這一塊內(nèi)存的大小也不一樣。
#在編程語(yǔ)言里面,你可以通過(guò)定義變量,向內(nèi)存里添加數(shù)據(jù)或者修改內(nèi)存已有的數(shù)據(jù)。說(shuō)白了,變量就是代表程序運(yùn)行時(shí)存放數(shù)據(jù)的地方
數(shù)據(jù)的存放:
磁盤(pán)、內(nèi)存卡、U盤(pán)、光盤(pán)、內(nèi)存條、固態(tài)、機(jī)械硬盤(pán)等等
簡(jiǎn)單的信息(臨時(shí)的信息)紙
人把信息存在大腦
變量怎么在內(nèi)存中存儲(chǔ)
已將數(shù)據(jù)存儲(chǔ)打內(nèi)存中怎么去找
分配后的內(nèi)存會(huì)有內(nèi)存地址(內(nèi)存地址不好記憶)
:通過(guò)變量名可以簡(jiǎn)單快速地找到它存儲(chǔ)的數(shù)據(jù)
Java定義的常用數(shù)據(jù)類型有哪些?
字節(jié):#是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量的一種計(jì)量單位,
#也表示一些計(jì)算機(jī)編程語(yǔ)言中的數(shù)據(jù)類型和語(yǔ)言字符
8個(gè)二進(jìn)制位構(gòu)成1個(gè)"字節(jié)(Byte)",它是存儲(chǔ)空間的基本計(jì)量單位。
1個(gè)字節(jié)可以儲(chǔ)存1個(gè)英文字母或者半個(gè)漢字,換句話說(shuō),1個(gè)漢字占據(jù)2個(gè)字節(jié)的存儲(chǔ)空間
位:是電子計(jì)算機(jī)中最小的數(shù)據(jù)單位。每一位的狀態(tài)只能是0或1
數(shù)據(jù)只用0和1還種表現(xiàn)形式,(這里只表示一個(gè)數(shù)據(jù)點(diǎn),不是數(shù)字),一個(gè)0或者1占一個(gè)“位”,而系統(tǒng)中規(guī)定8個(gè)位為一個(gè)字節(jié)
一個(gè)字節(jié)等于8位
(一個(gè)字節(jié)就是一個(gè)英語(yǔ)字母這么大 一個(gè)漢字的一半)
電腦里面的所有數(shù)據(jù)都是以二進(jìn)制數(shù)1或0來(lái)存儲(chǔ)的,一個(gè)1或0叫1bit即1位,8位二進(jìn)制數(shù)稱為一個(gè)字節(jié),即Byte!
一個(gè)字符能存儲(chǔ)一個(gè)中文漢字
一個(gè)漢字占用兩個(gè)字節(jié)
#術(shù)語(yǔ):位,字節(jié)用于描述計(jì)算機(jī)數(shù)據(jù)單位或計(jì)算機(jī)存儲(chǔ)單位。這里主要指存儲(chǔ)單位
# 最小的存儲(chǔ)單位稱為位(bit):
# 只能容納兩個(gè)值(0或1)之一,不能在一個(gè)位中存儲(chǔ)更多的信息。位是計(jì)算機(jī)存儲(chǔ)的基本單位。
# 對(duì)于一種給定的計(jì)算機(jī)設(shè)計(jì),字(word)是自然的存儲(chǔ)單位。
# 一個(gè)英文字符和英文標(biāo)點(diǎn)占用一個(gè)字節(jié),一個(gè)中文字符和中文標(biāo)點(diǎn)占用2個(gè)字節(jié)
#
# 字節(jié)(byte)是常用的計(jì)算機(jī)存儲(chǔ)單位。
# 字節(jié)的標(biāo)準(zhǔn)定義:一個(gè)字節(jié)均為8位。由于上述所講每個(gè)位或者是0或者是1,所以一個(gè)8位的字節(jié)包含256種可能的0,1組合
之前講過(guò)集中數(shù)據(jù)類型?
java基本數(shù)據(jù)類型就8種,記住就好了。除了這些都是引用型的了
java四類八種基本數(shù)據(jù)類型 (占用字節(jié))
#在棧中可以直接分配內(nèi)存的數(shù)據(jù)是基本數(shù)據(jù)類型
字節(jié)大小
第一類:整型
int(整數(shù)類型) 4
byte(字節(jié)類型) 1
short(短整形) 2
long(長(zhǎng)整形) 8
第二類:浮點(diǎn)型
double(雙精度類型 雙精度) 8
float(浮點(diǎn)類型 單精度) 4
第三類:邏輯型
boolean(布爾型 他只有兩個(gè)值1.True 2.False) 1
第四類:字符型
char(字符型) 2
?
?
主類型 大小 最小值 最大值
boolean 1位 - -
char 16位 0 2的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-45 3.4028235E38
double 64位 4.9E-324 1.7976931348623157E308
// byte
System.out.println("基本類型:byte 二進(jìn)制位數(shù):" + Byte.SIZE);
System.out.println("最小值:" + Byte.MIN_VALUE);
System.out.println("最大值:" + Byte.MAX_VALUE);
System.out.println();
// short
System.out.println("基本類型:short 二進(jìn)制位數(shù):" + 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 二進(jìn)制位數(shù):" + 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 二進(jìn)制位數(shù):" + 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 二進(jìn)制位數(shù):" + Float.SIZE);
//1.4乘于10的負(fù)45次方;此處的E并非自然對(duì)數(shù),而是10的次方的意思。這是科學(xué)計(jì)數(shù)法的寫(xiě)法
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 二進(jìn)制位數(shù):" + 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 二進(jìn)制位數(shù):" + Character.SIZE);
// 以數(shù)值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺(tái)
System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);
// 以數(shù)值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺(tái)
System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);
變量的聲明及使用
變量的定義兩種方式:
語(yǔ)法:變量類型 變量名 = 數(shù)值;
// 先定義 再賦值
int a;
a = 10;
// 邊定義 邊賦值
int a = 10;
起變量名一定要規(guī)范:
字母、下劃線、$符號(hào) 其余部分任意字符、下劃線、數(shù)字、$符號(hào)
通常第一個(gè)單詞的首字母小寫(xiě),其后的單詞的首字母大寫(xiě):mySchool(起變量名要有意義,見(jiàn)名知意)
賦值運(yùn)算符(=):
變量名 = 表達(dá)式
程序中的賦值是右邊給左邊賦值
int a = (1 + 2) * (8 - 2);
算數(shù)運(yùn)算符
+ :加
- :減
x : 乘
/ :除
% :余
類型轉(zhuǎn)換:
自動(dòng)類型轉(zhuǎn)換
整型、實(shí)型(常量)、字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運(yùn)算。
轉(zhuǎn)換從低級(jí)到高級(jí)。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
數(shù)據(jù)類型轉(zhuǎn)換必須滿足如下規(guī)則:
1. 不能對(duì)boolean類型進(jìn)行類型轉(zhuǎn)換。
2. 不能把對(duì)象類型轉(zhuǎn)換成不相關(guān)類的對(duì)象。
3. 在把容量大的類型轉(zhuǎn)換為容量小的類型時(shí)必須使用強(qiáng)制類型轉(zhuǎn)換。
4. 轉(zhuǎn)換過(guò)程中可能導(dǎo)致溢出或損失精度,例如:
int i =128;
byte b = (byte)i;
因?yàn)閎yte類型時(shí)8位,最大值為127,所以當(dāng)強(qiáng)制轉(zhuǎn)換為int類型值128時(shí)候就會(huì)導(dǎo)致溢出。
5. 浮點(diǎn)數(shù)到整數(shù)的轉(zhuǎn)換是通過(guò)舍棄小數(shù)得到,而不是四舍五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45
規(guī)則一:如果一個(gè)操作數(shù)為double型,整個(gè)表達(dá)式都提為double
規(guī)則二:滿足自動(dòng)轉(zhuǎn)換類型
char c1='a';//定義一個(gè)char類型
int i1 = c1;//char自動(dòng)類型轉(zhuǎn)換為int
System.out.println("char自動(dòng)類型轉(zhuǎn)換為int后的值等于"+i1);
char c2 = 'A';//定義一個(gè)char類型
int i2 = c2+1;//char 類型和 int 類型計(jì)算
System.out.println("char類型和int計(jì)算后的值等于"+i2);
解析:c1的值為字符'a',查ascii碼表可知對(duì)應(yīng)的int類 型值為97,'A'對(duì)應(yīng)值為65,所以i2=65+1=66
擴(kuò)展:
ASCII(American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國(guó)際標(biāo)準(zhǔn)ISO/IEC 646
強(qiáng)制類型轉(zhuǎn)換:
語(yǔ)法:(類型名)表達(dá)式
強(qiáng)制類型轉(zhuǎn)換
1. 條件是轉(zhuǎn)換的數(shù)據(jù)類型必須是兼容的。
2. 格式:(type)value type是要強(qiáng)制類型轉(zhuǎn)換后的數(shù)據(jù)類型 實(shí)例:
實(shí)例
public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//強(qiáng)制類型轉(zhuǎn)換為byte
System.out.println("int強(qiáng)制類型轉(zhuǎn)換為byte后的值等于"+b);
}
}
隱含強(qiáng)制類型轉(zhuǎn)換
1. 整數(shù)的默認(rèn)類型是 int。
2. 浮點(diǎn)型不存在這種情況,因?yàn)樵诙x float 類型時(shí)必須在數(shù)字后面跟上 F 或者 f。
這一節(jié)講解了 Java 的基本數(shù)據(jù)類型。下一節(jié)將探討不同的變量類型以及它們的用法
邏輯運(yùn)算符
&& :兩個(gè)條件同時(shí)為真,結(jié)果為真
|| :兩個(gè)條件有一個(gè)為真,結(jié)果為真
! :條件為真,結(jié)果為假;條件為假,結(jié)果為真
關(guān)系運(yùn)算符
> 大于
< 小于
= 等于
>= 大于等于
<= 小于等于
!= 不等于
關(guān)系運(yùn)算符的作用:用來(lái)做比較運(yùn)算,比較結(jié)果為boolean
運(yùn)算符的優(yōu)先級(jí)
最高 小括號(hào)()
最低 賦值=
優(yōu)先級(jí)順序:算數(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符
short a = 1;
short b = 2;
那么 a+b 是什么類型?
答:在java的世界里,如果比int類型小的類型做運(yùn)算,java在編譯的時(shí)候就會(huì)將它們統(tǒng)一強(qiáng)轉(zhuǎn)成int類型。當(dāng)是比int類型大的類型做運(yùn)算,就會(huì)自動(dòng)轉(zhuǎn)換成它們中最大類型那個(gè)。
?
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");
}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/nanchao/p/7525655.html
總結(jié)
- 上一篇: Python学习日志9月14日
- 下一篇: SQL SERVER 函数ROW_NUM