JAva演算子式と文

8823 ワード

きほんえんざん
例を挙げる.1:最も単純な加減演算
例を挙げる.2:変数割付
public class OperateDemo01
{
	public static void main(String args[]){
		int num  = 22;
		System.out.println("     :num" + num);
		num = num - 3;  //        
		System.out.println("     :num" + num);
	}
}

一元オペレータ
例2:正、負、取反
public class OperateDemo02
{
	public static void main(String args[]){
		boolean b = false;
		int x = 10;
		int y = -30;
		System.out.println("b = " + b + ", !b = " + !b);   //     
		System.out.println("x = " + x +", -x = " + -x);     //     
		System.out.println("y = " + y +",  +y = " + +y);  //     

	}
}

算術演算子加算減算
モールド演算子
public class OperateDemo03
{
	public static void main(String args[]){
		int i = 10;
		int j = 3;
		System.out.println(i + " + " + j + " = "  + (i + j));  //    
		System.out.println(i + " - " + j + " = "  + (i - j));  //    
		System.out.println(i + " * " + j + " = "  + (i * j));  //    
		System.out.println(i + " / " + j + " = "  + (i / j));  //    
		System.out.println(i + " % " + j + " = "  + (i % j));  //    
	}
}

関係演算子
例4:以下より大きい
public class OperateDemo04
{
	public static void main(String args[]){
		System.out.println("3 > 1 = " + (3 > 1));   //     
		System.out.println("3 < 1 = " + (3 < 1));   //     
		System.out.println("3 >= 1 = " + (3 >= 1));   //       
		System.out.println("3 <= 1 = " + (3 <= 1));   //       
		System.out.println("3 == 1 = " + (3 == 1));   //     
		System.out.println("3 != 1 = " + (3 != 1));   //    
	}
}

if判定文
例5:
public class OperateDemo05
{
	public static void main(String args[]){
		if(5>2){
			System.out.println("    :5  2");
		}
		if(true){
			System.out.println("    true");
		}
		if((3+6)==(3-6))
		System.out.println("        ");   //                。
	}
}

自増、自減
例6
public class OperateDemo06
{
	public static void main(String args[]){
		int a = 3 , b = 3;  //       a b
		System.out.println("a = " + a);
		// a++    ,   
		System.out.println("\t a++ = " + (a++) + ", a = " + a);
		// ++b    ,   
		System.out.println("\t ++b = " + (++b) + ", b = " + b);
	}
}

++x,--xはできるだけ現れないでください
論理演算子
&,|,真値表
例7
public class OperateDemo07
{
	public static void main(String args[]){
		boolean a = true;
		boolean b = false;
		System.out.println("a || b  = " + (a || b));
		System.out.println("a | b = " + (a | b));
		System.out.println("a && b = " + (a && b));
		System.out.println("a & b = " + (a & b));

	}
}

if文を用いた多条件判断
例8
public class OperateDemo08
{
	public static void main(String args[]){
		int score = 50;  //    
		if((score<0) || (score>100)){
			System.out.println("        ");
		}
		if((score<60) && (score>49)){
			System.out.println("          !");
		}
	}
}

短絡と短絡または
典型的なエラー例9
public class OperateDemo09
{
	public static void main(String args[]){
		int x = 10/0;   //    
		System.out.println("x = " + x);
	}
}

エラーによる検証
との例10
public class OperateDemo10
{
	public static void main(String args[]){
		if(10!=10&10/0==0){
			System.out.println("    ");		
		}
	}
}

短絡との例11
public class OperateDemo11
{
	public static void main(String args[]){
		if(10!=10&&10/0==0){
			System.out.println("    "); //   &&   
		}
	}
}

 
「ショートアンド」は、最初の条件が満たされる限り、その後のプログラムコードは実行されません.
または例12
public class OperateDemo12
{
	public static void main(String args[]){
		if(10!=10|10/0==0){
			System.out.println("    "); //   “|”    
		}
	}
}

 
短絡または例13
public class OperateDemo13
{
	public static void main(String args[]){
		if(10==10||10/0==0){
			System.out.println("    "); //   “||”   
		}
	}
}

 
以上の解析から,短絡と短絡,あるいは最もよく用いられるコードをまとめることができる.
 
