java_Day03_演算子


1.演算子
1.1算術演算子
算術演算子の開発:プラス+マイナス-プラス*マイナス/マイナス%カッコ()=代入番号
注意事項:1.先に乗じて除いて、後に2を加減します.左から右へ3.除数は0にできません.1.Javaのすべての演算子の優先度は18-19段階で、優先度が最も高いのは括弧で、開発中に優先度を整理する必要があるという問題が発生したら、簡単に括弧をつける.2.括弧の中の内容は括弧の外部にとって全体であり、「定数」である.
=代入番号代入番号の機能は、代入番号の右側のデータを左側の【変数】char ch=‘A’;True 10=20;false
使用概要:1.変数はあるが、付与された後にのみ内容を変更することができ、付与されていない場合は変更できない.余剰操作の注意点3.【コメント】取余操作整数に対して小数は取余操作なし
/*         */
class Demo1 {
     
	public static void main(String[] args) {
     
		//     int    
		int num1 = 10;
		int num2 = 20;
		
		// num1 + num2     num1
		num1 = num1 + num2; // num1 = 30 num2 = 20
		//                  。
		num1 = num1 * num2; // num1 = 600 num2 = 20
		num1 = num1 - num2; // num1 = 580 num2 = 20
		num1 = num1 / num2; // num1 = 29 num2 = 20
		
        //       
		// 20 ÷ 29 = 0 ...... 20
		// 5 ÷ 2 = 2 ...... 1
        // 9 ÷ 4 = 2 ...... 1
		num1 = num2 % num1; // num1 = 20 num2 = 20
		
		/*
		num2              
			num2         
		*/
		System.out.println(num1);
		System.out.println(num2);
	}
}

1.2サボり専用算術演算子
+= -=/= *= %= num1 = num1 + num2; ==> num1 += num2;
/*           */
class Demo2 {
     
	public static void main(String[] args) {
     
		//       
		int num1 = 10;
		int num2 = 20;
		
		// num1 = num1 + num2;
		num1 += num2;
		num1 *= num2; 
		
		System.out.println(num1);
		System.out.println(num2);
	}
}

1.3関係演算子
小学校関係演算子:><≧▽≠=
コード開発における関係演算子>より大きい<より小さい>=より大きい<=より小さい!=等しくない=判断に等しい
注意事項:1.関係演算子の結果はbooleanデータ型、true or false 2である.関係演算子は一般的に条件判断、データフィルタリング...
/*       */
class Demo3 {
     
	public static void main(String[] args) {
     
		//     boolean     
		boolean ret = true;
		
		// 5 > 10      ret   boolean    
		ret = 5 > 10;
		System.out.println(ret); // false
		
		ret = 5 < 10;
		System.out.println(ret); // true
		
		ret = 5 >= 5;
		System.out.println(ret); // true
		
		ret = 5 <= 2;
		System.out.println(ret); // false
		
		ret = 5 != 5;
		System.out.println(ret); // false
		
		ret = 5 == 4;
		System.out.println(ret); // false
	}
}

1.4自己増減演算子
【明確】自増自減演算子【ありかつ変数のみ操作可能】は、定数【推奨】開発において自増自減演算子をできるだけ低減または標準化して使用することはできません.
構文++自己加算演算子操作の変数自己加算1は+=1に等しい-自己減算演算子操作の変数自己減算1は-=1に等しい
【難点】前後関係自増自減演算子変数の前:まず自増自減操作を実行し、次に現在行コードの実行変数を完了した後:まず現在行コードを実行し、次に自増自減操作を実行する
【16歳のベテランプログラマーからのアドバイス】1.自増自減演算子をできるだけ+=1または-=1で置き換える.読解性が高く、Swift言語で自増自減演算子がキャンセルされているので、+=1と-=1で置き換え、不要な曖昧性を避けるために2.自増自減演算子を使用しない場合は、自増自減演算子を推奨し、単独で行を作る.int num=10;++num; or num++; いかなる曖昧性もない.
/*             */
class Demo4 {
     
	public static void main(String[] args) {
     
		int num1 = 10;
		
		//            
		/*
		           ,                 
		          ,       。
		        ,       
		*/
		System.out.println("num1++ : " + num1++); // num1++ : 10
		System.out.println("num1 : " + num1); // num1 : 11
		
		/*
		           ,        ,num1 += 1;
		num1 ==> 12          
		     ,          
		*/
		System.out.println("++num1 : " + ++num1); // ++num1 : 12
		System.out.println("num1 : " + num1); // num1 : 12
	}
}
/*         */
class Demo5 {
     
