Thinking in java Javaプログラミング思想オペレータオペランド副作用優先度

2877 ワード

オペレータ、オペランド、副作用:オペレータがオペランドに作用して新しい値を生成し、オペレータがオペランド自体の値を変更した場合、副作用と呼ばれます.
        優先順位()カッコですべてを解決
        割り当てオペレータ:=    このシンボルはドメインスタックstackに作用し、
1,基本データ型,すなわち値伝達,2つのメモリ領域,2つの値を格納する
2,参照データ型,別名現象伝達参照,2つのパラメータは1つの参照を格納し,同じheap領域を指す.メソッドパラメータがオブジェクトであれば、リファレンスも渡されます.        
        演算子:+、-、*、/、% 型抜き
@Testpublic
void txfloat() {
//TODO自動生成方法ルートint a=9;int b=7;
    DecimalFormat df=new DecimalFormat("0.00");
    System.out.println(df.format((float)a/b));
    System.out.println(df.format(a/(float)b));
    System.out.println(df.format((float)a/(float)b));
    System.out.println(df.format((float)(a/b)));
}
結果1.29,1.29,1.29,1.00.
算数演算は、自動的に2つの数の最高精度に向上し、floatを計算して強制変換した後、精度が向上し、演算時に2つのfloatが計算されます.最後に、演算結果をfloatに強制的に変換し、1-1.00
また,整数除算では9/5=1に注意し,四捨五入ではなく小数部を自動的に取り除く.直接取り除くのです
    算術演算子+代入演算子 +=,-=,*=,/=,%=,,演算をしてから値をつける.私はこれまでこのように書いたことがなくて、高いレベルを体現することができなくて、时にはとても乱れて、中断点も面倒で、コードの高いレベルはフォーマットにあって、思想にあります.また、x=a*-b、jdkは認識でき、人はコードを読むのに慣れていないので、カッコx=a*(-b)
    自増、自減:++、--.i-,--i,i++,++i..記号は前からiを減算し、iを前に、他を演算し、iを減算する
        関係演算子:==,!=,,,<=,>=,,ブール値boolenを返します
    ==,equals:==stackが等しいか否かを判断するので,基本データ型は数値だけを気にすればよい,参照データ型は,参照アドレスを比較するだけである.
    int a=1;
    int b=1;
    System.out.println(a=b); true,a,bの2つの値がstackに存在するため,直接比較する.


    Integer a =new Integer ();
    Integer b =new Integer ();
    System.out.println(a=b);    falseは、a,bの2つの値がheapに存在するため、a,bの2つの参照はアドレスが2つのheapを指すだけである.
    equalsはObjectのメソッドで、すべてのクラスがObjectを継承します.eqaulsの実現のデフォルトは==で、所里の2人は同じで、違いは、equalsは方法で、書き直すことができて、同じくありました
String s1 = new String("Hello");
String s2 = new String("Hello");
 
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
false
true;
自分で書いたクラスであれば、身長、体重、名前、身分証明書番号、年齢、学歴など、equalメソッドを書き換える必要はありません.しかし、二人がどのように一人だと判断するかは、equalsメソッドを書き直し、名前と身分証明書番号が等しいと判断すればよい.
        論理演算子、ビット演算子:または(trueがtrueを得て、1が1を得る)、および(falseがfalseを得て、0が0を得る)、非、異または(同じfalse、異なるtrue、同じ0、異なる1)
ビット単位演算子:オペランドオペランド 整数基本データ型に対応するビット(bit)
                    操作  ブール代数演算
&,&&;|,||,ショート、参照:https://blog.csdn.net/Agly_Clarlie/article/details/50521888
^異種または適用、2つの数の交換:参照:https://blog.csdn.net/lambyuyu/article/details/5543289       個人的にはお勧めしませんが、コードを迅速に理解できない学生もいます.
シフトオペレータ:2+1 <<    >>    >>>:操作対象、バイナリのビット:byte short int charはすべてint処理をして、結果もintで、longはlong処理をして、結果もlongです
                    <
                    >>右シフトオペレータ:右側オーバーフロービットコミュニティ、右側補完記号は、整数補完0、負数補完1(右シフト前、最上位は何であれ補完)
                    >>>符号なし右シフト:補足0,,,(c言語にはこれがない)
唯一の三元演算子:Boolean-exp?value0:value1