當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

Java基礎(chǔ)1-1-1—java基礎(chǔ)語(yǔ)法(數(shù)據(jù)類型及轉(zhuǎn)換)
2022-04-19 11:17:45

JAVA基礎(chǔ)

1、數(shù)據(jù)類型及轉(zhuǎn)換

1.1 注釋

注釋是在程序指定位置添加的說(shuō)明性信息
簡(jiǎn)單理解:對(duì)代碼的一種解釋說(shuō)明,方便我們程序員更好的去閱讀代碼

// 單行注釋
/*
	多行注釋
*/
/**文檔注釋*/

1.2 強(qiáng)制轉(zhuǎn)換

強(qiáng)制轉(zhuǎn)換:把一個(gè)表示數(shù)據(jù)范圍大的數(shù)值或者變量賦值給另一個(gè)表示數(shù)據(jù)范圍小的變量
簡(jiǎn)單理解:大的給小的,不能直接給,需要強(qiáng)轉(zhuǎn)
格式:目標(biāo)數(shù)據(jù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型)值或者變量;
范例:

ink k = (int)88.88;

注意:強(qiáng)制類型轉(zhuǎn)換,有可能會(huì)發(fā)生精度損失
精度損失:簡(jiǎn)單理解,將容積為8升的容器中的水,倒入容積為4升的容器中,如果水超出了4升,就灑了。

1.3 常量

常量:在程序的執(zhí)行過(guò)程中,其值不會(huì)發(fā)生改變的量(數(shù)據(jù))
常量的分類:
字符串常量:被雙引號(hào)所包裹的內(nèi)容
整數(shù)常量:所有整數(shù)
小數(shù)常量:所有小數(shù)
字符常量:被單引號(hào)包裹的內(nèi)容,里面只能存放單個(gè)字符
布爾常量:只有兩值,true(真),false(假)
布爾常量單獨(dú)打印沒(méi)有意義,為了后面要學(xué)習(xí)的運(yùn)算符,打基礎(chǔ)
空變量:null,數(shù)組部分詳細(xì)講解
注意:null空常量不能輸出打印

1.4 類型轉(zhuǎn)換

案例:判斷是否正確

public class Test{
	public static void main(String[] args){
		byte a = 3;				//1
		byte b = 4;				//2
		/*
			隱藏轉(zhuǎn)換:當(dāng)小的數(shù)據(jù)類型和大的數(shù)據(jù)類型在一起運(yùn)算的時(shí)候,小的會(huì)先提示為打的之后,再進(jìn)行運(yùn)算
			特殊關(guān)注:byte short char在運(yùn)算的時(shí)候,都會(huì)直接提升為int,然后再進(jìn)行運(yùn)算。
			解決方法:byte c = (byte)(a + b)
		*/
		byte c = a + b;			//3 錯(cuò)誤:不兼容的類型:從int轉(zhuǎn)換到byte可能會(huì)有損失
		byte d = 3 + 4;			//4 這里的3和4是兩個(gè)變量,Java存在常量?jī)?yōu)化機(jī)制,會(huì)在編譯的時(shí)候就會(huì)讓3和4進(jìn)行相加,然后會(huì)自動(dòng)判斷7是否在byte的取值范圍內(nèi)。1、在范圍內(nèi):編譯出錯(cuò) 2、在范圍內(nèi):通過(guò)編譯
	}
}

1.5 變量

以上兩塊內(nèi)存空間,所記錄的值,是經(jīng)常發(fā)生改變的,對(duì)于這種經(jīng)常發(fā)生改變的數(shù)據(jù),就是所謂的變量。
結(jié)論:變量就是內(nèi)存中的存儲(chǔ)空間,空間中存儲(chǔ)著經(jīng)常發(fā)生改變的量(數(shù)據(jù))
怎么定義變量
~變量的定義格式
數(shù)據(jù)類型 變量名 = 數(shù)據(jù)值;
數(shù)據(jù)類型:為空間中存儲(chǔ)的數(shù)據(jù),加入類型【限制】整數(shù)?小數(shù)?...
變量名:自己要為空間起的名字,沒(méi)有難度
數(shù)據(jù)值:空間中要存儲(chǔ)的數(shù)值,沒(méi)有難度

1.6 數(shù)據(jù)類型

計(jì)算機(jī)存儲(chǔ)單元

1B(字節(jié))= 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
TB PB等......
數(shù)據(jù)類型
Java語(yǔ)言是強(qiáng)類型語(yǔ)言,對(duì)于每一種數(shù)據(jù)都給出了明確的數(shù)據(jù)類型,不同的數(shù)據(jù)類型也分配了不同的內(nèi)存空間,所以它們表示的數(shù)據(jù)大小也是不一樣的。
數(shù)據(jù)類型內(nèi)存占用和取值范圍

常量【沒(méi)有手動(dòng)指定數(shù)據(jù)類型】但只要是數(shù)據(jù),就會(huì)存在數(shù)據(jù)類型

public static void main(String[] args){
	//整數(shù)類型,默認(rèn)為int
	System.out.println(10);
	//浮點(diǎn)類型(小數(shù)類型),默認(rèn)為double
	System.out.println(12.3);
}

