二、三次課—Java基本語法

2020-08-11 22:13:04

一、結構定義語句和功能執行語句

Java中的程式可以分爲結構定義語句和功能執行語句。

  1. 結構功能語句,可以用於宣告一個類或者方法
  2. 功能執行語句用於實現具體的功能

二、關鍵字的定義和特點

  1. 定義:被Java語言賦予了特殊含義,用作專門用途的字串(單詞)。
  2. 特點:關鍵字中的所有字母都是小寫,JDK8中有50個關鍵字。
  3. 關鍵字不能當作識別符號。
作用 關鍵字
用於定義數據型別的關鍵字(12) class、interface、enum、byte、short、int、long、float、double、char、boolean、void
用於定義數據型別值的關鍵字 true、false、null
用於定義流程控制的關鍵字 if、else、switch、case、default、while、do、for、break、continue、return

三、Java中的識別符號

  1. 定義:在程式設計過程中,定義的包名、類名、方法名、參數名、變數名等,這些符號被稱爲識別符號。
  2. 組成:識別符號可以由任意順序的大小寫字母、數位、下劃線(_)和美元符號($),但是不能以數位開頭,也不能是Java中的關鍵字,不能包含空格。

四、Java識別符號通用規範

  1. 包名所有字母一律小寫
  2. 類名和介面名的每個單詞的首字母都要大寫
  3. 常數名所有字母都要大寫,單詞之間用下劃線連線
  4. 變數名和方法名的第一個單詞的首字母小寫,其餘的單詞的首字母大寫
  5. 儘量用英文命名做到見名知意。

五、常數舉例

新建class Demo01
package com.hpe.demo;

public class Demo01 {
	/**
	 * 什麼是常數?程式執行期間,固定的值是不可以改變的
	 */
	public static void main(String[] args) {
		//整數
		System.out.println(100);
		//字串
		System.out.println("我愛學習");
		//小數
		System.out.println(2.12);
		//布爾
		System.out.println(true);
		//字元
		//System.out.println('');//字元必須要有內容
		System.out.println('a');
	}
}

六、變數的定義&語法格式

變數的概念:在記憶體中的一塊區域,變數的值可以在某一個範圍內發生變化。

  1. 變數型別 變數名;int num;

  2. 變數型別 變數名; int num=10;

  3. 變數型別 變數名【=初始值】

變數型別決定了變數的數據性質、範圍、儲存在記憶體中所佔的位元組數以及可以進行的合法操作

變數名必須是一個合法的識別符號

③【】中的內容是可選項,即在定義變數的同時可以對該變數進行初始化賦值。

