/* switch語句格式: switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; ... default: 語句體n+1; break; } 格式的解釋: switch:表示這是switch選擇結構 表達式:這個地方的取值是有限定的 byte,short,int,char JDK5之後能夠是枚舉 JDK7之後能夠是字符串 break:表示中斷,結束的意思,能夠控制switch語句的結束。 default:當全部的值都和表達式不匹配的時候,就執行default控制的語句。其實它就至關於if語句的else。 面試題: byte能夠做爲switch的表達式嗎? (能夠) long能夠做爲switch的表達式嗎? (能夠) String能夠做爲switch的表達式嗎? (能夠) 輸入 import java.util.Scanner; Scanner s = new Scanner(System.in); int a = s.nextInt(); String s = s.nextLine(); if語句和switch語句的區別? if語句: A:針對結果是boolean類型的判斷 B:針對一個範圍的判斷 C:針對幾個常量值的判斷 switch語句: 針對幾個常量值的判斷 //求出1-100之間偶數和 //方式2 int sum3 = 0; for(int x=0; x<=100; x+=2) { sum3 += x; } 如何獲取一個數據的個,十,百呢? 假設有個一個數據:153 ge: 153%10 = 3 shi: 153/10%10 = 5 bai:153/10/10%10 = 1 qian:x/10/10/10%10 wan: x/10/10/10/10%10 ... while循環和for循環的區別? 使用區別:若是你想在循環結束後,繼續使用控制條件的那個變量,用while循環,不然用for循環。不知道用for循環。 由於變量及早的從內存中消失,能夠提升內存的使用效率。 其實還有一種場景的理解: 若是是一個範圍的,用for循環很是明確。 若是是不明確要作多少次,用while循環較爲合適。 舉例:吃葡萄。 兩種最簡單的死循環格式 while(true){...} for(;;){...} /* 控制跳轉語句: break:中斷 continue:繼續 return:返回 break:中斷的意思 使用場景: A:switch語句中 B:循環語句中。 (循環語句中加入了if判斷的狀況) 注意:離開上面的兩個場景,無心義。 如何使用呢? A:跳出單層循環 B:跳出多層循環 要想實現這個效果,就必須知道一個東西。帶標籤的語句。 格式: 標籤名: 語句(只能有一個) */ wc:for(int x=0; x<3; x++) { nc:for(int y=0; y<4; y++) { if(y == 2) { //break nc; break wc; } System.out.print("*"); } System.out.println(); } /* 需求:小芳的媽媽天天給她2.5元錢,她都會存起來,可是, 每當這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢, 請問,通過多少天,小芳才能夠存到100元錢。 分析: A:小芳的媽媽天天給她2.5元錢 double dayMoney = 2.5; B:她都會存起來 double daySum = 0; C:從第一天開始存儲 int dayCount = 1; D:通過多少天,小芳才能夠存到100元錢。 double result = 100; E:這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢, 說明要判斷dayCount的值,若是對5整除就減去6元錢。 daySum -= 6; 由此還隱含了一個問題,就是若是不是5的倍數天的話,錢要累加 daySum += dayMoney; F:由於不知道是多少天,因此我用死循環,一旦超過100元我就退出循環。 */ double daysum=0.0; int day=0; while(true){ daysum +=2.5; day++; if(daysum>=100){ System.out.println("spend"+day+"day"); break; } if(day%5==0){ daysum -=6; } }