最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

編程入門:掌握Java運算符技巧

 更新時間:2023年12月23日 09:14:00   作者:Y423x  
掌握Java運算符技巧,能讓你的編程之旅輕松許多,本指南將帶你深入了解如何巧妙地使用這些強大的工具,讓代碼不僅高效,還充滿樂趣,跟著我們一起,讓你的Java代碼在運算符的魔法下煥發(fā)新生!

運算符和表達式

int a = 10;
int b = 20;
int c = a + b;

+:運算符,并且是算術運算符

a + b:表達式,由于+是算術運算符,所以這個表達式叫算術表達式

算術運算符

符號

符號作用
+
-
*
/
%取模、取余
public class ArithmeticoperatorDemo1 {
    public static void main(String[] args) {
        //+
        System.out.println(3 + 2);//5
        //-
        System.out.println(5 - 1);//4
        //*
        System.out.println(7 * 9);//63

        //如果在運算的時候有小數(shù)參與
        //結論:
        //在代碼中,如果有效數(shù)參與,結果有可能不精確的。
        System.out.println(1.1 + 1.1);//2.2
        System.out.println(1.1 + 1.01);//2.1100000000000003

        //除法
        //結論:
        //1.整數(shù)參與計算,結果只能得到整數(shù)
        //2.小數(shù)參與計算,結果有可能是不精確的
        System.out.println(10 / 2);//5
        System.out.println(10 / 3);//3
        System.out.println(10.0 / 3);//3.3333333333333335

        //取模、取余。實際上也是做除法運算,只不過得到的是余數(shù)而已。
        System.out.println(10 % 2);//0
        System.out.println(10 % 3);//1
        
        //應用場景:
        //1.可以用取模判斷,A是否可以被B整除
        //A % B    10 % 3
        //2.可以判斷A是否為偶數(shù)
        //A % 2 如果結果為0,那么證明A是一個偶數(shù)。如果結果為1,那么證明A是一個奇數(shù)
        //3.斗地主發(fā)牌
        //三個玩家
        //把每一張牌都定義一個序號
        //拿著序號 % 3 如果結果為1,就發(fā)給第一個玩家
        //如果結果為2,那么就發(fā)給第二個玩家
        //如果結果為0,那么就發(fā)給第三個玩家

    }
}

練習--數(shù)值拆分

需求:鍵盤錄入一個三位數(shù),將其拆分為個位、十位、百位后,打印在控制臺

公式總結:

  • 個位:數(shù)值 % 10
  • 十位:數(shù)值 / 10 % 10
  • 百位:數(shù)值 / 100 % 10
  • 千位:數(shù)值 / 1000 % 10
  • ...
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        //鍵盤錄入一個三位數(shù),將其拆分為個位、十位、百位后,打印在控制臺

        //1.鍵盤錄入
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個三位數(shù)");
        int number = sc.nextInt();

        //2.獲取個位,十位,百位
        //公式:
        //個位:  數(shù)字 % 10
        //十位:  數(shù)字 / 10 % 10
        //百位:  數(shù)字 / 10 / 10 % 10
        //...
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;
        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}

數(shù)字相加

數(shù)字進行運算時,數(shù)據(jù)類型不一樣不能運算,需要轉成一樣的,才能運算。

類型轉換的分類

  • 隱式轉換(自動類型提升)

    • 取值范圍的數(shù)值-->取值范圍的數(shù)值

    • //范例: 
      int a = 10;
      double b = a;//b = 10.0
      

      取值范圍:double>float>long>int>short>byte

    • 隱式轉換的兩種提升規(guī)則

      • 取值范圍小的,和取值范圍大的進行運算,小的會先提升為大的,再進行運算

      • byte、short、char 三種類型的數(shù)據(jù)在運算的時候,都會直接先提升為int,然后再進行運算

        public class Test {
            public static void main(String[] args) {
                int a = 10;//取值范圍小
                double b = 12.3;//取值范圍大
                
                double c = a + b;//+ 取值范圍小的,和取值范圍大的進行運算,小的會先提升為大的,再進行運算
            }
        }
        
        public class Test {
            public static void main(String[] args) {
                byte a = 10;
                byte b = 20;
                
                int c = a + b;//byte、short、char 三種類型的數(shù)據(jù)在運算的時候,都會直接先提升為int,然后再進行運算
            }
        }
        
  • 強制轉換

    • 取值范圍的數(shù)值-->取值范圍的數(shù)值(如果把一個取值范圍大的數(shù)值,賦值給取值范圍小的變量。是不允許直接賦值的。如果一定要這么做就需要加入強制轉換)

    • 格式:目標數(shù)據(jù)類型 變量名 = (目標數(shù)據(jù)類型) 被強轉的數(shù)據(jù);

      //范例: 
      double a = 12.3;
      int b = (int) a;
      
      //范例: 
      int a = 300;
      byte b = (byte) a;//會出現(xiàn)錯誤,byte的取值范圍是-128~127,300超出取值范圍
      
      //范例:
      public class ArithmeticoperatorDemo2 {
          public static void main(String[] args) {
              byte b1 = 10;
              byte b2 = 20;
              //現(xiàn)在要強轉的是b1 + b2計算之后的結果。
              //(byte)b1 + b2 強轉的是b1,并不是最終的結果
              byte result = (byte) b1 + b2;//錯誤
              byte result = (byte) (b1 + b2);//正確
              System.out.println(result);//30
          }
      }
      

字符串相加

字符串的“+”操作

  • 當“+”操作中出現(xiàn)字符串時,這個“+”是字符串連接符,而不是算術運算符了。

    會將前后的數(shù)據(jù)進行拼接,并產(chǎn)生一個新的字符串。

    • "123" + 123//結果是"123123"
      
  • 連續(xù)進行“+”操作時,從左到右逐個執(zhí)行。

    • 1 + 99 +"世界"http://結果是"100世界"
      
    //范例:
    int age = 18;
    System.out.println("剛滿" + age + "歲");//"剛滿18歲"
    System.out.println("剛滿" + "age" + "歲");//"剛滿age歲"
    
    //范例:
    System.out.println(1 + 2 + "abc" + 2 + 1);//"3abc21"
    

練習:數(shù)值拆分

需求:鍵盤錄入一個三位數(shù),將其拆分為個位、十位、百位后,打印在控制臺

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        //鍵盤錄入一個三位數(shù),將其拆分為個位、十位、百位后,打印在控制臺

        //1.鍵盤錄入
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個三位數(shù)");
        int number = sc.nextInt();

        //2.獲取個位,十位,百位
        //公式:
        //個位:  數(shù)字 % 10
        //十位:  數(shù)字 / 10 % 10
        //百位:  數(shù)字 / 10 / 10 % 10
        //...
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;
        System.out.println("個位是" + ge);
        System.out.println("十位是" + shi);
        System.out.println("百位是" + bai);
    }
}

字符相加

  • 當 字符 + 字符 或 字符 + 數(shù)字 時,會把字符通過ASCLL碼表查詢到對應的數(shù)字再進行計算。

    //范例:
    System.out.println(1 + 'a');//98
    System.out.println('a' + "abc");//"aabc"
    

自增自減運算符

基本用法

符號作用說明
++變量的值加1
--變量的值減1
  • 注意事項:++和--既可以放在變量的前面,也可以放在變量的后面

    int a = 10;
    a++;//(++a;)后加加(先加加),表示將變量里面得值加1
    System.out.println(a);//11
    

    單獨使用(用法一):++和--無論是放在變量的前邊還是后邊,單獨寫一行結果都是一樣的

    //范例:
    public class ArithmeticoperatorDemo3 {
        public static void main(String[] args) {
            //++ 和 --
            int a = 10;
            //表示把變量a里面的值+1
            a++;
            System.out.println(a);//11
            //表示把變量a里面的值+1
            ++a;
            System.out.println(a);//12
            //表示把變量a里面的值-1
            a--;
            System.out.println(a);//11
            //表示把變量a里面的值-1
            --a;
            System.out.println(a);//10
        }
    }
    

應用場景一:

一歲-->生日后-->兩歲

int age = 1;
age++;
System.out.println(age);

應用場景二:

購買物品增減購買數(shù)量時

-2+

應用場景三:數(shù)¥號

&&
++++++

參與計算(用法二):

  • 先用后加

    int a = 10;
    int b = a++;//a=11,b=10
    
  • 先加后用

    int a = 10;
    int b = ++a;//a=11,b=11
    

練習

public class ArithmeticoperatorDemo4 {
    public static void main(String[] args) {
        int x = 10;
        //后++:先用后加
        int y = x++;
        //先++:先加后用
        int z = ++x;
        System.out.println("x:" + x);//12
        System.out.println("y:" + y);//10
        System.out.println("z:" + z);//12
    }
}

賦值運算符

分類

符號作用說明
=賦值int a = 10,將10賦值給變量a
+=加后賦值a+ = b,將a+b的值給a
-=減后賦值a -= b,將a-b的值給a
*=乘后賦值a *= b,將a×b的值給a
/=除后賦值a /= b,將a÷b的商給a
%=取余后賦值a %=b,將a÷b的余數(shù)給a

注意事項:+=,-=,*=,/=,%= 底層都隱藏了一個強制類型轉換

//范例:
public class ArithmeticoperatorDemo1 {
    public static void main(String[] args) {
        //+=
        //規(guī)則:將左邊和右邊進行相加,然后再把結果賦值給左邊
        int a = 10;
        int b = 20;
        a += b;//等同于 a = (int) (a + b);
        System.out.println(a);
        System.out.println(b);


        //細節(jié):
        //+=,-=,*=,/=,%= 底層都隱藏了一個強制類型轉換
        short s = 1;
        s += 1;//等同于:s = (short) (s + 1);
        System.out.println(s);//2
    }
}

關系運算符

(關系運算符/比較運算符)的分類

符號說明
==a==b,判斷a和b的值是否相等,成立為true,不成立為false
!=a!=b,判斷a和b的值是否不相等,成立為true,不成立為false

|a>b,判斷a是否大于b,成立為true,不成立為false
=|a>=b,判斷a是否大于等于b,成立為true,不成立為false
<|a<b,判斷a是否小于b,成立為true,不成立為false
<=|a<=b,判斷a是否小于等于b,成立為true,不成立為false
注意事項:

  • 關系運算符的結果都是boolean類型,要么是true,要么是false。
  • 千萬不要把“==”誤寫成“=”。
//范例:
public class CompareoperatorDemo1 {
    public static void main(String[] args) {
        //== 判斷左右兩邊是否相等
        int a = 10;
        int b = 10;
        int c = 20;
        System.out.println(a == b);//true
        System.out.println(a == c);//false
    }
}

練習--約會

需求:

您和您的約會對象在餐廳里面正在約會。

鍵盤錄入兩個整數(shù),表示你和你約會對象衣服的時髦度。(手動錄入0~10之間的整數(shù),不能錄其他)

如果你的時髦程度大于你對象的時髦程度,相親就成功,輸出true。

否則輸出false。

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        /* 需求:
         您和您的約會對象在餐廳里面正在約會。
         鍵盤錄入兩個整數(shù),表示你和你約會對象衣服的時髦度。(手動錄入0~10之間的整數(shù),不能錄其他)
         如果你的時髦程度大于你對象的時髦程度,相親就成功,輸出true。
         否則輸出false。*/

        //1.鍵盤錄入兩個整數(shù)表示衣服的時髦度
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入我們自己的衣服時髦度");
        int myFashion = sc.nextInt();
        System.out.println("請輸入相親對象衣服的時髦度");
        int girlFashion = sc.nextInt();

        //2.把我衣服的時髦度跟女孩的時髦度進行對比
        boolean result = myFashion > girlFashion;

        //3.打印結果
        System.out.println(result);
    }
}

邏輯運算符

  • 在數(shù)學中,一個數(shù)據(jù)x,大于5,小于15,表示成:5<x<15。
  • 在Java中,需要把上面的式子先進行拆解,在進行合并表達。
    • 拆解為:x>5 和 x<15
    • 合并后:x>5 & x<15(&:并且)

分類

符號作用說明
&邏輯(且)并且,兩邊都為真,結果才是真(兩邊都要滿足)
|邏輯或或者,兩邊都為假,結果才是假(兩邊滿足一個)
^邏輯異或相同為false,不同為true
!邏輯非取反
//范例"&""|"":
public class LogicoperatorDemo1 {
    public static void main(String[] args) {
        //1. & 并且
        //兩邊都為真,結果才是真
        System.out.println(true & true);//true
        System.out.println(false & false);//false
        System.out.println(true & false);//false
        System.out.println(false & true);//false


        //2. | 或者
        //兩邊都為假,結果才是假
        System.out.println(true | true);//true
        System.out.println(false | false);//false
        System.out.println(true | false);//true
        System.out.println(false | true);//true
    }
}

使用場景一

輸入用戶名和密碼時,成功登陸的條件是:

用戶名正確 并且 密碼正確

使用場景二

結婚時女方要求要有

房子 或者 車子;(房子 并且 車子)

//范例"^""!":
public class LogicoperatorDemo2 {
    public static void main(String[] args) {
        // ^ 異或
        //相同為false,不同為true
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false
        System.out.println(true ^ false);//true
        System.out.println(false ^ true);//true


        // ! 邏輯非 取反
        //提示:
        //取反的感嘆號不要寫多次,要么不寫,要么只寫一次
        System.out.println(!false);//true
        System.out.println(!true);//false
    }
}

短路邏輯運算符

符號作用說明
&&短路與結果和&相同,但是有短路效果
||短路或結果和|相同,但是有短路效果
//范例:
public class LogicoperatorDemo3 {
    public static void main(String[] args) {
        //1.&&
        //運行結果跟單個&是一樣的
        //表示兩邊都為真,結果才是真
        System.out.println(true && true);//true
        System.out.println(false && false);//false
        System.out.println(false && true);//false
        System.out.println(true && false);//false


        //2.||
        //運行結果跟單個|是一樣的
        //表示兩邊都為假,結果才是假
        System.out.println(true || true);//true
        System.out.println(false || false);//false
        System.out.println(false || true);//true
        System.out.println(true || false);//true


        //3.短路邏輯運算符具有短路效果
        //簡單理解:當左邊的表達式能確定最終的結果,那么右邊就不會參與運行了
        int a = 10;
        int b = 10;
        boolean result = ++a < 5 && ++b < 5;
        System.out.println(result);//false
        System.out.println(a);//11
        System.out.println(b);//10
    }
}
  • 注意事項:

    • &|,無論左邊 true false,右邊都要執(zhí)行。

      &&||,如果左邊能確定整個表達式的結果,右邊不執(zhí)行。

      &&:左邊為false,右邊不管是真是假,整個表達式的結果一定是false。

      ||:左邊為true,右邊不管是真是假,整個表達式的結果一定是true。

      這兩種情況下,右邊不執(zhí)行,提高了效率。

    • 最常用的邏輯運算符:&&||,!

練習--數(shù)字6

需求:

數(shù)字6是一個真正偉大的數(shù)字,鍵盤錄入兩個整數(shù)。

如果其中一個為6,最終結果輸出true。

如果他們的和為6的倍數(shù)。最終結果輸出true。

其他情況都是false。

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        /*數(shù)字6是一個真正偉大的數(shù)字,鍵盤錄入兩個整數(shù)。
        如果其中一個為6,最終結果輸出true。
        如果他們的和為6的倍數(shù)。最終結果輸出true。
        其他情況都是false。*/

        //分析:
        //1.鍵盤錄入兩個整數(shù)
        // 變量a  變量b

        //2.a == 6 || b == 6 || (a + b) % 6 = 0
        //如果滿足其中一個,那么就可以輸出true


        //鍵盤錄入兩個整數(shù)
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個整數(shù)");
        int number1 = sc.nextInt();
        System.out.println("請輸入第二個整數(shù)");
        int number2 = sc.nextInt();

        //用短路邏輯運算符去鏈接三個判斷
        boolean result = number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;

        System.out.println(result);
    }
}

三元運算符

三元運算符

需求:定義一個變量記錄兩個整數(shù)的較大值。

int number = 拿著兩個整數(shù)進行比較
System.out.println(number);

作用:可以進行判斷,根據(jù)判斷結果得到不同的內(nèi)容

格式(三元運算符/三元表達式)

  • 格式:關系表達式 ? 表達式1 : 表達式2;

  • 范例:求兩個數(shù)的較大值。

    int max = a > b ? a : b;//把三元運算符的結果賦值給一個變量
    System.out.println(a > b ? a : b);//把三元運算符的結果直接打印
    
//范例:
public class TernaryoperatorDemo1 {
    public static void main(String[] args) {
        //需求:使用三元運算符,獲取兩個數(shù)的較大值

        //分析:
        //1.定義兩個變量記錄兩個整數(shù)
        int number1 = 10;
        int number2 = 20;

        //2.使用千元運算符獲取兩個整數(shù)的較大值
        //格式:關系表達式 ? 表達式1 : 表達式2;
        //整個三元運算符的結果必須要使用

        int max = number1 > number2 ? number1 : number2;
        System.out.println(max);

        System.out.println(number1 > number2 ? number1 : number2);
    }
}
  • 計算規(guī)則
    • 首先計算關系表達式的值
    • 如果值為true,表達式1的值就是運算結果
    • 如果值為false,表達式2的值就是運算結果

練習1--兩只老虎

需求:

動物園里有兩只老虎,體重分別通過鍵盤錄入獲得,

請用程序實現(xiàn)判斷兩只老虎的體重是否相同。

import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        /*需求:動物園里有兩只老虎,體重分別通過鍵盤錄入獲得,
        請用程序實現(xiàn)判斷兩只老虎的體重是否相同。*/

        //分析:
        //1.鍵盤錄入兩只老虎的體重
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入第一紙老虎的體重");
        int weight1 = sc.nextInt();
        System.out.println("請輸入第二紙老虎的體重");
        int weight2 = sc.nextInt();
        //2.比較
        //相同  不同

        String result = weight1 == weight2 ? "相同" : "不同";
        System.out.println(result);
    }
}