七、變數型別(2種)

  1. 基本數據型別(在棧裏面,4類八個
    數值型、布爾型、字元型
  2. 參照數據型別(在堆裏面)
    字串、陣列、集合、介面、常用類,想要用得new建立。

整數型別

整數型別有byte(1位元組)、short(2位元組)、int(4位元組)、long(8位元組)

Java的整形常數預設爲int,宣告long型常數必須後面加’l’或’L’

浮點型別

浮點型別有float(4位元組)、double(8位元組)

Java的浮點型常數的預設爲double型,宣告float型常數的時候,後面必須加上’f’或’L’

布爾型別

boolean 常用在邏輯運算

字元型別

char

八、變數的分類-數據型別分類

在这里插入图片描述

九、變數的分類(2種)

1.成員變數:定義在類的內部,方法之外,可以在當前類的內部使用
2.區域性變數:定義在方法內部,只能在當然方法內部使用

注意:靜態方法裏面只能呼叫靜態變數或者靜態方法
新建class Demo01
static int num=10;//成員變數
public static void main(String[] asrgs){
	int num=10;//區域性變數
	System.out.println(num);
}

十、Java基本數據型別舉例

  1. java的基本數據型別(8種):byte、short、int、long、double、float、boolean、char
  2. js是弱型別語言,java是強型別語言
新建class Demo02

1.整數
//byte -128-127
byte b=120;
System.out.println("B":+b);//b=128;右邊賦值的數位不能超過左邊數據型別的範圍
long l=1000L;//如果定義成long型別,後面必須加上「L」或「l」
System.out.porintln("l:"+l);

2.小數
double d=10;
Systm.out.println("d:"+d);
float f=12F;//float型別值的後面必須加上「f」或「F」
System.out.println("f:"+f);

3.字元型
char c='a';
System.out.println("c:"+c);

4.布爾型別(只有truefalseboolean bo=true;
System.out.println("bo:"+bo);

十一、變數的型別轉換

分類:根據轉換方式不同,數據型別轉換分爲兩種:自動型別轉換、強制型別轉換、字串型別轉換

  1. 自動型別轉換:把小的放到大的裏面
  2. 強制型別轉換:把大的放到小的裏面
  3. 字串型別轉換:把字串轉換成其他數據型別(使用對應包裝類的parsexxx()方法
新建class Demo03

1.自動型別轉換
short s=10;
int num=s;//把小的(short)轉成大的(int),可以自動型別轉換
System.out.println("num:"+num);

2.強制型別轉換
強制型別轉換也叫顯式型別轉換,指的是兩種數據型別之間的轉換需要進行顯式宣告。當兩種型別不相容或者目標型取值範圍小於源型別時,自動型別轉換無法進行,這時候就需要強制型別轉換。
int num=10;
short s1=(short)num1;//把大的放到小的裏面需要強制型別轉換
System.out.println("s1:"+s1);

3.字串型別轉換
第一種:將字串轉換成int型別,轉換前提是字串的值中不能包含中文
String str="123";
//每一個基本數據型別都有自己對應的包裝類,每個包裝類裏面都封裝了對應的轉換方法
//Integer是int型別的包裝類
int num2=Integer.parseInt(str);//把字串轉換成int
第二種:將字串轉成double
String str1="456";
double dob=Double.parseDouble(str1);

4.整型轉換成字串
第一種:int型別轉換成字串——拼接字串
int num3=110;
String str2=num3+"";
第二種:int型別轉換成字元轉——String型別裏面找方法
int num4=112;
//轉成什麼型別就去對應的類裏面找方法
String str3=String.valueOf(num4);

十二、跳脫字元

寫法 釋義
\r 表示回車,將遊標定位到當前行的開頭,不會跳到下一行
\ n 表示換行,換到下一行的開頭
\t 表示製表符,將遊標移到下一個製表符的位置,就像在文件中用Tab鍵一樣
\ \ 表示反斜槓跳脫字元

十三、運算子

所謂的運算子就是用於告訴程式執行特定運算或邏輯操作的符號,主要包括算術運算子、比較運算子、邏輯運算子、條件運算子、賦值運算子號。

運算子 運算
+ 正號
- 負號
+
-
*
/ 除(即算數中整數的結果)
% 取模(即算術中的求餘數)
++ 自增(前)
++ 自增(後)
自減(前)
自減(後)
新建class Demo04

1.加
作用在數位上是求和,作用在字元上是字串拼接

2.++--)和後++--)
注意:不配合語句,單獨使用的時候++num和num++沒有任何區別。
配合語句用:
		++num	先加後用
		num++	先用後加
單獨使用:
int num=10;
++num;
System.out.println(num);

int num1=10;
num++;
System.out.println(num1);

混合使用:
int a=10;
System.out.println(++a);

int b=10;
System.out.println(b++);

練習01:
int d=10;
int e=10
int f=(++d)+(++d)+(d--)+(--e)+(e++)+(++e);
		10+12+12+9+9+11
System.out.prinltn(f);

練習02int j=12;
int h=16;
int sum=(--j)+(h--)+(j++)+(++h)+(j--)+(++j);
		11+16+11+16+12+12
System.out.println(sum);

十四、賦值運算子

新建 class Demo05

賦值運算子就是把右邊的值賦值給左邊的變數
運算子 |  解釋
-------- | -----
= | 不是相等的意思是賦值,==纔是相等的意思
+=  | a=a+b可以簡寫成a+=b;
-=  | 
*=  | 
/=  | 
%=  | 
int a=10;
int b=10;
a+=b;
System.out.println(a);

十五、比較運算子

比較運算子用來比較兩個數值或者是變數,其結果是布爾型別。比較運算子只能比較基本數據型別,因爲參照數據型別儲存的是地址值。

新建 class Demo06

注意:
比較運算子用來比較兩個變數,只是針對基本數據型別進行比較
如果用來比較參照數據型別結果永遠爲false

int a=10;
int b=30;
System.out.println(a!=b);

十六、邏輯運算子

用於對布爾型別的值或表達式進行邏輯判斷的符號,返回值依舊是布爾型別。

運算子 釋義
&(並且) 所有條件爲true,返回true,其中一個爲false,就爲false
(或者) 只要有一個爲true就爲true,都爲false纔是false
^(異) 相同爲false,不同爲true
!(非) 本來是false改成true
&& (短路與)
(短路或)

邏輯運算子&和|可以雙寫——執行效率高

短路與如果左側爲false可以判斷最後的結果開了,那麼右邊的邏輯表達式就不會被執行了

短路或如果左側爲true,右側的邏輯表達式就不再執行了