標籤:ar 使用 java sp for strong 資料 on 問題
我從來不後悔自己的決定,八月份離開了生活一年多的桂林,現在在北大青鳥學編程,總覺得吧,人總的有一份為之追求的事,也就是經過複雜之後才會真正懂得簡單的好處,可能在二十歲的年齡階段說這些話,未免有些“做”,但總歸來說,有一種這樣的心境,利弊取捨,歸根結底還是看自己的怎麼去看待自己的位置吧。
接下來,言歸正傳,八月份入學北大青鳥,從學JAVA語言那一天起,堅持每天十個小時以上的碼代碼時間,這個產業門檻低,門檻低有門檻低的好處,同時也有也在告訴著你,你必須比別人努力十倍,百倍,才能被市場所接受,如果說我不看重工資那是假的,但是我更享受於一種創造,那種由無到有的一種感覺,對,那種可以被客戶接受,認同的感覺,我相信任何一份工作都是以這個為起點,當然實質性內容的話,得因人而異。
11月4日,學完了類和對象,緊接著進行了前面while;do while;for;雙重for;數組的插入;的測試,當要我用筆把代碼一行一行寫出來的時候,我徹底的發現了我自己的薄弱之處,原來假象一直都存在著,我原本以為我自己能夠輕鬆的應對這次的測試,可是不盡人意,我沒有頭緒,儘管我每天花那麼長的時間敲代碼,可是你應該知道有些東西,得要有那個思維,沒那個思維模式,真的很難想得出來,淩晨經常是卡殼,碰到一個問題,始終想不出該如何去解決,萌生一個好想法,卻不知道該用哪些代碼去敲,我從未懷疑過自己比別人差。
11月5日,因為發現自己的薄弱之處是基礎沒打紮實,用一晚上跟一上午的時間把課本上的2到11章的習題都做了一遍,一些知識點也記載了下來,當自己的筆記,也養成了每寫一行代碼寫一行注釋的習慣,因為自己前期自學到後面去了,前面的一些知識點自以為掌握了,現在回過頭來看自己當初的代碼,很多漏洞都出來了,例如判斷結構裡面原本只能判斷3個值得,我輸入4個值也能進去,例如原本是只能輸入數字進去,我輸進去一個字元就報錯,這就是一些問題所在,對於代碼的不理解,而且想字串類型強制轉換成 char類型,一時間,許多問題都暴露在了眼前。
11月7日昨晚上因為今天上午是休假,弄到了淩晨三點多,弄出了一個客戶資訊管理系統,主要熟練的是方法的調用,還有一個人機猜拳沒有弄出來,問題現在很大,還有很多地方需要弄明白,正好,這兩天是周末,又可以晚上熬通宵了。
2.0變數、資料類型和運算子
變數是一個資料儲存空間的表示。
變數時儲存資料的一個基本單元,不同的變數相互獨立。
使用聲明的變數名就是使用變數對應的記憶體空間中儲存的資料。
算術運算子>關係運算子>邏輯運算子>賦值運算子
3.0選擇結構(一)
If(條件){
代碼塊
};
需要先判斷條件,條件滿足後執行
程式執行時,先判斷條件。當結果為true時,程式先執行大括弧裡的代碼塊,再執行if結構後面的代碼塊。當結果為false時,不執行大括弧裡的代碼塊,而執行if結構後面的代碼。
Public class Demo{
Public static void main(String args[]){
//語句1;
//語句2;
If(條件){
//語句3;
}
語句4;
}
}
程式開始執行後,首先執行語句1和語句2,然後對條件進行判斷。如果條件成立,則執行語句3,然後跳出if結構塊,執行語句4,。如果不成立,則語句3不執行,直接執行語句4.
If-else選擇結構
If(條件){
代碼塊1
}else{
代碼塊2
}
如果XX,就XX;否則,就XX.
Int random = (int)(Math.random()*10); //產生十個隨機數 (random) 隨機的
多重if選擇結構,多重選取結構在解決需要判斷的條件是連續的區間時有很大的優勢。
If(條件1){
代碼1
}else if(條件2){
代碼2
}else{
代碼3
}
程式判斷條件1,如果成立,則執行代碼塊1,然後直接跳出這個多重if選擇結構,執行它後面的代碼。這種情況下,代碼塊2的代碼塊3都不會被執行。如果條件1不成立,則判斷條件2;如果條件2成立,則執行代碼塊2,然後跳出這個多重if選擇結構,執行它後面的代碼;如果多重if選擇結構中的所有條件之間只是簡單的互斥,不存在連續的關係,則條件沒有順序的要求。
嵌套if選擇結構
If(條件1){
If(條件2){
代碼塊1
}else{
代碼塊2
}
}else{
代碼3
}
只有當滿足外層的if選擇結構的條件時,才會判斷內層的if的條件
Else總是與它前面最近的那個缺少else的if配對。
04章switch選擇結構
等值判斷與區間判斷的區別
Switch(運算式){
Case 常量1:
//代碼1;
Break;
Case 常量2:
//代碼2;
Break;
Case 常量3:
//代碼3;
Break;
Default:
//代碼n;
Break;
}
當遇到break時,就跳出switch選擇結構,執行switch選擇結構之後的代碼,如果沒有任何一個case 後的常量與switch後的小括弧中的值相等,則執行switch末尾部分的default塊中的代碼。
Switch選擇結構只能用於判斷一個整形變數或運算式是否等於某個整數值的或者一個字元型變數或運算式是否等於某個字元的情況,並且每一個case後面的常量值都不同,而多重if選擇結構即可以用於判斷條件是等值的情況,也可以用於判斷條件是區間的情況。
Switch選擇結構只能用於等值條件判斷的情況
當需要多重分支並且條件判斷是等值判斷的情況下,使用switch選擇結構代替多重if選擇結構會更簡單,代碼結構更清晰易讀。
If(input.hasNextInt()==true){
}else{
System.out.println(“請輸入正確的數字”);
}
通過調用Scanner對象的hasNextInt()方法,來判斷使用者從鍵盤上輸入的字元是否合法;如果使用者輸入的是數字,則根據輸入的具體的數值跳轉到相應的菜單。(程式異常)
05 迴圈結構(一)
While(迴圈結構):
我們可以從迴圈條件跟迴圈操作兩個角度考慮,即迴圈就是“在什麼條件成立時不斷地做什麼事情”;
迴圈條件滿足,則執行迴圈操作,當條件不滿足的時候,即迴圈操作停止.
迴圈條件是一個運算式,它的值為boolean類型,即true或fasle,{}中的語句稱為迴圈操作,又稱之為迴圈體;
特點:先判斷,後執行;
Do-while(迴圈結構):
無論如何迴圈都會先執行一次,再判斷迴圈條件,決定是否繼續執行;
執行一遍迴圈操作,再判斷迴圈條件,如果迴圈條件滿足,則迴圈繼續執行,否則退出迴圈
如果條件設定為boolean類型,條件判斷成立後,則必須在輸出尾賦值為真
迴圈結構由迴圈條件和迴圈操作構成,只要滿足迴圈條件,迴圈操作就會反覆執行;
捕捉:分析迴圈條件和迴圈操作,套用迴圈的文法寫出代碼,檢查迴圈能否退出;
注意點:迴圈變數的初值、迴圈操作中對迴圈變數值的改變和迴圈條件三者間的關係;確保迴圈次數正確,避免出現“死迴圈”;
06迴圈結構(二)
在解決有固定迴圈次數的問題時,可以首選for迴圈結構
For迴圈結構4個部分:
初始部分
迴圈體
迭代部分
迴圈條件
For(運算式1;運算式2;運算式3){
//迴圈體
}
運算式1:指派陳述式,為迴圈變數賦初值
運算式2:條件陳述式,迴圈結構的迴圈條件
運算式是3:指派陳述式,迴圈結構的迭代部分,通常用來修改迴圈變數的值
條件=true
For(①初始部分;②條件判斷;④改變迴圈變數值){
③迴圈操作;迴圈體被執行
}
根據迴圈條件判斷結果
如果為true,則執行迴圈體
如果為false,則退出迴圈
運算式1隻執行一次,運算式2跟運算式3則可能會執行多次,迴圈體可能多次執行,也可能一次也不執行
Break語句不僅可以用在 for迴圈結構中,也可以用在 while和do-while迴圈結構中,break語句通常與if條件陳述式一起使用
Break語句用於終止某個迴圈,程式跳轉到迴圈體外的下一條語句
Continue語句是用於跳出本次迴圈,進入下一次迴圈的語句
在For迴圈結構中,Continue語句使程式使程式先跳轉到迭代部分,然後判斷迴圈條件,如果為true則繼續下一次迴圈,否則終止迴圈。
0.8數組
資料類型操作往往是單個的資料,有時候,需要對資料類型相同,用途相近的一組資料集中進行處理,就非常繁瑣,所以用數組集中操作資料比使用多個變數操作資料便捷得多。
數組就是一個變數,用於將相同資料類型的資料儲存在記憶體中(聲明一個變數就是在記憶體空間分配一塊合適的空間,然後將資料存放區在這個空間中)數組中的每一個資料元素都屬於同一類型資料
數組的基本要素:
標示符:
數組元素:數組標示符後,要向數組存放資料,而這些資料就稱為數組元素
數組下標:為了得到正確的數組下標,就需要對他們進行編號,方便電腦存取
元素類型:
數組中每個元素都可以通過下標來訪問
1 聲明數組
資料類型[]數組名
2.分配空間(要為數組分配空間,這樣數組的每一個元素才等對應一個儲存單元)
數組名[] = new 資料類型[數組長度]
文法
資料類型 數組名[] = new 資料類型[數組長度];
數組排序:Arrays.sort(數組名);
數組經常與選擇結構,迴圈結構搭配來解決問題
If(數組名[] .compareTolgnoreCace(使用者接收姓名)>0){ //字串比較
原數組下標=數組下標(index=i);
Break;
}
0.9迴圈結構進階
二重迴圈就是一個迴圈體內又包含另一個完整的迴圈結構
//while與while迴圈嵌套
While(迴圈條件1){
//迴圈操作1
While(迴圈條件2){
//迴圈操作2;
}
}
//do-while與 do-while迴圈嵌套
Do{
//迴圈操作1
Do{
//迴圈操作2
}while(迴圈條件1);
}while(迴圈條件2);
//for與for迴圈嵌套
For(迴圈條件1){
//迴圈操作1
For(迴圈條件2){
//迴圈操作2
}
}
//while與for迴圈嵌套
While(迴圈條件1){
//迴圈操作1
For(迴圈條件2){
//迴圈操作2
}
}
迴圈條件1和迴圈操作1對應的迴圈稱為外層迴圈,迴圈條件2和迴圈操作2對應的迴圈稱為內層迴圈,內層迴圈結束後才執行外層迴圈的語句,外層迴圈變化一遍,內層迴圈變數要變化一次;
Continue語句是跳出本次迴圈,進入下一次迴圈,而break語句是跳出本層迴圈,即提前結束本層迴圈,執行迴圈下面的語句;
11.0
類與對象
“世界是由不同類別的事情構成的,當提到某一個分類時,就可以找到該分類的一個具體的事物,而當我們提到這些具體的概念時,就會聯想起他們所對應的一些類別,而這些現實世界中客觀存在的事物就稱之為對象!”
分類就是以事物的性質,特點,用途等作為區分的標準,將符合約一標準的事物歸為一類,不同的則區分開來;
“根據待解決的問題的需要,選擇合適的標準或角度對問題中出現的事物進行分類”
在物件導向中,對象時用來描述客觀事物的一個實體
靜態特徵是可以用某些資料來描述的特徵
動態特徵是對象所表現的行為或對象所具有的功能
對象的屬性 -------à靜態特徵(屬性是用來描述對象靜態特徵的一個資料庫)
對象的方法---------à動態特診(方法是用來描述對象動態特徵(行為)的一個序列動作)
構成對象的兩個主要因素
用來描述客觀事物的一個實體,由一組屬性(對象)和方法構成
類是多個對象進行綜合抽象的結果,是實體物件的概念性模型,而一個對象是一個類的執行個體;
定義類就是抽取同類實體的共性自訂的一種資料類型
類是程式的基本單元
Public class<類名>{
//定義屬性部分
屬性1的類型 屬性1;
屬性2的類型 屬性2;
….
屬性N 的類型 屬性 N;
//定義方法部分
方法1;
方法2;
…..
方法N;
}
定義類名
Public class 類名{
}
類的屬性
在類的主體當中定義變數來描述類所具有的靜態特徵(屬性);,這些變數稱為類的成員變數
編寫類的方法
在類中定義方法來描述類所具有的行為,這些方法就稱之為類的成員方法。
特指名詞識別對象
負數名詞,泛指名詞識別類
Public String showCenter(){
方法體
}
存取修飾詞 傳回值 方法名(){
方法體
}
存取修飾詞限制了訪問該方法的範圍,傳回值類型是方法執行後返回結果的類型,這個類型可以使基本類型,或者是參考型別,也可以沒有傳回值,此時必須使用void來描述。
類的作用就是建立對象————>類的執行個體化過程
每個對象的屬性值可能是不一樣的,所以在建立對象後再給它的資料成員賦值
類名 對象名 = new 類名();
對象名.屬性 //引用對象的屬性
對象名. 方法() //引用對象的方法
類與對象總結:
對象時用來描述客觀事物的一個實體,由一組屬性和方法構成
類定義了對象將會擁有的特徵(屬性)和行為(方法)
類和對象的關係式抽象和具體的關係是抽象和具體的關係。類是對象的類型,對象是類的執行個體。
對象的屬性和方法被共同封裝在一個類中,相輔相成,不可分割。
老馬,來壺燒酒