かっこの使用
作用は優先度を変えることができます3+5+4*6-7//デフォルトは先に乗じて減らします(3+5+4)*(6-7)
例14
public class OperateDemo14
{
	public static void main(String args[]){
		int result1 = 3 + 5 + 4 * 6 -7;
		int result2 = (3 + 5 + 4) *(6 - 7);
		System.out.println("3 + 5 + 4 * 6 -7 = " + result1);
		System.out.println("(3 + 5 + 4) *(6 - 7) = " + result2);
	}
}

 
ビット演算子
時行ビット操作を行う場合は、まず10進数のデータを2進数の形式で割って残数を求める必要があります.
排他的論理和:反対は1、同じは0の場合は例15
public class OperateDemo15
{
	public static void main(String args[]){
		int x = 3;  //3       00000000 00000000 00000000 00000011   3
		int y = 6;  //6       00000000 00000000 00000000 0000110     6
		System.out.println(x & y);  //  00000000 00000000 00000000 00000010    2        
		System.out.println(x | y);   //  00000000 00000000 00000000 00000111  7         
		System.out.println(x ^ y);   //   00000000 00000000 00000000 00000101   5         
	}
}

 
int x = 3;//3のバイナリデータ:00000000 00000000 00000000 000000011 int y=6;//6のバイナリデータ:00000000 00000000 00000000 00000000 110
System.out.println(x & y);//00000000 00000000 00000000 010 System.out.println(x |  y);//または00000000 00000000 00000000111 System.out.println(x ^  y);//イソ00000000 00000000 00000000 101
「~」で逆符号をとることもできます
例16
public class OperateDemo16
{
	public static void main(String args[]){
		int x = -3;   //          ,   =    + 1
/*
        
 -3   

  :
->   (    1,           )
->   (      ,        )
->   (          1)
->   (      )

1|0000000 00000000 00000000 00000011   -> -3   
1|1111111 11111111 11111111 11111100   -> -3   
1|1111111 11111111 11111111 11111101   -> -3      //       -3     
0|0000000 00000000 00000000 00000010   -> ~3  = 2

  :
    1    
                 
*/
		System.out.println(~x);
	}
} 

int x = -3;//符号を補う形で逆符号を取る方法があるはず:最も正確な解釈方法を探す
左シフトと右シフトの方法
例17
public class OperateDemo17
{
	public static void main(String args[]){
		int x = 3;  // 3      :00000000 00000000 00000000 0000011
		System.out.println(x + "  2      :" + (x << 2)); //x=12
	}
} 

x<<2
//3のバイナリデータ:00000000 00000000 00000000 000011//3の左シフト2位根拠:00000000 00000000 00000000 00000001100例18
public class OperateDemo18
{
	public static void main(String args[]){
		int x = 3;  // 3      :00000000 00000000 00000000 0000011
		int y = -3;  // 3      :10000000 00000000 00000000 0000011
		/*
		 -1     (    )
		10000000 00000000 00000000 00000001    =     1         
		11111111 11111111 11111111 11111110    =         
		11111111 11111111 11111111 11111111    =   +1
		*/

		System.out.println(x + "  2      :" + (x >> 2)); 
		System.out.println(y + "  2      :" + (y >> 2)); 
	}
} 

x>>2
学習アセンブリに必要な資料
符号なし右シフト例19
public class OperateDemo19
{
	public static void main(String args[]){
		int x = 3;  // 3      :00000000 00000000 00000000 0000011
		int y = -3;  // 3      :10000000 00000000 00000000 0000011

		System.out.println(x + "  2      :" + (x >>> 2)); 
		System.out.println(y + "  2      :" + (y >>> 2)); 
	}
} 

x>>>2
ビット操作は実際には基本的な開発では使用されず,一部の下位層の暗号化ではMD 5などが用いられる.
SimpleExpress
 
単純演算子および式の使用
Javaには以下の演算子があり,+=−=x=/=%=
b++と++b b b b---b
public class SimpleExpressDemo01
{
	public static void main(String args[]){
		int a = 5, b= 1;
		System.out.println("       :a = " + a + ", b = " + b);
		a += b; //   a = a + b
		System.out.println("       :a = " + a + ", b = " + b);	
	}
}

 
以上の演算は実際には操作がより簡便であるが,このような操作は現在開発中では提唱されていない.
TypeChangeDemo
 
式タイプの変換
 
Javaがプログラムで表現試行中にタイプが一致しない場合を発見すると、以下のルールに従ってタイプの変換が処理されます.1.占有バイト数が少ないタイプは、占有バイト数が多いタイプに変換されます.2.文字タイプはintタイプに変換されます.3.intタイプはfloatタイプに変換されます.4.式のオペランドのタイプがdoubleの場合、別のオペランドもdoubleタイプに変換されます.5.ブールタイプは他のタイプに変換できません.
例:
public class TypeChangeDemo{
	public static void main(String args[]){
		char ch = 'a';
		short a = -2;
		int b = 3;
		float f = 5.3f;
		double d = 6.28;
		System.out.println("(ch / a) - (d / f) - (a + b) = ");
		System.out.println((ch / a) - (d / f) - (a + b) );	
	}
}

 
データ・オペレーションにdoubleタイプが表示されている限り、最大のタイプに違いありません.最終的なオペレーション結果はこのタイプに準備されています.一般的に開発では必ず簡単なコードを書かなければなりません.