天天看點

關于+ java中的運算符 Scanner類錄入資料

1關于+:

1)可以作為一個運算符
2)字元串拼接符号
3)表示一個資料:正數
	雙引号内的 資料是常量
	字元串+任何資料---因為字元串在前面 是以都是一個新的字元串
	常量+字元串--->因為整數在前面是以要先進行計算再進行拼接
	("hello"+'a'+1)------->helloa1
	('a'+1+"hello")-------->98hello  
	
           

2算數運算符

Java中的運算符
	算數運算符
	指派運算符
	比較運算符
	邏輯運算符(重點)
	位運算符
	三元運算符(重點)
	
算數運算符:
	基本的算數運算符:
	+   -    *   /    %
	加  減    乘  除   模(餘數)
	
	擴充的運算符:
		++  --
		1)單獨使用
		2)參與運算
		第一種情況:單獨使用
			++和--符号無論在資料的前面,還是在資料的後面  都是對資料進行自加一和自減一
		第二中情況:參與運算
		++和--符号在資料的前面 時:先對資料進行自增或自減 再參與運算
		++和--符号在資料的後面 時:先進行運算 再進行自增和自減
		 
		 int a=10;   
		 int a=10;
		 int a=10;
		 a=b++;      //a=10  b=11  c=10
		 c=--a;      //a=9  b=11  c=9
		 b=++a;      //a=10  b=10 c=9
		 a=c--;       //a=9  b=10 c=8
		 請問a b c 等于多少?
		 
		  int x=4;
		  int y=(x++)+(++x)+(x*10)   //  4+6+60=70
		  問y等于多少
		注意事項:1)第一題 每一步都要進行分析a b c 的值  直到最後一步完成
				2)第二題 (x++)相當于先指派再運算 即将x的值先指派給()---4本身再參與運算
           

指派運算符

面試題 :
	short s=1;
	1)s=s+1;
	2)s+=1;    //僅僅是計算結果相當于s=s+1    
	問你哪句 會編譯失敗?
	答案:第一種失敗 byte  short  char 三種之間不轉換  一旦參與運算 必須進行資料轉換才可以
	第二中:擴充的+=  -= *=  /=   %=
這些擴充的指派運算符中都隐藏一個強制轉換故而不會編譯出錯	
           

關系運算符

<>  <=  >=   ==  !=
 特點:無論表達式簡單還是複雜  最終的結果就是true或者 false
           

邏輯運算符

在實際應用中 進行邏輯判斷的時候經常使用
基本的邏輯運算符号:
邏輯單與&     //表示并列關系 有false則false 
邏輯單或|     //表示或的關系  有true則true
邏輯異或^     //相同則為false 不同則為true (舉例:男女關系)
邏輯非!       //非true則false  偶數個非則是它本身 
           

擴充的邏輯運算符

邏輯雙與&&  
	邏輯雙與和邏輯單與的異同
		相同點:都是并列關系
		不同點:邏輯雙與具有短路效果
邏輯雙或||
	邏輯雙或和邏輯單或的異同
		相同點:都是或的關系
		不同點:邏輯雙或具有短路效果
	故而:在開發中對于邏輯關系的處理一般都用邏輯雙與和邏輯雙或來完成
	
           

位運算符

位運算符符号(其符号與邏輯符号一樣 )
位運算符連接配接的是兩個數值
位于:&    //特點:有零則零
位或:|    //
位異或:^
反碼:~
   位移符号:
      <<:左移   ---->将資料的二進制計算出來之後 ---->向左移動,在右邊補0   (将這個符号左邊的資料乘以2的移動次幂)
      >>:右移   ---->二進制資料--->向右移動--->最高符号位如果是0 左邊補0---如果最高符号位是1   左邊補1   (将這個符号左邊的資料除以2的移動次幂)
      >>>:無符号右移---->無論最高符号位是0還是1  左邊補0
        
3------二進制資料 0b11
4------二進制資料 0b100
位與&的特點: 有零則零
位或|的特點:有1則1
位異或^的特點:相同位0 不同為1
反碼~的特點:按位取反


位異或的特點:一個資料被另一個資料位異或兩次其值是它本身 
(a^b^b)   ---->值是a
(a^b^a)   ---->值是b

a=a^b;
b+a^b;  //b=a^b^b;   ------>a
a=a^b;  //a=a^b^a;   ------->b
           

三元運算符(三目運算符)

三元運算符
格式:
	(表達式)? 執行truede結果:執行false的結果
	執行流程:首先判斷表達式是否成立 :如果成立執行true的結果,否則執行false的結果
	需求:比較兩個資料的大小
	案例:
		三個和尚比身高,請用Java程式比較最高的人
		已知:三個和尚 都存在各自的身高
		定義三個變量
		三個變量中比較最大的值
		使用中間變量的temp記錄第一個和第二個之間的最大值
		int temp=(firPeo>secPeo)?firPeo:secPeo
		三元運算符可以嵌套 (不推薦)
           

鍵盤輸入資料scanner類

Java提供了一個文本掃描器:scanner
 鍵盤錄入資料的操作步驟:
 在Java中 隻要不是在Java.lang包下的類都需要導包
 	1)導包
 		在class的上面書寫
 		格式:import Java.util.Scanner;
 	2)固定格式
 		Scanner 對象名稱=new Scanner(System.in);
 	3)接收資料//錄入資料
    int 變量名=對象名稱.nextlnt();//固定格式