大數據分析技術之JAVA基礎(二):運算符與結構控制

寫在前面:今天繼續分享一些JAVA的基礎操作,這個系列主要是以代碼爲主體。

學習內容安排

JAVA基礎課程學習:數據類型(一)、運算符表達式和程序結構控制(二)、面向對象基礎:類與對象和接口(三)、面向對象基礎:繼承抽象多態封裝(四)、異常類和常用實用類(五)、組件和事件處理(六)、IO和JDBC(七)、泛型和集合函數(八)。

二、運算符表達式和程序結構控制

在本節的分享中,我們主要會簡單說幾句JAVA的運算符,重點對if、switch、for、while、以及break和continue的使用。
JAVA運算符
JAVA常見的運算符有的算術運算符、自增自減運算符、關係運算、邏輯運算符與表達式、賦值運算符,分別是,

類別 運算符 含義
算術運算符 + 加法運算
算術運算符 - 減法運算
算術運算符 * 乘法運算
算術運算符 / 除法運算
算術運算符 % 求餘運算
自增自減運算符 ++,– 自增,自減
關係運算符 >,>= 大於,大於等於
關係運算符 <,<= 小於,小於等於
關係運算符 ==,!= 等於,不等於
邏輯運算符 &&,||,! 邏輯與,邏輯或,邏輯非
賦值運算符 = 賦值

這裏值得注意的是在自增運算和自減運算各自分別有兩種,就是++x與x++,前者是先自增再使用x,後者是先使用x再自增。另一個值得注意的是邏輯或的判斷,下面給出兩個例子,

package tt;

public class Test2 {
    public static void main(String[] args) { //輸入psvm按下tab快速生成語句
        //自增測試
        int x = 10;
        int y = x++; //x++意思是先使用x,然後再加1,也就是先賦值再自加
        //int y = ++x; //++x意思是先加1,再賦值
        System.out.println("x= "+x);
        System.out.println("y= "+y);
        
        //邏輯或運算測試
        int s, z = 10;
        if(((s=0) == 0)||(z=20) == 20) {
            System.out.println("現在的z的值是: "+z);
        }
    }
}      
x= 11
y= 10
現在的z的值是: 10

從結果可以看出++x就是先對y進行賦值,然後再對x自增。然後下面的邏輯或判斷就是因爲第一個條件滿足了,,就不進行第二個條件判斷,所以z還是等於10。


JAVA的if語句
與其他語言中的if語句差別不大,主要是輸入格式的差別,下面展示一個簡單的if語句代碼,用來判斷x=51時,屬於哪個檔次,

//用來判斷x屬於哪個檔次
package tt;

public class Test2 {
    public static void main(String[] args) {
    	int x =51;
        if (x >= 90){
            System.out.println("A");
        }else if (x >= 80){
            System.out.println("B");
        }else if (x >= 60){
            System.out.println("C");
        }else{
            System.out.println("D");
        }
    }
}

JAVA中的switch語句
switch語句就是所謂的開關語句,當發生條件時,即執行某一case,否則執行default,下面同樣給出一個例子,用來隨機輸入然後抽獎,

//隨機抽獎
package tt;

public class Test2 {
    public static void main(String[] args) {
		int number = 0;
        System.out.println("輸入正整數(回車確定)");
        Scanner reader = new Scanner(System.in);
        number = reader.nextInt();
        switch(number){
            case 23:
                System.out.println(number+"是三等獎");
                break;
            case 24:
                System.out.println(number+"是二等獎");
                break;
            case 55:
                System.out.println(number+"是一等獎");
                break;
            default:
                System.out.println(number+"未中獎");
                break;
        }	
    }
}

這裏就不展示這個例子的輸出了。


JAVA中的for循環
在for循環中一般情況下需要輸入起始條件、判斷條件以及增量條件,在日常生活中for循環也會遇到很多,

//實現8+88+888+...第11項的和
package tt;

public class Test2 {
    public static void main(String[] args) {
        long sum = 0, a = 8, item = a;
        for(int i=1; i<12; i++){
            sum = sum + item;
            item = item*10 + a;
        }
        System.out.println(sum);	
    }
}

當然for循環對於數組還有更方便的計算方法,可以直接聲明變量後,自動索引運算,

//對於數組的求和
package tt;

public class Test2 {
    public static void main(String[] args) {
		int s[] = {23,34,12,45,3,4,6,123,456};
        int sum = 0;
        for (int i = 0; i < s.length; i++){
            sum = sum + s[i];
        }
        System.out.println(sum);//一般循環
        sum = 0;
        for (int x : s){
            sum = sum + x;
        }
        System.out.println(sum);//數組的循環
    }
}

JAVA中的while運算
while運算與for一樣是用於循環,但當我們無法知道循環次數的時候,我們可以使用while通過條件進行控制,

//while循環
package tt;

public class Test2 {
    public static void main(String[] args) {
    	int sum = 0;
        
        for(int i = 0; i <= 100; i = i + 2){
            sum = sum + i;
        }
        System.out.println(sum);//for計算100以內偶數和
        
        int sum1 = 0;
        int j = 0;
        while(j <= 100){
            sum1 = sum1 + j;
            j = j + 2;
        }
        System.out.println(sum);//while計算100以內偶數和
    }
}

break和continue的使用
在循環中,我們常常得到某個結果後希望結束循環,我們就要使用break,或者得到某個結果後結束當前循環開始下一次,我們就要使用continue函數,

//計算10以內奇數和,尋找100以內的素數
package tt;

public class Test2 {
    public static void main(String[] args) {
        int sum = 0, i, j;
        for (i = 1; i <= 10; i++){
            if(i%2==0){
                continue;//滿足條件爲偶數,進入下一次循環
            }
            sum = sum + i;
        }
        System.out.println(sum);//計算10以內的奇數和
        
        for(j = 2; j <= 100; j++){
            for(i = 2; i <= j/2; i++){ // i <= j/2 是判斷條件
                if (j%i == 0)
                break; //滿足條件不爲素數,退出當前循環層
            }//考慮是否有因子
            if(i > j/2){
                System.out.println(""+j+"是素數");//統計100以內有多少素數
            } 
        }
    }
}

小練習
那麼我們就來尋找一下1000以內有多少完美數吧,完美數就是這個數的因子之和(不包括本身)等於本身,比如6=1+2+3,

//尋找1000以內完美數
package tt;

public class Test2 {
    public static void main(String[] args) {
        for(int i = 2; i <= 1000; i++){
            int total = 0;
            for(int j = 1; j < i; j++){
                if((i%j)==0){
                    total = total + j;
                }
            }
            if(i == total){
                System.out.println(i);
            }
        }
    }
}
6
28
496

結語
本節分享了關於JAVA運算符以及if、switch、for、while、以及break和continue的使用。
謝謝閱讀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章