初級java學習小結----不對的地方還請指教

我也是現在纔開始學習java,以前學過c語言。當然兩者不同,學習了半個月雖然有些少,但是還是想對自己所學知識有個總結。

1前言

以前學習c語言的時候,沒人教,基本上就是自學爲主,當然這樣雖然有好處,但是有很多地方自己根本不瞭解,也有很多誤區,

所以到了大二,覺得時間不能浪費掉,所以就報了一個java 班,初來之時,對老師講的理解很快,也覺着自己好像被騙了,但到

後來才發現,其實雖然老師講的很基礎,但是把很多細節問題講清楚了,而且還用圖畫出了他在機器中的執行過程,這時,我才

體會到老師的良苦用心。所以說,學習語言雖然自學很好,但是有很多自己根本不懂的地方,加之有些人自我約束差,半途而廢

者比比皆是。因此,學習,一半靠悟性,一半還要有良師益友。

2安裝和簡介

JAVA語言的跨平臺性: jvm保證了java語言能在不同平臺上自由使用,就如翻譯官一般的角色。讓你能自如交流,不受阻礙。


java的安裝:到官網下載jdk和eclipse。建議:

A:在D盤建立一個目錄:develop
B:傻瓜式安裝,修改安裝的路徑到d盤的develop
C:路徑如下
JDK:
D:\develop\Java\jdk1.7.0_72\
JRE:
D:\develop\Java\jre7\

配置環境變量:如何配置呢?
a:方式1
把JDK的bin目錄配置到path中。
修改系統屬性中的path環境變量:
D:\develop\Java\jdk1.7.0_72\bin;以前的path內容
b:方式2
創建新的變量名稱:
變量名:JAVA_HOME
變量值:D:\develop\Java\jdk1.7.0_72

修改path變量:
用%%引用JAVA_HOME即可。


%JAVA_HOME%\bin;以前的path內容


等價於下面的內容:
D:\develop\Java\jdk1.7.0_72\bin;以前的path內容


3寫出第一個java代碼

首先我們要定義一個類。
怎麼定義呢?
格式:
class 類名 {
類體
}

一個類要想獨立運行,必須寫一個主方法。
怎麼寫主方法呢?
格式:
public static void main(String[] args) {
方法體
}

在方法體中寫出你要輸出的內容:

System.out.println("你要輸出的內容");

這樣,運行編譯鍵,你就可以看到你想輸出的內容在窗口下。

4常量的運算和邏輯語句的使用

用運算符把常量或者變量連接起來符合java語法的式子就可以稱爲表達式。
   不同運算符連接的式子體現的是不同類型的表達式。
a
a + b
a > b


運算符:
算術運算符
賦值運算符
比較運算符
邏輯運算符
三目運算符


算術運算符:
+,-,*,/,
%,++,--

2./和%的區別?
/:除法,得到商
符號相同爲正,不同爲負
%:除法,得到餘數
符號和第一個操作數相同


%的應用:
x%3 等於 0 說明x能被3整除
x%2 等1   說明x是奇數
等0   說明x是偶數

3. ++,--運算符(講完之後做練習)
作用:++就是加1,--就是減1。
 自增自減運算符


++,--在運算的時候,可以放在操作數的前面,也可以放在操作數的後面
A:單獨使用
沒有區別
B:參與其他操作使用
後面:先操作,再自增
前面:先自增,再操作

class OperatorDemo3 {
public static void main(String[] args) {
int a = 3;
System.out.println(a);
System.out.println("-------------");
//a++;
//++a;
//System.out.println(a);


//int b = a++;
int b = ++a;
System.out.println(a);
System.out.println(b);
}
}

4.賦值運算符:
基本:=
擴展:+=


擴展的賦值運算符隱含了強制類型轉換:
int a = 10;
a += 20;
a = (a的數據類型)(a + 20)



5. 關係運算符:
==,!=,>,>=,<,<=


注意:
A:比較運算符的結果肯定是boolean。
B:你到底是使用"="還是使用"==",你自己要清楚。


6. 邏輯運算符:
&,|,!,^
&&,||


注意:
邏輯運算符用於連接關係表達式


結論:
&: 有false則false
|: 有true則true
!:改變結果,取反
^:相同false,不同true
記憶:情侶關係(男男,男女,女男,女女)

7. 最常用的邏輯運算符;
!,&&,||


&&和&:
結果一樣,但是&&具有短路效果,左邊如果是false,右邊不執行。
||和|:
結果一樣,但是||具有短路效果,左邊如果是true,右邊不執行。

