雲棲社區專家系列課——Java必修課第二講

Java必須課是零基礎Java學習者的入門課程,涵蓋了Java初學者應該掌握的所有核心知識,由最課程創始人、微軟MVP陸敏枝主講。本節課陸老師從概念和代碼示例(計算器)兩方面着重講解了Java中變量、API文檔、輸入輸出和運算符四方面基礎知識。


課程基本信息

開課時間:每週四下午:14:00-15:30

主講人:雲棲社區專家,陸敏枝

直播視頻鏈接:

http://cloud.video.taobao.com/play/u/3586076219/p/1/e/6/t/1/50174010455.mp4

歡迎下載或在線觀看

本課程重點內容:

本次課程在上一講的基礎上,着重講解Java中變量、API文檔、輸入輸出和運算符四部分。

(一)變量

變量部分主要講解了變量的簡述、變量的使用方法、變量類型。

1、變量簡述:初學者可以這麼理解變量:如果說類和方法是用來存放邏輯的容器,那麼變量則是用來放數據的容器(不完全正確);實際上變量是內存中地址的引用(後續課程會講解)。

2、變量使用:

(1)變量可以是任意數據類型,包括Int、Boolean、String、char等;

(2)變量聲明:可以同時聲明單個或多個變量:int a =5 \ int d,e,r=5

(3)變量初始化:變量在使用前需要初始化,變量的初始化有兩種方式,一種是聲明變量的同時就進行了初始化,如int a=5;另一種是聲明變量時不初始化,在使用之前進行初始化,如int a;a=5;

3、變量類型:

(1)局部變量:爲方法內部的變量,在方法內部或者代碼塊中聲明,只允許被當前方法所使用;

(2)參數變量:方法聲明中的變量,方法用於傳遞信息的參數變量;

(3)類變量:方法外部的變量(類的內部),必須在類體中聲明,並且用static關鍵字修飾,也稱爲靜態變量,類內部的多個方法均可調用該變量;

(4)實例變量,在類體中聲明但不使用static修飾,也稱爲非靜態變量(在面向對象時,再具體學習)。

課後作業:定義所有基本類型的變量

(二)輸入輸出簡述

在本次課程中,我們通過加法計算器的實現方法,講解了鍵盤獲取用戶輸入的Scanner類、標準輸入流System.in、標準輸出流輸System.out的概念和具體使用方法。

(1)加法計算器代碼:


public class MathTester{
public static void mian(String[] args){
System.out.printIn(“請輸入第一個參數:”);
//藉助JDK的幫助來獲取用戶的輸入
java.util.Scanner scanner=new java.util.Scanner(System in);
int a = scanner.nextInt();\\獲取鍵盤上的一個值,並賦值給變量a
System.out.printIn(“您輸入的第一個值爲:”+a);
 
System.out.printIn(“請輸入第二個參數:”);
int b = scanner.nextInt();
System.out.printIn(“您輸入的第二個值爲:”+b);
 
int theResult=add(a,b);
System.out.printIn(“Result=+theResult); #輸出函數
}
public static int add(int a,int b){
int re=a+b;
return re;
}
}

Scanner:java.util.Scanner 表明有一個類叫Scanner,它在JDK的路徑java.util下。Scanner是一個引用類型的類,,是jdk裏默認提供給用戶的一個類型。

java.util.Scanner scanner=new java.util.Scanner(System in);

int a = scanner.nextInt();\\獲取鍵盤上的一個值,並賦值給變量a

當通過new Scanner(System.in)創建一個Scanner,控制檯會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作爲掃描對象,並將該對象傳遞給了scanner局部變量;在new Scanner時,給它傳遞了一個構造參數System.in,這樣scanner就知道自己要去控制檯獲取參數。如果要獲取輸入的內容,則只需要調用Scanner的nextInt()方法即可,其中scanner.nextInt()是 scanner的內置方法,用於獲取鍵盤上輸入的一個整數值,其他內置方法有:

·nextByte(); 讀取一個byte類型的整數。

·nextShort(); 讀取一個short類型的整數。

·nextInt(); 讀取一個int類型的整數。

·nextLong(); 讀取一個long類型的整數。

·nextFloat(); 讀取一個float類型的整數。

·nextDouble(); 讀取一個double類型的整數。

·next(); 讀取一個字符串,該字符在一個空白符之前結束。

·nextLine(); 讀取一行文本(即以按下enter鍵爲結束標誌)。

(2)輸入輸出流

在Java中,使用System.out表示標準輸出設備,使用System.in表示標準輸入設備。默認情況下,輸出設備是現實器,輸入設備是鍵盤:

·System.in:標準輸入流,用於接受控制檯輸入;

