この章で要約することはあまりありませんが、忘れがちな詳細に注意する必要があります。
第 3 章
目次:
3.1 より単純な print ステートメント
-
3.2 Java 演算子の使用
-
3.3 優先順位
3.4 代入
3.5 算術演算子
3.6 自動インクリメントとデクリメント
3.
3.8 論理演算子
-
3.9 直接定数
3.10 ビット演算子
3.11 シフト演算子
3.12 三項演算子if-else
-
3.13 文字列演算子 + および +=
3.14 演算子使用時のよくある間違い
3.15 型変換演算子
3.16 Java には sizeof がありません
3.17 演算子の概要
3.18まとめ
3.2 Java 演算子の使用
="、"=="、および "== "すべてのオブジェクトを操作する機能。
3.4 代入
オブジェクトが c=d を使用する場合、c と d の両方は、もともと d のみが指していたオブジェクトを指します。
t1 = t2 (エイリアス現象) の場合、t1 と t2 には同じ参照が含まれており、同じオブジェクトを指しているため、t1 を変更すると t2 も変更されます。
2 つのオブジェクトを互いに独立させたい場合は、 t1.level = t2.level; を実行できます。
3.6 自動インクリメントとデクリメント
a = 15,++a、--a: System.out.printf("~output:" + a++); //~ output:15a = 15,a++、a--: System.out.printf("~output:" + ++a); // ~ output:16
3.7 関係演算子
上記の 2 つの Integer オブジェクトは同じ内容を持ちますが、参照が異なり、== と != はオブジェクトの参照を比較します (基本型は値を直接比較し、引用なし)。オブジェクトの内容を比較する場合は、equals() メソッドを使用します。
注: equals() メソッドのデフォルトの動作は参照を比較することであるため、新しいクラスで equals() メソッドをオーバーライドする必要があります。そうしないと、必要な効果は発生しません。ほとんどの Java クラス ライブラリは、オブジェクトの内容を比較できるように、equals() メソッドをオーバーライドします。例は次のとおりです。
3.9 直接定数
16 進数: プレフィックス 0x、8 進数: プレフィックス 0、2 進数には直接定数の表現はありません。
指数の数え方: 1.39e-43fは1.39 * 10-43を意味します eは「10の累乗」を意味します。
3.10 ビット演算子
ビット演算子のオペランドは、TV セットトップ ボックスに埋め込まれる Java の元の設計であるため、この値は低くなります。 -レベルの操作は引き続き保持されます。ただし、演算子はほとんど使用されません。
& および |or ^XOR ~not、ブール型が単一ビット値として扱われる場合、論理 NOT との混乱を避けるために、非ビット単位 (~) を実行することはできません。ビット演算子は論理演算子に似ていますが、短絡効果はありません。
3.11 シフト演算子
オペランドはバイナリ「ビット」であり、整数型(ブール型ではない)の処理にのみ使用できます。
負の数値は、最初に 2 の補数に変換する必要があり、その後、演算は導入されません。
左シフト ( の上位ビットの n 0 は破棄され、最下位ビットは n 0 で埋められます)
11 の 2 進形式は 1011 1111 = 44 は整数 11*2 と同等ですn
右シフト (下位ビットの n 個の数値がシフトアウトされ、上位ビットに n 個のゼロが追加されます) bits)>>:
11 のバイナリ形式は 1011 で、11>>2 の後のバイナリ形式は 0010 なので、11>>2 = 2 は整数 11/2 と同等です。 n
符号なし右シフト演算子 >> )、得られる結果は正しくない可能性があります。これらは最初に int 型に変換され、次に右シフトされてから切り捨てられ、元の型に代入されます。例は次のとおりです。
アセンブリレベルでのビット演算の実行速度は非常に速いので、インタビュー中に次のような質問がされるかもしれません: Java で 2 の 8 を計算する最も効率的な方法は何ですか? 答え: 2
この
コードは直感的ではありません。
3.16 Java には sizeof がありません Java は sizeof() 演算子を必要としません。これは、すべてのデータ型がすべてのマシンで同じサイズを持ち、「移植」の問題を考慮する必要がないためです。 概要: 簡単すぎて頻繁に使用する知識ポイントはノートに載っていないので、すべて出てきたら本を読み直したほうが良いでしょう。 今日、とあるソフトでこんなクレームを見かけました それを見たとき、すぐに二つ目のことを思い出しましたJavaの章プログラミングのアイデア: 変数がクラスのメンバーとして使用される場合、Java は、基本型のメンバー変数が初期化されることを保証するために、そのデフォルト値が指定されることのみを保証します (初期値は初期化されない可能性があります)。必要に応じて、自分で初期化するのが最善です)。デフォルトの初期化メソッドは、特定のクラスではないフィールド変数には適用されないことに注意してください。初期化を忘れた場合、Java はコンパイル中にエラーを返します。 スタック: 汎用 RAM (ランダム アクセス レジスタ) に配置され、Java コンパイラーは、スタック ポインタ に格納されているすべてのデータのサイズ とライフ サイクルを認識している必要があります。 " は下に移動し、上に移動するとメモリが解放されます。これは速度の点でレジスタに次いで 2 番目であり、基本的なデータ型と参照が格納されます。 ローカル変数は実行時にスタックに割り当てられ、その量は大きく、ライフサイクルが短いため、仮想マシンが各ローカル変数を初期化すると大量のオーバーヘッドが発生しますが、変数はそうではありません。デフォルト値に初期化されているため、使用するのは危険です。
以上がJavaプログラミング思考まとめノートの第3章を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



