import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入數據:"); System.out.println("使用nextLine方式接收:");//以回車和回車爲結束符 if (scanner.hasNextLine()){ //使用nextLine方式接收 String str2 = scanner.nextLine(); System.out.println("輸出的內容爲:"+str2); } System.out.println("使用next方式接收:");//以空格爲結束符 //判斷是否還有輸入 if (scanner.hasNext()){ //使用next方式接收 String str = scanner.next(); System.out.println("輸出的內容爲:"+str); } scanner.close(); } }
我的總結:java
Scanner對象有兩個方法,next()和nextLine();算法
自用練習題:數組
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double sum = 0;//做爲求和變的變量 int m = 0;//做爲記錄輸入數字個數的變量 System.out.println("請輸入任意個數字,並輸入一個非數字的字符來結束輸入:"); //while循環語句 while (scanner.hasNextInt()){ double i = scanner.nextInt();//用來記錄每次輸入的數字 m++; sum+=i; } System.out.println("輸入了"+ m + "個數字"); System.out.println("它們的總數爲:"+ sum); System.out.println("它們的平均數爲:"+ sum / m); scanner.close(); } }
順序結構是Java最簡單的算法結構。即代碼從上往下,一句一句執行。code
選擇結構:if語句、switch多選擇結構對象
if單選 結構 只有iif和執行語句作用域
if雙選 結構 有if和else 兩條執行語句it
if多選 結構 有一個if和多個else if 多條執行語句for循環
嵌套 的if結構class
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入任意內容:"); if (scanner.hasNextInt()){ System.out.println("你輸入的是整數~"); } else{ System.out.println("你輸入的不是整數"); } String s = scanner.nextLine(); if (s.equals("abc")){ System.out.println("你猜中了!"); } else { System.out.println("你猜錯了!"); } scanner.close(); } }
switch多選擇結構(匹配機制)import
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入任意內容:"); String str = scanner.nextLine(); switch (str){ case "A": System.out.println("A等"); break; case "B": System.out.println("B等"); break; case "C": System.out.println("C等"); break; case "D": System.out.println("D等"); break; case "E": System.out.println("E等"); break; default: System.out.println("補考"); } } }
格式:
while(布爾表達式){
//執行的代碼;
}
public class Demo01 { public static void main(String[] args) { int i = 0; while (i<10){ i++; System.out.println(i); } } }
格式:
do{
//執行的代碼;
}while(布爾表達式);
public class Demo01 { public static void main(String[] args) { int i = 0; do { i++; System.out.println(i); } while (i<10); } }
格式:
for(初始化值 i ;布爾表達式;i 值更新){
//執行代碼;
}
public class Demo01 { public static void main(String[] args) { int i = 1; for (i = 1;i<10;i++){ System.out.println(i); } System.out.println(i);//10----->布爾表達式爲假的時候跳過執行代碼,還會執行一次 i++;因此最後i變成了10! } }
練習題:
public class Demo01 { public static void main(String[] args) { int i = 1; int sum1 = 0;//奇數和 int sum2 = 0;//偶數和 for (i = 1;i<=100;i++){ if (i%2==0){ sum1 += i; }else{ sum2 += i; } } System.out.println("最後i的值爲:"+i); System.out.println("1到100,奇數和爲:"+sum1); System.out.println("1到100,偶數和爲:"+sum2); } }
public class Demo01 { public static void main(String[] args) { int i = 1; int j = 0; while (i<=1000){ if(i%5 == 0){ System.out.print(i+"\t"); j++; if (j%3 == 0){ System.out.print("\n"); } } i++; } } }
for方式
public class Demo01 { public static void main(String[] args) { int j = 0; for(int i = 1;i<=1000;i++){ if(i%5 == 0){ System.out.print(i+"\t"); j++; if (j%3 == 0){ System.out.print("\n"); } } } } }
我的思路:先打印出全部相乘的式子,而後觀察99乘法表規律進行以下操做。
public class Demo01 { public static void main(String[] args) { for(int i = 1;i<=9;i++){ for (int j = 1;j<=9;j++){ //去掉乘號左邊數字大於右邊數字的式子,用空格代替顯示-------->第三步 if (j>i){ System.out.print("\t"); }else { System.out.print(j+"*"+i+"="+i*j+"\t");//----->第一步打印出全部式子 } //j是乘號右邊的數,每次乘到9的時候換行------->第二步 if(j==9){ System.out.print("\n"); } } } } }
改進後的思路:
public class Demo01 { public static void main(String[] args) { for(int i=1;i<=9;i++){ //用j<=i控制每一行輸出的式子個數(妙啊!!!!!!!!!) //經過循環累加,當j>i的時候跳出循環,從而不會打印 乘號左邊的數字大於乘號右邊的數字 的等式,妙啊! for (int j=1;j<=i;j++) { System.out.print(j + "*" + i + "=" + i * j + "\t"); } //j>i時,跳出上面的for循環不打印 乘號左邊的數字大於乘號右邊的數字 的等式,直接執行下面的換行代碼,妙啊! //這樣又去掉了想要去掉的 重複等式(相似1*2=2和2*1=1這樣的重複等式) ,又達到了換行的效果,絕了! System.out.print("\n"); } } }
格式:
for(聲明語句:表達式){
//執行代碼;
}
聲明語句:聲明新的局部變量,該變量的類型必須和數組元素的類型匹配。其做用域限定在循環語句塊,其值與此時數組元素的值相等。
表達式:表達式是要訪問的數組名,或者是返回值爲數組的方法。
常常用於遍歷數組
public class Demo01 { public static void main(String[] args) { //定義一個數組取名爲List int[] List = {1,2,3,4,5}; for (int i : List) { System.out.println(i); } } }
break用與強制退出循環體,即終止循環,跳出循環體;
continue用於終止循環體的某一次循環,即跳過某一次循環操做,循環體繼續工做到直到跳出循環體。
什麼是質數 ?
質數是指在大於1的全部天然數中,那些只能被1和自己整除的整數。
一個數若是不能以它自己的一半之內的數乘以另外一個數獲得,那麼它就是一個質數!
打印三角形
public class Demo01 { public static void main(String[] args) { //打印三角形 for (int i = 1; i <= 5; i++) { for (int j = 5; j >=i; j--) { System.out.print(" "); } for (int j = 1; j <=i; j++) { System.out.print("*"); } for (int j = 1; j <i; j++) { System.out.print("*"); } System.out.print("\n"); } } }