·System.out:標準輸出流,用戶輸出控制檯信息。

爲完成控制檯輸出,只需要使用println方法就可以在控制檯上現實基本值或字符串。Java並不直接支持控制檯輸入,可以使用Scanner類創建它的對象,用以讀取來自System.in的輸入。

(三)API 文檔

當初學者初次接入某個公共類時,如Scanner,不清楚其用法及其內置函數時,該怎麼辦呢?此時,API文檔就發揮其作用。

API,全稱爲application programming interface的縮寫,中文稱爲應用程序編程接口。初學者可以將其理解爲前人已經編寫好,供調用的類和方法。例如,在輸入中使用的Scanner類,打開API文檔後,可以通過關鍵字Scanner直接搜索到這個類的介紹頁面,當然也可以通過包名一層層找下去,直到找到這個類,如下圖。

161d55223ed2de84766e529badc4ee837f73b1f2 

Java API文檔提供了很多官方的介紹和類、方法、變量的解釋。一般很系統,涉及所有的方面,如果開發人員對正在使用的類不熟悉,想查看類裏面的變量或者方法,就可以打開JavaAPI文檔進行閱讀和查看,初學者可以藉助示例代碼加強對API的講解。

課堂練習:

通過在API中查詢Date類的使用方法,查詢並輸出當前日期:


import java.util.Date // java.util.Date date = new  java.util.Date()
public class APITester{
public static void mian(String[] args){
Date date=new Date();
System.out.printIn(date.toString());
}
}

其中import java.util.Date 語句是在程序中使用時簡寫Date類;如不引用,則上述代碼line 4應爲:java.util.Date date = new  java.util.Date();

 

(三)運算符

Java中包括四種運算符:

①算數運算符(9):‘+’(加),‘-’(減),‘*’,‘/’,‘%’,‘++ ’,‘--’,‘+’(正),‘-’(負)

②關係運算符(6):== !=  > >= < <=

③邏輯運算符(6):&& || !^ & |

④位運算符(7):&| ~ ^ >> << >>>

(1)算數運算符:其操作數必須是數值類型,又分爲一元運算符和二元運算符,一元運算符,只有一個操作數;二元運算符有兩個操作數,運算符在兩個操作數之間.

①一元運算符:正‘+’,負‘-’,自加‘++’,自減‘--’,本次課程着重講解了a++和++a的區別:

++a\--a:用於數值變量之前,在賦值操作中,先對被“++”或“--”操作變量值先加1或者先減一,然後在進行其他的操作(先自加\減,再賦值);

a++\a--:用於數值變量之後,在賦值操作中,先用被“++”或“--”的操作變量值進行其他操作,然後再對其值加1或減1(先賦值,再自加\減)。

一元運算符代碼示例:


public class OperatorTester{
public static void mian(String[] args){
Int a=5;
Int b=2;
b=+a;
System.out.printIn(“a=+a + “\t b=+b);//\t是一個佔位符,表示這裏要空一個製表單位
Int c;
c=-a
System.out.printIn(“a=+a + “\t c=+ c);//\t是一個佔位符,表示這裏要空一個製表單位
Int d;
d=++a; //先a=a+1,再d=a
System.out.printIn(“a=+a + “\t d=+d);
Int e;
e=a++;//先e=a,再a=a+1
System.out.printIn(“a=+a + “\t e=+e);
Int f;
f=--a;//先a=a-1,再f=a
System.out.printIn(“a=+a + “\t f=+f);
Int g;
g=a--;//先g=a,再a=a-1
System.out.printIn(“a=+a + “\t g=+g);
}
}

輸出結果是:a=5    b=5

a=5    c=-5

a=6    d=6

a=7    e=6

a=6    f=6

a=5    g=6

 

②二元運算符:‘+’,‘-’,‘*’,‘/’,‘%’,在二元運算符中,乘、除、取餘優先級高於加、減法。當二元運算符操作的兩個數據類型不一樣時,結果值隨精度大的那一個。

在本次課程,還涉及到變量強制轉型,不同精度數運算等知識點。

二元運算符代碼示例:


public class OperatorTester{
public static void m2(){
int a=3;
int b=2;
System.out.printIn(“加法,3+2+( a + b));
System.out.printIn(“減法,3+2+( a - b));
System.out.printIn(“乘法,3+2+ a * b);
System.out.printIn(“除法,3+2+ a / b);
System.out.printIn(“求餘,3+2+ a % b);
//高精度數和低精度數運算時,結果值爲高精度類型存儲
float c= 5.17f
System.out.printIn(“單精度 加整數,5.17+3=+(c+a));//輸出爲8.17
System.out.printIn(“單精度 除整數,5.17/3=+(c/a));
}


閱讀全文請點擊


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章