Javaの学習04

レビュー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-しばらくの間、

リリース5元の記事 ウォンの賞賛0 ビュー33

おすすめ

転載: blog.csdn.net/weixin_44722917/article/details/105208015