1.7 變量的定義和試用

變量的定義格式
數(shù)據(jù)類型 變量名 = 數(shù)據(jù)值;
變量的使用
根據(jù)標(biāo)識(shí),變量名進(jìn)行使用

public class Demo{
	public static void main(String[] args){
		int a = 10;
		System.out.println(a);
		a = 30;
		System.out.println(a);
	}
}

總結(jié):變量就是內(nèi)存中的空間,內(nèi)部存儲(chǔ)著不斷發(fā)生變化的數(shù)據(jù)

1.8 變量的注意事項(xiàng)

變量名不允許重復(fù)定義

public static void main(String[] args){
		int a = 10;
		//int a = 20; 錯(cuò)誤代碼
		a = 20;
		System.out.println(a);
	}

一條語(yǔ)句可以定義多個(gè)變量,但需要使用逗號(hào)進(jìn)行分割

public static void main(String[] args){
		int a = 10 , b = 20 , c = 30;
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
	}

變量在使用之前一定要進(jìn)行賦值

public static void main(String[] args){
		//int a; 錯(cuò)誤代碼
		int a = 10;
		System.out.println(a);
	}

定義float和long變量的注意事項(xiàng)
定義float類型變量的時(shí)候:需要在數(shù)值后面加入F的標(biāo)識(shí),F(xiàn)可以大寫也可以小寫
定義long類型變量的時(shí)候:需要在數(shù)值后面加入L的標(biāo)識(shí),L可以大寫也可以小寫
但是,建議大寫 1L 1l(小寫)

public static void main(String[] args){
	float a = 12.3F;
	long b = 1000L;
}

變量的作用域范圍
變量的作用域:只在它所在的大括號(hào)中有效、

public static void main(String[] args){
	int a = 12;
	{	
		int b = 20; //無(wú)效 運(yùn)行完就消失
		System.out.println(a);
	}

1.9 鍵盤錄入

鍵盤錄入介紹
為什么要有鍵盤錄入?
目的:為了讓我們操作的數(shù)據(jù),變得更加靈活
舉例:int a = 10;
這里a雖然是個(gè)變量,但記錄得值,卻是手動(dòng)寫死的。能不能讓a變量記錄的值,靈活起來(lái),用戶輸入什么,a變量就記錄什么。
實(shí)現(xiàn)鍵盤錄入
步驟1:導(dǎo)包,需要寫在class的上面

		import java.util.Scanner

步驟2:創(chuàng)建對(duì)象

		Scanner sc = new Scanner(System.in);
		只有sc可以改變,其他屬于固定格式

步驟3:使用變量接收數(shù)據(jù)

		int i = sc.nextInt();
		只有i變量可以改變,其他屬于固定格式

1.10 標(biāo)識(shí)符

標(biāo)識(shí)符概述
標(biāo)識(shí)符:就是給類,方法,變量等起名字的符號(hào)。
標(biāo)識(shí)符定義規(guī)則:
由數(shù)字、字母、下劃線(_)和美元(S)組成
·不能以數(shù)字開(kāi)頭
·不能是關(guān)鍵字
·區(qū)分大小寫
常見(jiàn)命名約定
小駝峰命名法:
約定1:標(biāo)識(shí)符是一個(gè)單詞的時(shí)候,首字母小寫 eg:name
約定2:標(biāo)識(shí)符由多個(gè)單詞組成的時(shí)候,第一個(gè)單詞首字母小寫,其他單詞首字母大寫 eg:firstName
大駝峰命名法:
約定1:標(biāo)識(shí)符是一個(gè)單詞的時(shí)候,首字母大寫 eg:Student
約定2:標(biāo)識(shí)符由多個(gè)單詞組成的時(shí)候,每個(gè)單詞的首字母大寫 eg:GoodStudent

1.11 隱式轉(zhuǎn)換

類型轉(zhuǎn)換
為什么要學(xué)習(xí)類型轉(zhuǎn)換

public class Test{
	public static void main(String[] args){
		int a = 10;
		double b = 12.3;
		數(shù)據(jù)類型 c = a + b;
	}
}

類型轉(zhuǎn)換的分類
隱式轉(zhuǎn)換
強(qiáng)制轉(zhuǎn)換
隱式轉(zhuǎn)換的過(guò)程
隱式轉(zhuǎn)換
將數(shù)據(jù)類型中,取值范圍小的數(shù)據(jù),給取值范圍大的類型賦值,可以直接賦值

范例:
int a = 10;
double b = a;

簡(jiǎn)單記:小的給大的,可以直接給。
int 4個(gè)字節(jié)
double 8個(gè)字節(jié)
4升的油,倒入8升的桶,可以直接倒入

隱式轉(zhuǎn)換的細(xì)節(jié)

特殊關(guān)注:
byte short char 三種數(shù)據(jù)在運(yùn)算的時(shí)候,不管是否有更高的數(shù)據(jù)類型,都會(huì)提升為int,然后再進(jìn)行運(yùn)算

本文摘自 :https://www.cnblogs.com/

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >