プログラミングが好きなあなたのように!
SpringBoot実用的なコースは学習https://edu.csdn.net/course/detail/31433
SpringCloud入門コースを学びhttps://edu.csdn.net/course/detail/31451を
序文
これまで、誰もがJavaの変数とデータ型を習得していました。保存されたデータを操作する必要があります。Javaの演算子について学びましょう。
Java演算子
一般的な演算子は次のとおりです
割り当て演算子 | =、+ =、-=、* =、/ =、%= |
算術演算子 | +、-、*、/、%、++、– |
リレーショナル演算子 | >、<、> =、<=、==、!= |
論理演算子 | &&、|| 、!、&、| |
三元演算子 | 条件?値1:値2 |
割り当て演算子
等号演算子
機能:右側の値または式の値を
左側の変数に割り当て、右から左に操作します
int num = 1 + 2 + 3;
注:=の右側は値、変数、または式にすることができ、=の左側は変数でなければなりません
num1 + num2 = 1 + 2 + 3; 错误
複合代入演算子
含まれるもの:+ =、-=、* =、/ =、%=など。
関数は、割り当て前に操作を実行することです。
int num1 = 2;
num1 += 3;
作用等价于
num1 = num1 + 3;
利点:簡潔で高性能
num1 += 3; //只做一次运算
num1 = num1 + 3; //加法和赋值2次运算
一般的な面接の質問:次のコードの結果は何ですか?
short s1 = 1;
short s2 = 1;
s1 += 1; //正确,复合运算是一次运算,1是在short范围内,看做short数值处理
s2 = s2 + 1;//出错,先执行加法运算,表达式的值会转换为int,int不能直接赋值给short
注:複合代入演算には、数値オーバーフローの隠れた危険性があります。コンパイラーは、複合代入演算中に値の範囲をチェックしません。
算術演算子
基本的な算術演算
含まれるもの:+、-、*、/、%
注:
- %の役割は、余りを見つけることです。10%3 = 1
- 文字列+操作は接続することです
運動
以下表达式的运行结果是:
10 + 20 - 30 * 4 / 5 % 6 = ?
"123" + 4 = ?
1 + 3 - 5 * 2 + "100" = ?
インクリメント/デクリメント演算子
関数:変数自体の値に1を加算または減算します
int num = 10;
num++; //num加一为11
num--; //num减一为10
プレフィックスとサフィックス
num++; // 后缀
++num; // 前缀
注:++および–操作のみが実行される
場合、プレフィックスとサフィックスの間に違いはありません。他の操作が一緒に実行される場合:
- プレフィックス:最初に増減してから、他の操作を実行します
- サフィックス:最初に他の操作を実行してから、自動インクリメントまたは自動デクリメントを実行します
演習1:n1、n2、およびn3の値は何ですか?
int n1 = 10;
int n2= n1--; // 先赋值,后减一,n2 = 10 n1 = 9
int n3 = ++n2; //先加一,后赋值,n2 = 11 n3 = 11
演習2:この時点でres1、a、bの値を推測してください
int a = 3;
int b = 2;
int res1 = (a++)*(--b) ;
演習3:この時点でres1、a、bの値を推測してください
int a = 3;
int b = 2;
int res1 = (++a) + (b--) + (a++)+ (--b);
リレーショナル演算子
内容:>、<、> =、<=、==、!=
関数:関係の計算に使用されます。操作後に返される結果は、次の
ようなブール型です。
10 > 3 = true
6 <= 100 = false
==と=の違い
== 比较两个值是否相等
= 进行赋值
演習1:以下のb1、b2、およびb3の値は何ですか?
boolean b1 = 10 > 5;
boolean b2 = 12 == 3;
boolean b3 = b1 != b2;
論理演算子
内容:&&、||、!
関数:関係演算子と連携して論理判断を実現し、ブール式で演算する必要があります
論理的および
式1 &&式2 &&の
両側の式は同時に真である必要があり、最終結果は真であり、そうでない場合は偽です。
true && true = true
true && false = false
false && false = false
論理OR
式1 ||式2
|| 2つの式の1つだけが真である必要があり、結果は真です。どちらも真でない場合、結果は偽です。
true || true = true
true || false = true
false || false = false
論理否定
!式が
否定されました
!true = false
!false = true
優先: !> &&> ||
演習1:以下のb1、b2、およびb3の値は何ですか?
boolean b1 = 10 > 5 && 12 == 3;
boolean b2 = 12 == 3 || 4 > 3;
boolean b3 = b1 != !b2;
演習2:以下のフォームに記入してください
オペランド1 | オペランド2 | && | || | !オペランド1 |
true | true | |||
false | false | |||
true | false | |||
false | true |
演習3:
完了条件:変数の1桁は3で、6で割り切れる、または変数は100で割り切れる
int num = 1234;
boolean result = ?
ブレーク機能
&&および||操作中に、効率を向上させるために、コンパイラーは、前の式の結果に従って、後者の式が
&&を実行するかどうかを判別します。
表达式1 && 表达式2
表达式1为false,表达式2不会执行
||
表达式1 || 表达式2
表达式1为true,表达式2不会执行
&および|式の実行前と実行後の両方で、サーキットブレーカー機能はありません
演習1:a、b、c、dの最終結果は何ですか?
int a = 3;
int b = 4;
boolean c = (a > b) && (--b < a);
boolean d = (b > 0) || ( a++ > 0);
演習2:a、b、c、dの最終結果は何ですか?
int a = 3;
int b = 4;
boolean c = (a > b) & (--b < a);
boolean d = (b > 0) | ( a++ > 0);
三元演算子
3つの部分が含まれています:
数据类型 变量名 = 条件 ? 值1 : 值2;
機能:条件判定に使用できます。条件は真、戻り値は1、条件は偽、戻り値は2です。
演習1:三項演算子を使用してn1とn2の最大値を見つける方法。
int n1 = 10,n2 = 11;
int max = ?;
演習2:3つの数値の最大値を見つけますか?
int n1 = 10,n2 = 11,n3 =12;
int max = ?;
演算子の優先順位
高から低への優先順位:
- ()括弧
- ++、–、!単項演算子
- *、/、%乗算、除算、剰余算術演算子
- +、-足し算と引き算
- >、<、> =、<=、==、!=関係演算子
- &&論理演算子と
- ||または
- ?:三項演算子
- =、+ =、-=、* =、/ =、%=代入演算子
終わり
宿題を残して、学習状況を確認します
。1。res1、a、bの最終値を推測し、計算プロセスを説明してください。
int a = 3;
int b = 2;
int res1 = (a++)*(--b) + (--a)/(b++);
2.変数値が4桁の整数であると仮定して、変数の数十、数百、および数千桁を取り出して出力する方法。
3.うるう年を判断するためのルールは次のとおりです。年は400で割り切れる、または年は4で割り切れて100で割り切れないようにし、年変数を定義して、年がうるう年かどうかを出力します
。4。年齢変数を定義します。年齢が35歳を超える場合、名前変数。名前はLao Wangです。それ以外の場合、名前はXiao Wangであり、3値演算子によって実現されます。
5. 3桁の整数を入力して、その数が水仙の数であるかどうかを判断します(数は、3桁の立方体の合計に等しい)。数= 1桁の立方体+1桁の立方体+数百桁の立方体(場合)はい出力は水仙の数です。そうでない場合、出力はそうではありません。
他のJavaの知識を学ぶ必要がある場合は、ここでJavaの概要に関する非常に詳細な知識を調べてください。