練習2--求最高身高的和尚

需求:

一座寺廟里住著三個和尚,已知他們的身高分別為150cm、210cm、165cm,

請用程序實現(xiàn)獲取這三個和尚的最高身高。

public class Test5 {
    public static void main(String[] args) {
        /*需求:一座寺廟里住著三個和尚,已知他們的身高分別為150cm、210cm、165cm,
        請用程序實現(xiàn)獲取這三個和尚的最高身高。*/


        //1.定義三個變量記錄三個和尚的身高
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;
        //2.拿著第一個和尚和第二個和尚進行比較
        //再拿著結果跟第三個和尚進行比較即可
        int temp = height1 > height2 ? height1 : height2;
        int max = temp > height3 ? temp : height3;

        System.out.println(max);
    }
}

運算符優(yōu)先級

優(yōu)先級運算符
1.(){}
2!、-、++、--
3*、/、%
4+、-
5<<、>>、>>>
6<、<=、>、>=、instanceof
7==、!=
8&
9^
10|
11&&
12||
13? :
14=、+=、-=、*=、/=、%=、&=

到此這篇關于編程入門:掌握Java運算符技巧的文章就介紹到這了,更多相關Java運算符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中通過Class類獲取Class對象的方法詳解

    Java中通過Class類獲取Class對象的方法詳解

    這篇文章主要給大家介紹了關于Java中通過Class類獲取Class對象的方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • Java中的== 和equals()方法詳解與實例

    Java中的== 和equals()方法詳解與實例

    本篇文章介紹了,在java中"==" 與equals方法的使用及其實例,需要的朋友可以參考下
    2017-04-04
  • SpringBoot如何使用過濾器進行XSS防御

    SpringBoot如何使用過濾器進行XSS防御

    想對全局的請求都進行XSS防御可以使用servlet中的過濾器或者spring mvc中的攔截器,下面我們就來看看如何使用servlet中的過濾器進行XSS防御吧
    2024-11-11
  • Springboot整合JwtHelper實現(xiàn)非對稱加密

    Springboot整合JwtHelper實現(xiàn)非對稱加密

    本文主要介紹了Springboot整合JwtHelper實現(xiàn)非對稱加密,主要介紹兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • 關于java數(shù)組與字符串相互轉換的問題

    關于java數(shù)組與字符串相互轉換的問題

    這篇文章主要介紹了java數(shù)組與字符串相互轉換的問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • IO密集型任務設置線程池線程數(shù)實現(xiàn)方式

    IO密集型任務設置線程池線程數(shù)實現(xiàn)方式

    這篇文章主要介紹了IO密集型任務設置線程池線程數(shù)實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 后端java壓縮圖片超詳細圖文教程

    后端java壓縮圖片超詳細圖文教程

    這篇文章主要給大家介紹了關于后端java壓縮圖片的相關資料,片壓縮是一種廣泛采用的技術,它不僅能顯著減小文件大小,釋放更多存儲空間,還能提升圖片加載速度,避免長時間等待,需要的朋友可以參考下
    2024-04-04
  • 基于Spring定時任務的fixedRate和fixedDelay的區(qū)別

    基于Spring定時任務的fixedRate和fixedDelay的區(qū)別

    這篇文章主要介紹了基于Spring定時任務的fixedRate和fixedDelay的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 使用WebMvcConfigurer配置SpringMVC過程

    使用WebMvcConfigurer配置SpringMVC過程

    WebMvcConfigurer配置類用于Java代碼配置SpringMvc,實現(xiàn)該接口或繼承WebMvcConfigurationSupport類,常用方法:addInterceptors(攔截器)、addViewControllers(視圖控制器)等
    2024-12-12
  • JDK SPI機制以及自定義SPI類加載問題

    JDK SPI機制以及自定義SPI類加載問題

    這篇文章主要介紹了JDK SPI機制以及自定義SPI類加載問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

邛崃市| 南漳县| 江口县| 屏山县| 通州区| 五大连池市| 翁牛特旗| 南靖县| 漳州市| 阿勒泰市| 汾阳市| 宝兴县| 张家川| 集贤县| 民县| 木兰县| 张家港市| 嘉义市| 忻州市| 双牌县| 翁牛特旗| 乳山市| 郑州市| 涞源县| 沂南县| 锡林郭勒盟| 阿坝县| 四川省| 蒙自县| 武平县| 南通市| 凌源市| 曲沃县| 永济市| 台湾省| 拉孜县| 阜平县| 三江| 嘉善县| 延吉市| 湘潭市|