	public static void main(String[] args) {
     
		int num = 10;
		
		System.out.println("num-- : " + num--); // num-- : 10
		System.out.println("num : " + num); //  num : 9
		
		System.out.println("--num : " + --num); // num-- : 8
		System.out.println("num : " + num); //  num : 8	
	}
}

2.自増自減演算子のポイント
2.1よくある面接問題1
int num = 5;
int ret = num++ * ++num;

ret = ?
num = ?
/*
  num          ?
	  ,num       7

ret       ?
	num++ 
		++  ,     5, num++             5
		             ,num++       num ==> 6
	*
	++num:
		++  ,     6 + 1 ==> 7
    
             
    	5 * 7 = 35 ==> ret;
    	
int ret = num++ * ++num;  
	num == 5;
	num += 1 ==> 6
	*
	++num ==> 7
*/

2.2よくある面接問題2
int num = 5;
++(num++);

num = ?;
/*
Demo7.java:5:   :      
                ++(num++);
                      ^
		    :   
		    :     
		1    
  :
	  (num++)         ,         ,            ,            ,      num++   ,      !!!
	       ,      ,       。
	    !!!
	
  
	++num++      
	++num       
	
	(num)          
	         !!!
	(num)++    
	
	num = 5
	 ++num*++num = 42
	
	5 
	num++ + --num + ++num 
*/

3.論理演算子
銀行の金庫と、二人で鍵を二本、同時に置く必要がある.【ポイント】真を真とし、偽がある
自分の家、私と私の彼女は街をぶらつきに行って、一人が键を持って家に帰ることができるのでさえすれば、1つの条件を満たすことができます.【ポイント】有真【すなわち】真、同偽は偽非!:逆論理演算子を取って演算した結果、boolean型のデータである.通常、条件判断、データフィルタリング…
/*         */
class Demo8 {
     
	public static void main(String[] args) {
     
		//     boolean     
		boolean ret = false;
		
		ret = 5 > 3 && 10 > 8;
		System.out.println("ret : " + ret); // true
		
		ret = 5 < 3 && 10 > 8;
		System.out.println("ret : " + ret); // false
		
		ret = 5 < 3 || 10 > 8;
		System.out.println("ret : " + ret); // true
		
		ret = 5 < 3 || 10 < 8;
		System.out.println("ret : " + ret); // false
		
		ret = !(5 > 3);
		System.out.println("ret : " + ret); // false
	}
}

3.1論理演算子短絡の原則
/*         */
class Demo9 {
     
	public static void main(String[] args) {
     
		int num = 5;
		boolean ret = false;
		
		/*
		                   
		
		       :
			    ,  【 】 
			        false  ,            
			false, false              。
			
			          !!!
		*/
		ret = num > 10 && ++num > 1;
		
		System.out.println("ret : " + ret);
		System.out.println("num : " + num);		
	}
}
/*           */
class Demo10 {
     
	public static void main(String[] args) {
     
		int num = 10;
		boolean ret = false;
		
		/*
		       
			 【 】  ,    
			          ,             。
			 true             
		*/
		ret = num > 5 || ++num > 20;
		
		System.out.println("ret : " + ret); // true
		System.out.println("num : " + num); // 10
	}
}

4.練習問題
/*
  :
	                
	        ,       
*/
char ch; //       
ch >= 'A' && ch <= 'Z';
// 'A' <= ch <= 'Z'; //            !!! ERROR
/*
  :
	                 
	        ,       
*/
char ch; //       
ch >= 'a' && ch <= 'z';
/*
  :
	              
*/
char ch;

(ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');
ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z';
/*
          
	  Java           ,&&    || 
	               !!!         
*/
/*
    :
	1.   4  ,     100  
	2.   400  
*/
int year;
//   4  
year % 4 == 0;

//    100  
year % 100 != 0;

//   400  
year % 400 == 0;

//           ?
(year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
/*
          ,     !!!
*/

小練習1.【数字文字】を判断する条件を書き出します2.判断値0~9の条件を書き出します3.コード読解int num=5;int ret=num+-num+;ret?num?4.コード読解int num=10;int ret=++num%num–;ret?num?5.コード読解int num 1=10;int num 2=20;int ret=num 1%num 2;ret=?ret=num 1/num 2;ret=?