レビュー03:
図1は、「&」と「&」の間の類似点と相違点
と同じ点を:&&&演算結果は右側に操作を行うことができ、どちらも、左シンボルが真である場合、同じです。
相違点:左の記号が偽で、&記号の操作権を続けます。&&もはや看板の操作権を実行していません。
2.プログラムの出力。
class OperatorTest {
public static void main(String[] args) {
boolean x = true;
boolean y = false;
short z = 40;
i评((z++ == 40) 8& (y = true)) {
Z++;
}
if ((x = false) II (++z = 43)) {
Z++;
}
System. out.println("z = "+ z);
}
}
結果:44
3.三項演算子を使用して、3つのint型と割り当てを定義した場合、または、他の3つの数字の大きい数を達成取得します。
int num1 = 10,num2 = 15, num3=-20;
int max;
if(num1>=num2 && num1>=num3){
max=num1;
}else if(num2>=num1 && num2>=num3){
max=num2;
}else{
max =num3;
}
System.out.println(max);
(((n1>n2)? n1 : n2)>n3)? ((n1>n2)? n1 : n2) : n3;
プログラムを書く4、2重の変数と代入を宣言。最初の数を決定することは、10.0より大きく、2番目の数字は20.0未満であり、印刷両者の数。2つの数のそれ以外の場合は、印刷製品
double d1=12.3;
double d2=32.1;
if (d1>10.0 && d2<20){
}else{
}
二つの変数の交換実装コード値
int a=10;
int b=20;
int c;
c=a;
a=b;
b=c;
算術演算子 +正-負+加算-減算*乗算/除算%モジュラス(余り)+(前)+(後) - (PRE) - (後)+
//除号:/
int num1 = 12;
int num2 = 5;
int result1 = num1/num2;
System.out.println(result1);
//(前)++ :先自增1,后运算
//(后)++ :先运算,后自增1
int a1 = 10;
int b1 = ++a1;
System.out.println("a1= "+ a1 + ", b1 = " + b1);
int a2 = 10;
int b2 = a2++;
System.out.println("a2= "+ a2 + ", b2 = " + b2);
//(前)-- :先自减1,后运算
//(后)-- :先运算,再自减1
int a4 = 10;
int b4 = a4--;
System.out.println("a4= "+ a4 + ", b4 = " + b4);
int a5 = 10;
int b5 =--a5;
System.out.println("a5= "+ a5 + ", b5 = " + b5);
特別な命令と、
1 .//(フロント)+:最初の増分、演算後
//(リア)+:最初の計算、1増加するので
.//(PRE)2 -まずデクリメント1計算後
//(リア) - :最初の計算、及びその後マイナス1から
3コネクター:「+」(文字列のみの間で使用される他のデータ型で使用することができます)
代入演算子 + = = - = = * / =%=
int i1 = 10;
int j1 = 10;
int i2,j2;
//连续赋值
i2 = j2 = 10;
int i3 = 10,j3 = 20;
int num1 = 10;
num1+= 2;//num1 = num1 + 2;
System.out.println(num1);
int num2=12;
num2 %= 5;//num2= num2%5
System.out.println(num2);
short s1 = 10;
//s1 = s1+2;//编译失败
s1+=2;//不会改变变量本身的数据类型;
System.out.println(s1);
:特別な命令
1の演算結果は、変数自体のデータ型に変化しない
?;(NUM = INT 10に設けられ)+2を達成するための変数を操作する所望の場合、//開発し、いくつかの方法があり
//方法:NUM NUM + 2 =
// 2番目の方法:NUM + = 2;(推奨)
//開発、あなたは変数の操作1を達成したい場合は、いくつかの方法(前提:NUMはint = 10;)がありますか?
//一つの方法は: 。+ 1 NUM = NUM
// 2番目の方法:= NUM + 1;
//三つの方法:NUM ++;(推奨)
比較演算子 ==!=> << => = INSTANCEOF
int i = 10;
int j = 20;
System.out.println(i==j);//false
System.out.println(i = j);//20
boolean b1 = true;
boolean b2 = false;
System.out.println(b1==b2);//false
System.out.println(b2=b1);//true
特別な指示:
1。結果はブール比較演算子で
のみ数値データ型との間に使用することができます。<>> = <= 2
3 = ==:。!だけ数値データ型の間で使用することができ、さらに参照変数の間の他のタイプに使用されてもよい
C ONT acct1 =新しい新しいアカウント(1000)の、
C ONT ACCT2 =新しい新しいアカウント(1000)の、
ブールB1 =(== acct1 ACCT2); //比較は同じアカウントのアカウント2である場合
のブールB2 =(acct1 = ACCT2!)。
論理演算子:&&& || |!^
//区分& 与&&
//相同点:&与&&的运算结果相同,当符号左边为true,二者都会执行右边的运算。
//不同点:当符号左边为false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
//开发中,推荐使用&&
boolean b1=true;
b1 = false;
int num1=10;
if(b1 & (num1++>0)){
System.out.println("北京");
}else{
System.out.println("南京");
}
System.out.println("num1 = " + num1);
boolean b2 = true;
b2 = false;
int num2 =10;
if(b2 && (num2++>0)){
System.out.println("北京");
}else{
System.out.println("南京");
}
System.out.println("num2 = " + num2);
//区分 | 与 ||
//相同点1: | 与|| 的运算结 果相同
//相同点2:当符号左边是false时,二者都会执行符号右边的运算
//不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
//开发中推荐使用||
boolean b3 = false;
b3 = true;
int num3 = 10;
if(b3 | (num3++>0)){
System.out.println("北京");
}else{
System.out.println("南京");
}
System.out.println("num3 = " + num3);
boolean b4 = false;
b4 =true;
int num4 = 10;
if(b4 || (num4++>0)){
System.out.println("北京");
}else{
System.out.println("南京");
}
System.out.println("num4 = " + num4);
boolean x=true;
boolean y=false;
short z=42;
//if(y == true)
if((z++==42)&&(y=true))
System.out.println("z="+z);
z++;
System.out.println("z="+z);
System.out.println("z="+z);
if((x=false) ||(++z==45))
z++;
System.out.println("z="+z);
!AB&A&B A && B ALB ALLB AA ^ B
真の真の真の真の真の真偽偽の
真偽偽偽に忠実に忠実にfalseにtrueに
falseにtrueにfalseに偽の真の真の真の真の
偽偽偽偽偽偽にtrueにfalseに
特別な指示:
オペレーティング1.論理演算子これは、boolean型の変数であり、結果はbooleanです
ビット演算子: << >> >>>&| ^〜
int i = 21;
System.out.println("i << 2 : " + (i << 2));//21*4
System.out.println("i << 3 : " + (i << 3));//21*8
System.out.println("i << 27 : " + (i << 27));
System.out.println("i << 26 : " + (i << 26));
System.out.println("i >> 2 : " + (i >> 2));
i = -21;
System.out.println("i >> 2 : " + (i >> 2));
System.out.println("i >>> 2 : " + (i >>>2));
int m = 12;
int n = 5;
System.out.println("m & n : " + (m & n));
System.out.println("m | n : " + (m | n));
System.out.println("m ^ n : " + (m ^ n));
[フェイスの質問]あなたは* 8 2の最も効率的な実装を書くことができますか?
回答:2 3または8 << 1 <<
1ビットは、データ演算子に操作整数である。
2. <<:特定2と同等の左にそれぞれの範囲は、*
>>:特定の範囲内で、/ 2に対応する右にそれぞれ、
一般的な被写体:
1.交換二つの変数は、
60を実装2進数への変換バイナリ
//方式一:自动实现
String str1 = Integer.toBinaryString(60);//二进制
String str2 = Integer.toHexString(60);//十六进制
//方式二: 手动实现
int i1 = 60;
int i2 = i1&50;
String j = (i2>9)?(char)(i2-10+'A')+"":i2+"";
int temp = i1>>>4
i2 = temp&15;
String k = (i2>9)?(char)(i2-10+'A')+"":i2+"";
System.out.println(k+""""+j);
三項演算子 :(条件式)?式1:式2
//二つの整数の大きい方の値を取得
1つの説明:
ブール式の結果①条件
②真または偽の発現を、式1を実行することを決定し、式2、または
if式式は、式1が実行され、真である
式2が実行され、式が偽である場合に
2③式1及び式が一致している
④三オペレータ入れ子にすることができる
2
三項演算子を使用することができ場所は、あれば、他のように書き換えることができ
ないその逆
3.手順は三項演算子を使用することができ、及びのif-else構造、三オペレータ選好を使用することができる場合。理由:シンプル、高効率、
シーケンス構造:プログラム実行トップダウン
分岐構造:のif-else -else SWITCH-かのケースの
サイクル構造:しばらくDO-しばらくの間、