for和while都是迴圈結構,其實我現在也沒分清他倆到底什麼時吼該用誰?
但是書上寫:當給定初始值的時候並且都要累加(減)的時候就可以用for迴圈
跳出語句沒怎麼用過,但是有乙個應該很熟悉就是break早上在學習switch的時候剛用過,作用是終止當前所在迴圈語句
而另乙個跳出的是continue,他的用法是終止當前迴圈而進入下一次迴圈
我這次自己寫了乙個迴圈,就是奇數之和和偶數之和相加之和的結果,但是我在區域性變數這個地方卡了起來
int sumeven = 0;//全域性變數
int sumodd = 0;
for (int i = 0; i <=100; i++)//i就是區域性變數
else
}console.writeline("偶數之和為" + sumeven);
console.writeline("奇數之和為" + sumeven);今天有乙個習題很有意思輸出九九乘法表
首先難住我的有兩個問題:
第一 怎麼在左邊輸出變數 因為乘法表是ab=c,但是在**裡,左邊的不能為表示式,我只會輸出c=ab
所以應該這麼寫 「=」,然後依次填寫i,j,product ,在字串內的賦值等值可以隨便寫
第二怎麼在適當的時候換行 這就是我沒有仔細觀察總結,乘法表裡只有i>j這種情況,因此可以寫乙個if表示式
當i=」新增\t製表鍵就增添了空格,輸出的時候是write就不會轉行
然後在外迴圈中輸出writeline()
當輸出陣列的時候,有兩種方法比較簡單,第一種是for方法,但是迴圈條件的時候,我一開始是自己知道我自己寫的陣列有多少個,因此直接i<5,但是正規寫法應該是i這次的題目也很有意思,是驗證輸入的字串長度和否是大寫字母的考慮迴圈和判斷語句的巢狀
首先呢?我們考慮這次迴圈是使用while迴圈,那麼什麼時候該迴圈呢?就是使用者輸入不正確的時候,因此我們的判斷條件就應該是 bool judge=false;
因此我們要在迴圈裡寫輸入和輸出
然後在迴圈裡寫if語句判斷,這裡我們應該考慮的是兩點第一長度是不是五個?第二輸入的是不是大寫字母?
在這之前我有乙個還要講就是輸入的為什麼?string str=console.readline();我們要想單獨得到字串裡的乙個字母可以用到陣列str[i]
然後我們在while內巢狀for迴圈遍歷字串
if(str.length!=5)
else
else1.}
到這裡整體的框架都搭出來了,但是你執行的時候你發現不對,因為當你輸入正確的五個大寫字母的時候,程式還讓輸入這裡就是沒有把while的條件改正
這裡當字元不是大寫字母的時候就不能執行for迴圈了,應該跳出for迴圈,這裡我們應該加乙個break;
然後當for迴圈結束的時候,我們就像直接結束程式,這裡我們應該講while迴圈的條件,judge=true;
但是這個judge=true我們加在**呢?一開始我把他加在第一層else的1.處,但是我發現當輸入正確的時候確實跳出程式了,但是當輸入的不是大寫字母的時候,他也跳出while迴圈了,我就想了,break不是跳出內層迴圈然後轉向while迴圈了麼?但是我想錯了,因為他只是跳出內層迴圈但是接下來的程式還是繼續走的,因此我們既要保證輸入正確的時候結束程式,也要保證在輸入不為大寫字母的時候轉到while迴圈,因此我們要在2.的位置新增judge=true保證可以結束迴圈,在3.的位置重新給judge賦值使之能夠重新開始while迴圈。
break是跳出當前迴圈,迴圈未完成的部分都不會執行
一些for迴圈案例
1 請在控制台輸出滿足如下條件的五位數 個位等於萬位 十位等於千位 個位 十位 千位 萬位 百位 2 請統計1 1000之間同時滿足如下條件的資料有多少個 對3整除餘2 對5整除餘3 對7整除餘2 3 一張紙的厚度大約是0.08mm,對折多少次之後能達到珠穆朗瑪峰的高度 8848.13公尺 4 計算...
一些教訓,或者叫做收穫
這段時間,oo作業,os實驗,密碼學實驗三座大山壓著我,我可能是頭一回感受到了那麼大的壓力,然而從我怎麼去應對這些東西的做法可以看出我在學習上面的很多問題。總而言之,這三個東西,最難的應該是os shell實驗,然後是oo的多執行緒電梯排程,再是密碼學實驗,最後我的結果是os shell實驗做得馬馬...
迴圈的一些細節
1 迴圈執行次數相同,大迴圈放在外面還是小迴圈放在外層效率高呢?int end1 10 int end2 100 int end3 1000000 long starttime system.nanotime 開始時間 for int i 1 i end3 i long endtime system...