當前位置:首頁 > IT技術 > 編程語言 > 正文

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

JAVA基礎

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

1.1 注釋

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

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

1.2 強制轉換

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

ink k = (int)88.88;

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

1.3 常量

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

1.4 類型轉換

案例:判斷是否正確

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

1.5 變量

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

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

計算機存儲單元

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

常量【沒有手動指定數(shù)據(jù)類型】但只要是數(shù)據(jù),就會存在數(shù)據(jù)類型

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

1.7 變量的定義和試用

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

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

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

1.8 變量的注意事項

變量名不允許重復定義

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

一條語句可以定義多個變量,但需要使用逗號進行分割

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);
	}

變量在使用之前一定要進行賦值

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

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

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

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

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

1.9 鍵盤錄入

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

		import java.util.Scanner

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

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

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

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

1.10 標識符

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

1.11 隱式轉換

類型轉換
為什么要學習類型轉換

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

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

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

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

隱式轉換的細節(jié)

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

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

開通會員,享受整站包年服務立即開通 >