Java學習筆記(一)——程序基本設計結構


Java程序基本設計結構

1、Java程序基本結構

public class FirstSample {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}
  1. public:訪問修飾符,用於控制程序其他部分對代碼的訪問級別和權限;
  2. class:Java程序中的全部內容都包含在類中,后跟上類名稱;
    1. 類名稱必須以字母開頭;
    2. 類名稱可以是字母和數字的任意組合;
    3. 類名稱不能使用Java的關鍵字和保留字;

注意:源代碼文件名必須與公共類的名稱相同,否則編譯階段會報錯。

1.1、程序的編譯和運行

  1. 編譯程序:javac FirstSample.java
  2. 運行程序:java FirstSample

編譯之后,系統會得到一個包含編譯文件類字節碼的.class文件。並與源文件保存在同一個目錄下。運行程序時候,不要添加.class擴展名。

2、數據類型

Java是一種強類型語言,必須為每個變量聲明一個類型

Java中一共有8中基本類型,其中:

  1. 整型:用來表示沒有小數部分的數值
    ​ 1. int:4個字節(最常用)
    2. short:2個字節
    3. long: 8個字節
    4. byte: 1個字節(-128 ~ 127)
  2. 浮點型: 用來表示有小數部分的數值
    1. double:雙精度
    2. float:單精度
  3. char類型:表示單個字符
  4. 布爾值類型:boolean,用來判斷邏輯條件,整型和布爾型之間不能互相轉換
    1. true:邏輯判斷正確;
    2. false:邏輯判斷正確;

3、變量

在Java中,每一個變量都屬於一種類型,在聲明時要將變量的所屬類型位於變量之前,變量在使用之前必須要進行賦值或初始化。

double salary;
int vacationDays;
boolean flag;

3.1、變量初始化

Java中,使用一個變量之前,必須要對變量進行初始化,否則,Java編譯器會報錯

public class TestVariable {
	public static void main(String[] args) {
		
		double salary;
		System.out.println(salary);
		/**
		 * C:\Users\Administrator\Desktop\Java>javac TestVariable.java
		 * TestVariable.java:5: 錯誤: 可能尚未初始化變量salary
		 * System.out.println(salary);
		 */
	}
}

在Java中使用等號"="來對變量進行賦值操作:

double salary;
salary = 2500.00;

// double salary = 2500.00

System.out.println(salary);	//2500.00

4、運算符

在Java中,使用算數運算符+、-、 *、 / 、% 來表示加減乘除和取余(取模)。在進行整數運算時,被0整除將會產生異常,而浮點整數被0整除將會得到無窮大或者NaN。

在賦值的語句中可以采用簡化的格式來書寫二元算數運算符。

public class TestOperators {
	public static void main(String[] args) {

		int x = 10;
		int y = 2;

		System.out.println("x + y = " + (x + y));
		System.out.println("x - y = " + (x - y));
		System.out.println("x * y = " + x * y);
		System.out.println("x / y = " + x / y);
		System.out.println("x % y = " + x % y);
		
		// x = x + 2;
		x += 2;
		System.out.println("現在X的值為:"+x);
		
		// 運行結果:
		// x + y = 12
		// x - y = 8
		// x * y = 20
		// x / y = 5
		// x % y = 0
		// 現在X的值為:12
	}
}

4.1、自增運算符和自減運算符

Java中,使用了自增和自減運算符,n++表示將變量n的當前值加1,n--表示將n的當前值-1。運算符有兩種形式,一種是前綴,一種是后綴。兩種方式都是對變量值加或者減1,但是在表達式中,前綴方式是先進行加減1運算,后綴方式則是先用原來的值運行,然后在加減1。

int m = 7;
int a = 2 * m++;
int b = 2 * ++m;

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("m = " + m);

// 運行結果:
// a = 14
// b = 18
// m = 9

4.2、關系運算符與Boolean運算符

Java包含各種關系運算符,其中使用 == 檢測是否相等,使用 != 檢測是否不相等。也用<><=>= 。用 && 表示邏輯“與”,用 || 表示邏輯“或”。 &&|| 是按照“短路”的方式來求值的,如果第一個操作已經能夠確定表達式的意思,第二操作就不必計算了。此外,Java 還支持三元操作符 ?:

三元運算符

// 條件式 ? 值1 : 值2
condition ? expression1 : expression2
public class TestOperators {
	public static void main(String[] args) {

		int a = 10;
		int b = 20;
		
		System.out.println(a > b);		// false
		System.out.println(a < b);		// true
		System.out.println(a >= b);		// false
		System.out.println(a <= b);		// true	
		System.out.println(a != b);		// true

		System.out.println(a > b ? "Helll" : "World");		// World

	}
}

5、數值類型之間的轉換

類型轉換時將一個值從一種類型更改為另一種類型的過程。

如果從低精度數據類型向高精度數據類型轉換,則數據永遠不會溢出,並且總會轉換成功;而把高精度數據向低精度數據類型轉換,則必然會有信息丟失,有可能會失敗。

在圖中,有6個實線箭頭表示無信息丟失的轉換;有3個虛線箭頭,表示可能用精度丟失的轉換。

5.1、低精度向高精度數值類型轉換

低精度向高精度轉換的時候,系統將會自動的執行,因此該種類型的轉換也被稱為隱式類型轉換。

public class TestConver {
	public static void main(String[] args) {
		
		byte b = 127;
		int i = 150;
		float f = 452.12f;
		double d = 45.4545;
		char c = 10;

		System.out.println("byte 類型與 int 類型數據進行計算的結果是:"+ (b + i));
		System.out.println("byte 類型與 float 類型數據進行計算的結果是:"+ (b + f));
		System.out.println("byte 類型與 char 類型數據進行計算的結果是:"+ (b + c));
		System.out.println("double 類型與 char 類型數據進行計算的結果是:"+ (d + c));
	}
}

5.2 高精度向低精度類型轉換 —— 強制轉換

當把高精度的變量的值賦給低精度的變量時,必須使用顯示類型轉換運算,又稱強制類型轉換。語法:(類型名稱)要轉換的值;

int a = (int)456.45;
long l = (long)123.12F;
int b = (int)'d';

System.out.println("a = " + a);		//456
System.out.println("l = " + l);		//123
System.out.println("b = " + b);		//100

當執行強制轉換時候可能會導致精度的丟失,此外,只要是boolean類型意外的其他基本類型之間的轉換,全部都能以強制類型轉換的方法達到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM