Java字符之間的運算

Java字符之間的運算

字符之間的運算的轉換

自動轉換:

     int a=12;

     double b=10.5;

     System.out.println(a+b);

強制轉換:

doublea=12.8;

     doubleb=10.3;

     int sum= (int) (a+b); //強制類型轉換

     System.out.println(sum);

因爲在Java字符中

整型、浮點型和字符型的數據在混合運算中可以相互轉換,這種轉換是自動的,類型轉換時遵循以下原則:

 容量小的類型自動轉換爲容量大的類型,當使用byte、short、char進行計算時,會自動轉換成int類型
(byte、short、char) -> int -> long -> float -> double

(字符型會自動轉換成int型,所需要的可以對照ASCII碼)

容量大的類型轉換爲容量小的類型時,需要加上強制轉換符,但是會造成數據的精度降低

有多種類型數據的混合運算時,系統會自動將所有參與運算的類型都轉換成容量最大的類型,然後再進行運算

 

通俗的說就是:

相當於一個小東西裝進大瓶子裏,不要什麼轉換(自動轉換)

把一個大東西裝進小瓶子裏,就要強制轉換,改變其大小(強制轉換)

 

練習:寫一個簡單的計算器,輸入兩個double類型的數,得到一個整型數。

 

importjava.util.Scanner;

 

 

public class New{

 

   public static voidmain(String[] args) {

     System.out.println("請輸入一個數");

double i=newScanner(System.in).nextDouble();

     System.out.println("請再輸入一個數");

double y=newScanner(System.in).nextDouble();

     intres=(int)(i+y);

     System.out.println("輸出的結果是:"+res);

   }

}

 

算術運算符

++在前,表示先自加再賦值,++在後,表示先賦值再自加

int i=0;

   int j=0;

   j=++i; //++在前,表示先+1,再賦值

   j=i++; //++再後,表示先賦值,再+1

   System.out.println(j);

取模運算符

Ps:取模運算中結果的正負取決於第一個數,即被取模數

  System.out.println(10 % 3); //1

   System.out.println(10 % -3); //1

   System.out.println(-10 % 3); //-1

   System.out.println(-10 % -3);//-1

字符串連接符

Ps+”不僅可以將非字符串數據相加,還可以有字符串拼接的作用

Ps+”兩側的操作數中只要有一個是字符串類型,系統會自動將另一個操作數轉換爲字符串然後再進行連接

  System.out.println("5+5="+10); //5+5=10

   System.out.println("5+5="+5+5); //5+5=55

賦值運算符

賦值運算符的符號有哪些?

=:賦值,int a=2;表示將2這個值賦予變量a

+=:a+=2;等同於a=a+2;

-+:a-=2;等同於a=a-2;

*=:a*=2;等同於a=a*2;

/=:a/=2;等同於a=a/2;

%=:a%=2;等同於a=a%2;

比較運算符


Ps:比較運算符的結構都是布爾型,要麼是true,要麼就是false

Ps:比較運算符“==”不可誤寫成“=”

邏輯運算符


Ps:^異或表示,如果兩個條件相同即爲false,兩個條件相異即爲true。

Ps:&&||表示,只要第一個條件符合要求,第二個條件將不會去執行;而&|表示,無論第一個條件是否符合要求,第二個條件都會去執行。

三元運算

三元運算符是怎麼運算的?

條件表達式? 表達式1:表達式2

如果滿足條件true就執行表達式1

如果不滿足條件false就執行表達式2

實例

練習:輸入一個數,判斷這個數是奇數還是偶數

System.out.println("請輸入一個整數");

     int a=newScanner(System.in).nextInt();

     String res=a%2==0? "偶數":"奇數";

     System.out.println(res);

 

拔高題:輸入一個年份,判斷這一年是閏年還是平年

System.out.println("請輸入一個年份");

     int a=newScanner(System.in).nextInt();

     String res=a%4==0&a%100!=0|a%400==0? "閏年":"平年";

     System.out.println(res);

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