オペレータ用Javaペンの質問

オペレータ用Javaペンの質問

1.&と&&の違い

アンド論理演算を用いてのみ&&ビット単位の論理演算と考えることができると考えられ
   、以下の相違ときに、2つのシンボルは、論理演算子として使用される場合
   、最終的な結果が真の前後&2つの条件が真である
   &&短絡そして&同じ結果と正常に行わ
     偽後ろ短絡の結果&&発現を行わない場合、現在の表面状態のが偽であります

2. 2つの* 8つの結果を計算するための最も効率的な方法

00000010 *最も効率的な方法<< 2 3 3のパワーに2を乗じ2に相当
   0,000,100,000,000,010
   0,000,000,000,010,000 ----> 16
  00000000乗数がちょうど2電源である
  00000000
 00000010000 - > 16

INT A = 1~3二つの変数、int型、B = 2、どのように二つの変数のスワップ値に

   
int a = 1;
int b = 2;
//方式一 采用一个中间变量空间
int c = a;  
a = b;
b = c;
好处是比较容易理解 值也不会出现问题 不好在于产生了一个新的内存空间

//方式二 利用两个数字的和
a = a + b; //a空间存储的是两个元素的和3  b没有变化
b = a - b; //利用两个元素的和减原来的b 剩下的是原来的a b==1 a==3
a = a - b; //利用两个元素的和 减b(原来a的值1) 剩下原来b的值赋值给a b==1
/*好处是省略了一个新的空间 
  不好在于
   第一个:相对来讲不是很容易理解 
   第二个:可能会在+产生值越界
    
//方式三
a=a ^ b; 1^2====> 001
                  010
                  011====>3^2 ====>
                  010
                  001===>1
        1^2^2==>1 一个数字异或同一个数字两次 值不会改变
        a==异或的中间值3 b==2
b=a ^ b;a==异或的中间值3 b==1;
a=a ^ b;3^1  a==2 b==1
                  
                  








公開された30元の記事 ウォンの賞賛0 ビュー6659

おすすめ

転載: blog.csdn.net/qq_37710756/article/details/103250892