この記事では、Java の基本的な演算子とロジック制御について詳しく説明します (例を示します)。必要な方は参考にしてください。
演算子とロジック制御
演算子
Java の演算子は次のタイプに分類できます:
演算子
関係演算子
ビット演算子
論理演算子
代入演算子
三項演算子
演算子演算記号
演算子 | 説明 |
---|---|
追加 | |
- | 減算 |
乗算 | |
除算 | |
剰余 (モジュロ) | |
自動インクリメント | |
自動デクリメント |
- プレフィックス自動インクリメントおよび自動減算メソッド (a,--a): 最初に自動インクリメントまたは自動デクリメント演算を実行し、次に式演算を実行します。
- サフィックス自動インクリメントおよび自己減算メソッド (a,a--): 最初に式演算を実行し、次に自動インクリメントまたは自己減算演算を実行します。
- #関係演算子
!= | |
> | |
>= | |
##Bit Operator |
|
||
---|---|---|
\ |
||
または、対応するビットがすべて 0 の場合、結果は 0、それ以外の場合は 1 |
^ | |
#~ |
||
< ; |
||
#>> |
||
##>>> | ビット単位で右にシフトしますシフトパディングのゼロ演算子。左側のオペランドの値は、右側のオペランドで指定された桁数だけ右にシフトされ、シフトによって得られた空いた部分はゼロで埋められます。 ||
演算子 |
#説明 |
&& | 論理積。条件は、両方のオペランドが true の場合にのみ true になります | ||
---|---|---|---|
\ |
#論理和。 2 つのオペランドのいずれかが true の場合、条件は true |
||
説明 | |
|
---|---|---|
単純な代入演算子。右オペランドの値を左オペランドに代入します | ||
## |
と同等 |
>>= | 右シフト代入演算子、C > = 2 は C = C > 2# と同等です。
#&= | ビットごとの AND 代入演算子、C&=2 は C=C&2||
と同等です。 | ^= |
ビットごとの XOR 代入演算子、C ^ = 2 は C = C ^ 2 |
と同等です。 | \ |
= |
三目运算符三目运算符也被称为条件运算符,该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。表达式如下: variable x = (expression) ? value if true : value if false 逻辑控制程序逻辑主要分为三种逻辑结构:
顺序结构代码均是由上至下,由左至右顺序执行。 分支结构分支结构是一种判断结构,有两类语法支持:if、switch if 分支语句此类语句有多种定义形式
if(布尔表达式) { //如果布尔表达式为true将执行的语句 }
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
if(布尔表达式 1){ ////如果布尔表达式 1的值为true执行代码 if(布尔表达式 2){ ////如果布尔表达式 2的值为true执行代码 } } switch 语句if的判断支持布尔表达式,switch 语句不支持布尔表达式的判断。 语法格式如下: switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 } switch case 语句有如下规则:
switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。 循环结构Java中有三种主要的循环结构:
while循环while是最基本的循环,它的结构为: while( 布尔表达式 ) { //循环内容 } 只要布尔表达式为 true,循环就会一直执行下去。 do…while 循环对于 while 语句而言,如果不满足条件,则不能进入循环。 do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。 do { //代码语句 }while(布尔表达式); 注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。 for循环for循环执行的次数是在执行前就确定的。语法格式如下: for(初始化; 布尔表达式; 更新) { //代码语句 } 关于 for 循环有以下几点说明:
Java 增强 for 循环JDK1.5 引入了一种主要用于数组的增强型 for 循环。 for(声明语句 : 表达式) { //代码句子 } 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。 表达式:表达式是要访问的数组、集合,或者是返回值为数组的方法。 demo: public class Test { public static void main(String args[]){ int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ){ System.out.print( x ); System.out.print(","); } System.out.print("\n"); String [] names ={"James", "Larry", "Tom", "Lacy"}; for( String name : names ) { System.out.print( name ); System.out.print(","); } } } break/continue
在 for 循环中,continue 语句使程序立即跳转到更新语句。 while または do...while ループでは、プログラムはすぐにブール式の判定文にジャンプします。
|
以上がJava の基本演算子とロジック制御の詳細な紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

新しいテクノロジーは、両方の脅威をもたらし、Javaのプラットフォームの独立性を高めます。 1)Dockerなどのクラウドコンピューティングとコンテナ化テクノロジーは、Javaのプラットフォームの独立性を強化しますが、さまざまなクラウド環境に適応するために最適化する必要があります。 2)WebAssemblyは、Graalvmを介してJavaコードをコンパイルし、プラットフォームの独立性を拡張しますが、パフォーマンスのために他の言語と競合する必要があります。

JVMの実装が異なると、プラットフォームの独立性が得られますが、パフォーマンスはわずかに異なります。 1。OracleHotspotとOpenJDKJVMは、プラットフォームの独立性で同様に機能しますが、OpenJDKは追加の構成が必要になる場合があります。 2。IBMJ9JVMは、特定のオペレーティングシステムで最適化を実行します。 3. Graalvmは複数の言語をサポートし、追加の構成が必要です。 4。AzulzingJVMには、特定のプラットフォーム調整が必要です。

プラットフォームの独立性により、開発コストが削減され、複数のオペレーティングシステムで同じコードセットを実行することで開発時間を短縮します。具体的には、次のように表示されます。1。開発時間を短縮すると、1セットのコードのみが必要です。 2。メンテナンスコストを削減し、テストプロセスを統合します。 3.展開プロセスを簡素化するための迅速な反復とチームコラボレーション。

java'splatformentedencefacilitatesecodereusebyAllowingbyTeCodeCodeCodeCodeTorunonAnyPlatformm.1)DevelopersConcodeCodeOnceOnceOnconconsentEntentEntEntEntEntEntentPlatforms.2)維持化されたアスカデドは、NoeedReadedoesではありません

Javaアプリケーションのプラットフォーム固有の問題を解決するには、次の手順を実行できます。1。Javaのシステムクラスを使用して、システムプロパティを表示して実行中の環境を理解します。 2。ファイルクラスまたはjava.nio.fileパッケージを使用して、ファイルパスを処理します。 3。オペレーティングシステムの条件に応じてローカルライブラリをロードします。 4. VisualVMまたはJProfilerを使用して、クロスプラットフォームのパフォーマンスを最適化します。 5.テスト環境が、Dockerコンテナ化を通じて生産環境と一致していることを確認してください。 6. githubactionsを使用して、複数のプラットフォームで自動テストを実行します。これらの方法は、Javaアプリケーションでプラットフォーム固有の問題を効果的に解決するのに役立ちます。

クラスローダーは、統一されたクラスファイル形式、動的読み込み、親代表団モデル、プラットフォーム非依存バイトコードを通じて、さまざまなプラットフォーム上のJavaプログラムの一貫性と互換性を保証し、プラットフォームの独立性を実現します。

Javaコンパイラによって生成されたコードはプラットフォームに依存しませんが、最終的に実行されるコードはプラットフォーム固有です。 1。Javaソースコードは、プラットフォームに依存しないバイトコードにコンパイルされます。 2。JVMは、特定のプラットフォームのバイトコードをマシンコードに変換し、クロスプラットフォーム操作を保証しますが、パフォーマンスは異なる場合があります。

マルチスレッドは、プログラムの応答性とリソースの利用を改善し、複雑な同時タスクを処理できるため、最新のプログラミングで重要です。 JVMは、スレッドマッピング、スケジューリングメカニズム、同期ロックメカニズムを介して、異なるオペレーティングシステム上のマルチスレッドの一貫性と効率を保証します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









