Java學習之路0715(二)(變量的使用、聲明,賦值,運算符,控制語句)

1、變量的使用

1、聲明變量,即根據數據類型在內存中申請存儲空間
2、賦值

2、變量命名規則

要求簡潔,首字母以字母、下劃線_、美元符$,後面可以是字母、下劃線、美元符任意組合,變量名須是名詞,且第一個單詞首字母小寫,後續單詞首字母大寫。具體參照駝峯命名法(下劃線,美元符有特殊意義)

基本數據類型的分類

3、運算符

算術運算符:+、-、*、/(取整)、%(取餘數)
遞增遞減運算符:i++、i–、++i、–i。(前者是先使用i的值再執行自增自減,後者是先執行自增自減,再使用i的值。例如:int i=2;int j=i++;輸出的j=2,i=3;int j=++i;j=3,i=3)
賦值運算符:=、+=、-=、*=、/=
public class HelloWorld {
    public static void main(String[] args) {
        int i=2;
        int j=3;
        int k=i/j;//k=2
        k=i++;//k=2,i=3
        k=++i;//k=3,i=3
        j+=i;//j=5
        System.out.print(k);
    }
}

關係運算符:>、>=、<、<=、==、!=
邏輯運算符:&&、||、!(短路與、或、非)
使用&&時,當第一個表達式爲false時不會去判斷後面的表達式;
使用||時,當第一個表達式爲true時不會去判斷後面的表達式。

public class Test5 {
    public static void main(String [] args){
        boolean b1=true;
        boolean b2=false;
        if(b1&&b2){            //輸入的會是2
            System.out.println("1");
        }else{
            System.out.println("2");
        }
        if(b1||b2){             //輸入的會是1
            System.out.println("1");
        }else{
            System.out.println("2");
        }
    }
}

這裏寫圖片描述

&&和& 的區別就是當有多個表達式時,遇到第一個爲false時,後面的表達式就不在進行判斷,同樣||和|的區別是遇到第一個爲true時,後面的表達式就不在進行判斷

三目運算符:表達式1:?:表達式2(Java中不允許使用,不方便閱讀)

public class Test5 {
    public static void main(String [] args){
        int j=2;
        int k=3;
        int i=0;
        i=(k<j)?1:2;    //當?前面的表達式爲true時,執行:前的,否則執行:後面的
        System.out.println(i);//輸入的i=2
    }
}

位運算符:&、|、^(異或)、~(非)
&爲按位與,|爲按位或
這裏寫圖片描述
移位運算符:>>(向右移位)、<<(向左移位)、>>>(無符號向右移位)
*、/、%同級運算
浮點數可以除零,整型運算不能

整數取模,浮點數取模,餘數取模
a%b=a-(a/b)整數取模 a%b=a-(b*q) q=int(a/b)

Java程序控制語句

Java程序控制語句分爲順序語句,分支語句(if ···else···,switch···case),循環語句(for,while,do···while)
if···else···的用法

import java.util.Scanner;
/**
 * 我的第一個Java程序
 * @author jie
 *
 */
public class HelloWorld {

    public static void main(String[] args) {
        int score ;
        Scanner scanner=new Scanner(System.in);
        score=scanner.nextInt();//這裏會發生阻塞,等待
        if(score>=95){
            System.out.println("獎勵 iPhone6s Pro");
            if(score>=98){
                System.out.println("塞班島一日遊");
            }else if(score==100){
                System.out.println("馬爾代夫雙日遊");
            }
        }
        else if(score>=60){
            System.out.println("考試通過");
        }
        else{
            System.out.println("下次努力");
        }
    }
}

switch··· case···
這裏寫圖片描述

import java.util.Scanner;;
public class Test1 {
    public static void main(String[] args){
        int score;
        Scanner scanner=new Scanner(System.in);
        score=scanner.nextInt();
        switch(score/10){
        case 10:
            System.out.println("滿分");
            break;
        case 9:
            System.out.println("優秀");
            break;
        case 8:
            System.out.println("良好");
            break;
        case 7:
            System.out.println("中等");
            break;
        case 6:
            System.out.println("及格");
            break;
        default:
            System.out.println("掛科");
            break;
        }       
    }
}

三種循環語句
這裏寫圖片描述

public class Test2 {
    public static void main(String[]agrs){
        int i=0;
        int s=0;
        //for循環
        for(;i<=1000;i++){
            s+=i;
        }
        System.out.println("for循環"+s);
        //while循環
        i=0;
        s=0;
        while(i<=1000){
            s+=i;
            i++;
        }
        System.out.println("while循環"+s);
        //do···while循環
        i=0;
        s=0;
        do{
            s+=i;
            i++;
        }while(i<=1000);
        System.out.println("do···while循環"+s);
    }
}

計算1000以內水仙花數的個數,例如:153=1*1*1+5*5*5+3*3*3

public class Test3 {
    public static void main(String [] args){
        int a=0;
        int b=0;
        int c=0;
        int s=0;
        int j=0;
        for(int i=100;i<1000;i++){
            a=i/100;
            b=i%100/10;
            c=i%10;
            s=a*a*a+b*b*b+c*c*c;
            //System.out.println(i+" "+a+" "+b+" "+c+" "+s);
            if(s==i){
                j++;
                System.out.print(i+" ");
            }
        }
        System.out.println("1000以內的水仙花數有"+j+"個");//153 370 371 407 1000以內的水仙花數有4個
    }
}

給出一個計算給出一個隨機整數,求其二進制情況下這個數有多少個1?

import java.util.Scanner;;
public class Test4 {
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        //int a=scanner.nextInt();
        int count=0;
        /*int i;
        for(int j = 0;j<32;j++){
            if(i%2==1){
                //最後一位是1
                count++;
            }
            i=i>>1;//i>>=1
        }
        System.out.println(count);*/

        int k=scanner.nextInt();
        //int count=0;
        while(k!=0){
            if(k%2==1){
                count++;
            }
            k=k/2;
        }
        System.out.println(count);
    }
}

在循環語句中break與continue的區別:
break是跳出循環,不再執行循環運算,continue是指跳出本次循環,不再執行本次循環continue後面的語句,接着執行下一次循環


public class Test6 {
    public static void main(String[] args){
        for(int i=0;i<=10;i++){
            System.out.print("第"+i+"次循環"+"  ");
            if(i==5){
                System.out.println(i+"未跳出循環");
                break;
            }
            else if(i==3){
                System.out.println(i+"跳出本次循環");
                continue;
            }
            System.out.println("給糖喫");
        }
    }
}

這裏寫圖片描述

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