8. 操作數據的個數。
三元運算符:
格式:?:


(比較表達式)?表達式1:表達式2;

執行流程:
如果條件爲true,運算後的結果是表達式1;
如果條件爲false,運算後的結果是表達式2;
需求:獲取兩個數據中的最大值
嵌套使用(獲取三個數的最大值)

10. 流程控制語句:
A:順序結構(沒有基本格式,從上往下依次執行)
B:選擇結構(有格式)
if
switch
C:循環結構(有格式)
for
while
do...while


順序結構:
寫在前面的先執行,寫在後面的後執行

11. if語句
三種格式。




11.1 if語句格式1:
if(比較表達式) {
    語句體
}


執行流程:
首先判斷比較表達式看其結果是true還是false
如果是true就執行語句體
如果是false就不執行語句體

需求:1.如果我得了100分爸爸就給我買飛機
 2.如果數字是10,就輸出10這個數字

if語句的注意事項:
A:比較表達式無論簡單還是複雜,結果必須是boolean類型
B:一般來說:
有左大括號就沒有分號,有分號就沒有左大括號


11.2 if語句格式2:
if(比較表達式) {
    語句體1;
}else {
    語句體2;
}


執行流程:
首先判斷關係表達式看其結果是true還是false
如果是true就執行語句體1
如果是false就執行語句體2
需求:1.判斷兩個數的最大值(用if和三元實現)
 2.判斷兩個數是否相等(用if和三元實現)

11.3 if語句的三種格式:
格式1:適合做一種情況的判斷
格式2:適合做二種情況的判斷
格式3:適合做多種情況的判斷


if語句格式3:
if(比較表達式1) {
    語句體1;
}else  if (比較表達式2) {
語句體2;
}

else {
語句體n+1;
}


執行流程:
首先判斷關係表達式1看其結果是true還是false
如果是true就執行語句體1
如果是false就繼續判斷關係表達式2看其結果是true還是false
如果是true就執行語句體2
如果是false就繼續判斷關係表達式…看其結果是true還是false

如果沒有任何關係表達式爲true,就執行語句體n+1。


需求:
鍵盤錄入學生成績,根據學生成績判斷,輸出學生等級
90-100 A
80-89 B
70-79 C
60-69 D
60以下 E

練習:
需求:鍵盤錄入x的值,計算出y的並輸出。
x>=3 y = 2x + 1;
-1<=x<3 y = 2x;
x<=-1 y = 2x – 1;



需求:鍵盤錄入月份的值,輸出對應的季節。
春 3,4,5
夏 6,7,8
秋 9,10,11
冬 12,1,2


獲取三個數據中的最大值
if語句的嵌套。
if() {
if語句
}

12 .switch語句的格式:
switch(表達式) {
case 值1:
語句體1;
break;
   case 值2:
語句體2;
break;
   …
   default:
語句體n+1;
break;
}




格式解釋:
A:switch表示這是switch語句
B:表達式
表達式的取值:byte,short,int,char
JDK5以後可以是枚舉
JDK7以後可以是String
C:case後面跟的是要和表達式進行比較的值
D:語句體部分可以是一條或多條語句
E:break表示中斷,結束的意思,可以結束switch語句
F:default語句表示所有情況都不匹配的時候,就執行該處的內容,和if語句的else相似。


執行流程:
首先計算出表達式的值
其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。


需求:
鍵盤錄入一個數字(1-7),輸出對應的星期幾。

13. switch語句的注意事項:
A:case後面只能是常量,不能是變量。
B:多個case後面的值不能出現相同的。
C:default可以省略嗎?
可以。但是不建議。
D:break可以省略嗎?
可以。但是不建議。
容易出現case穿透。
E:default的位置一定要在最後嗎?
可以在任意位置,建議在最後。
F:switch語句的結束條件
a:遇到break
b:執行到末尾


練習:
1.class SwitchTest {
public static void main(String[] args) {
int x = 2;
int y = 3;


/*
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
*/


/*
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
}
*/


switch(x){
case 3:
y++;
case 4:
y++;
}


System.out.println("y="+y);


}
}

for循環和while循環的區別
控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,
而while循環結束還可以繼續使用,如果你想繼續使用,就用while,
否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。


使用場景:
for循環適合針對一個範圍判斷進行操作
什麼到什麼之間,三位數等
while循環適合判斷次數不明確操作


發佈了28 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章