1、引用數據類型 格式:數據類型 變數名 = new 數據類型(); 每個引用類型都有自己的功能,如何使用功能? 格式:變數.方法名,如sc.nextInt(); 接收鍵盤輸入,保證輸入的是整數,否則Exception(異常) Scanner的另外一個功能 next() 接收鍵盤輸入的字元串 ①Sc ...
1、引用數據類型
格式:數據類型 變數名 = new 數據類型();
每個引用類型都有自己的功能,如何使用功能?
格式:變數.方法名,如sc.nextInt(); 接收鍵盤輸入,保證輸入的是整數,否則Exception(異常)
Scanner的另外一個功能 next() 接收鍵盤輸入的字元串
①Scanner類
Scanner sc=new Scanner(System.in);
Scanner類的作用,接受鍵盤的輸入。
使用Scanner類的步驟:
1、導入包:指明類所在的文件夾,Java文件夾-util文件夾 import java.util.Scanner;
2、創建Scanner類型變數 Scanner sc=new Scanner(System.in);
3、變數.使用Scanner類中的功能,完成鍵盤輸入 sc.nextInt();
1 import java.util.Scanner; 2 public class ScannerDemo{ 3 public static void main(String args[]){ 4 Scanner sc=new Scanner(System.in); 5 //接收鍵盤輸入,保證輸入的是整數,否則Exception(異常) 6 int i=sc.nextInt(); 7 System.out.println(i); 8 9 //Scanner的另外一個功能 next() 接收鍵盤輸入的字元串 10 String s=sc.next(); 11 System.out.println(s); 12 } 13 }
運行結果:
②Random類
Random類的作用,產生隨機數;
隨機數:偽隨機數,虛擬機根據人寫好的一個演算法,生成出來的。
使用Random類的步驟:
1、導入包,Random類也在java.util文件夾 import java.util.Random;
2、創建Random類型變數
3、變數.調用Random類中的功能,產生隨機數
ran.nextInt(i) 產生一個隨機數,結果是int類型,隨機數的範圍是【0,i);
ran.nextDouble() 產生一個隨機數,結果是double類型,隨機數的範圍是【0.0,1.0)。
1 import java.util.Random; 2 public class RandomDemo{ 3 public static void main(String args[]){ 4 Random ran=new Random(); 5 int i=ran.nextInt(50);//隨機數在[0,50) 6 System.out.println(i); 7 8 double d=ran.nextDouble(); 9 System.out.println(d);//產生一個隨機數,結果是double類型,隨機數的範圍是【0.0,1.0) 10 } 11 }
運行結果:
2、流程式控制制語句
①選擇語句if
(1)if語句
語法格式:
if(條件){
if語句的執行體;
}
條件:結果必須是布爾類型
執行體:當if中的條件為true的時候,執行大括弧中的執行體;當if條件為false的時候,什麼也不做。
if條件不能加分號(;)
1 public class IfDemo{ 2 public static void main(String args[]){ 3 int i=5; 4 //對變數i進行if判斷 5 if(i==5){ 6 System.out.println("if中的條件是true"); 7 i++;//6 8 } 9 System.out.println(i);//6 10 } 11 }
運行結果:
(2)if…else語句
語法格式:
if(條件){
if語句的執行體;
}else{
else的執行體;
}
當if中的條件為true,執行if的執行體;
當if中的條件為false,執行else的執行體。
1 public class IfElseDemo{ 2 public static void main(String args[]){ 3 int i=17; 4 //判斷變數是奇偶數,模2,看餘數是1還是0 5 if(i%2==0){ 6 System.out.println(i+" 是偶數"); 7 }else{ 8 System.out.println(i+" 是奇數"); 9 } 10 11 } 12 }
運行結果:
(三)if… else if… else語句
語法格式:
if(條件){
if語句的執行體;
}else if{
if語句的執行體;
}else if{
if語句的執行體;
}else{
else的執行體;
}
當if語句的條件是true,執行if執行體;
if中的條件是false,執行else執行體;
一個語句中,包含多個if,只要有1個if的條件是true,其他的代碼不再執行。
1 public class IfElseIfDemo{ 2 public static void main(String args[]){ 3 //成績判斷要求,成績>80 成績>70 成績>60 不及格 4 int grade=75; 5 //使用if else if語句對成績進行判斷 6 if(grade >80){ 7 System.out.println(grade+" 成績是優"); 8 }else if(grade>70){ 9 System.out.println(grade+" 成績是良"); 10 }else if(grade>60){ 11 System.out.println(grade+" 成績是中"); 12 }else{ 13 System.out.println(grade+" 成績是差"); 14 } 15 } 16 }
運行結果:
(四)if語句與三元運算符轉化
三元運算符語法
判斷條件 ? 表達式1:表達式2
使用if語句還是使用三元運算符呢?
判斷條件較多,使用if;
三元運算必須有結果,if語句可以沒有結果。
②迴圈語句
迴圈語句作用:可以讓一部分代碼,反覆執行
(一)while迴圈
格式:
while(條件){
迴圈體
}
條件:當條件是true就執行迴圈體,執行完迴圈體後程式再次執行while中的條件,如果條件還是true,繼續執行迴圈體,直到條件是false的時候,迴圈就結束。
命令提示符CMD視窗中,強制停止正在運行的命令,使用 CTRL+C 組合鍵。
1 public class WhileDemo{ 2 public static void main(String args[]){ 3 int i=1; 4 while(i<5){ 5 System.out.println(i); 6 i++; 7 } 8 } 9 }
運行結果:
(二)for迴圈
格式:
for(初始化變數;條件;增量){
迴圈體
}
初始化變數:定義變數是true,作用:控制迴圈的次數;
條件:當條件是true,執行迴圈體,再執行增量,條件是false,結束迴圈;
增量:變數自增情況。
1 public class ForDemo{ 2 public static void main(String args[]){ 3 //for迴圈,輸出0-10 4 for(int i=0;i<11;i++){ 5 System.out.println(i); 6 } 7 } 8 }
運行結果:
利用for迴圈,計算1+……+100的結果
1 public class ForDemo_1{ 2 public static void main(String args[]){ 3 int sum=0; 4 for(int i=1;i<=100;i++){ 5 sum=sum+i; 6 } 7 System.out.println(sum); 8 } 9 }
運行結果:
(三)do…while迴圈
格式:
do{
迴圈體
}while(條件);
特點:無條件先執行一次。
1 public class DoWhileDemo{ 2 public static void main(String args[]){ 3 int i=0; 4 do{ 5 System.out.println(i); 6 i++; 7 }while(i<5); 8 } 9 }
運行結果:
(四)無限迴圈
(1)while死迴圈
1 public class WhileForDemo{ 2 public static void main(String args[]){ 3 //while形式死迴圈 4 while(true){ 5 6 } 7 } 8 }
(2)for形式死迴圈
1 public class WhileForDemo{ 2 public static void main(String args[]){ 3 //for形式死迴圈 4 for(;;){//或者for(;true;) 5 6 } 7 } 8 }
(五)嵌套迴圈
迴圈的嵌套:迴圈裡面還有迴圈,for形式居多;
總的迴圈次數=外迴圈次數*外迴圈次數;
內迴圈是外迴圈的迴圈體;
外迴圈控制的是行數,外迴圈控制的是列數。
1 public class ForForDemo{ 2 public static void main(String args[]){ 3 for(int i=0;i<9;i++){ 4 for(int j=0;j<=i;j++){ 5 System.out.print("* "); 6 } 7 System.out.println(); 8 } 9 } 10 }
運行結果:
③跳轉語句
(一)break
break關鍵字,作用於迴圈中,終止迴圈的作用;
1 public class BreakDemo{ 2 public static void main(String args[]){ 3 int i=1; 4 while(true){ 5 if(i==3){ 6 break; 7 }else{ 8 System.out.println(i); 9 } 10 i++; 11 } 12 } 13 }
運行結果:
(二)continue
continue關鍵字,在迴圈中,終止本次迴圈,開始下一次迴圈
1 public class ContinueDemo{ 2 public static void main(String args[]){ 3 for(int i=0;i<10;i++){ 4 if(i%2==0){ 5 continue;//遇到偶數結束,奇數求和。 6 } 7 System.out.println(i); 8 } 9 } 10 }
運行結果:
3、猜數字案例
隨機一個數字讓用戶猜結果有三種情況:
中了,大了,小了。
1 import java.util.Random; 2 import java.util.Scanner; 3 public class GuestNumber{ 4 public static void main(String args[]){ 5 System.out.println("猜數字開始了"); 6 System.out.println("請輸入1-100之間的數字"); 7 Random ran=new Random(); 8 //獲取1-100之間的隨機數 9 int ranNumber=ran.nextInt(100)+1; 10 //System.out.println(ranNumber);//這樣會顯示隨機的數字 11 Scanner sc=new Scanner(System.in); 12 13 while(true){ 14 //獲取鍵盤的輸入 15 int number=sc.nextInt(); 16 //隨機數和用戶輸入的數據進行比較 17 if(number>ranNumber){ 18 System.out.println("猜大了"); 19 }else if(number<ranNumber){ 20 System.out.println("猜小了"); 21 }else{ 22 System.out.println("中了"); 23 break; 24 } 25 } 26 } 27 }