検索

Javaの基礎知識まとめ

Jun 28, 2017 am 09:47 AM
javaベース要約する

Java を学び、自分の経験や概要を書き留めてください。

Java 識別子

識別子は、文字、アンダースコア (_)、ドル記号 ($)、および数字で構成されます。

識別子を数字で始めることはできません。

識別子を Java キーワードにすることはできません。

識別子では大文字と小文字が区別されます。

一般的な Java キーワード

注:

Java のキーワードはすべて小文字であり、TRUE、NULL などはキーワードではありません。

goto と const は Java で使用されますが、依然として Java のキーワードです。

java コメント

単一行コメント: //

//这是单行注释符

複数行コメント: /*……*/

/*这是多行注释符*/

ドキュメントコメント :/ * * &*/

りー

Java データ型

Java データ型には、単純データ型 (基本型) と複合データ型 (参照型) が含まれます

基本型: 言語が処理できる基本データを表します。特長:占有収納スペースは固定です。

整数型: byte、short、int、long

浮動小数点型: float、double

文字型: char

ブール型: boolean

参照型: 通常、複数で構成されます基本データ型または参照型の組み合わせ。

クラス:class

インターフェース:interface

array

[注意] Javaの文字列は実際にはStringクラスの定数であり、Javaのデータ型ではありません。

キーワード

使用する

ブール、バイト、char、double、float、int、long、 short、void

基本型

new、super、this、instanceof、null

オブジェクト作成、参照

if else、switch、ケース、デフォルト

selectステートメント

do、while、for

loopステートメント

break、 continue、return

コントロール転送

try、catch、finally、throw、throws、assert

例外処理

同期

スレッド同期

抽象、最終、プライベート、保護、 public、static

変更の説明

class、extends、interface、implements、import、package

class、inheritance、interface、package

ネイティブ、一時的、揮発性

その他のメソッド

tru​​e、false

ブール定数

キーワード

データ型

占有バイト数

デフォルト値

値の範囲

バイト

バイトタイプ

1

0

-2^7 ~ 2^7-1

短い

短い

2

0

-2^15-1

int

整形外科

4

0

-2^31~2^31-1

ロング

ロングタイプ

8

0

-2^63 ~ 2^63 -1

float

単精度浮動小数点

4

0.0F

1.4e^-45 ~ 1。 4e^-45-1

double

倍精度浮動小数点

8

0.0D

4.9e^-324 ~ 1.798e ^+308

チャー

文字型

2

0

0 ~ 65535

ブール型

ブール値

1

false

true、false

定数

ブール定数: true、false

整数定数: byte、short、int、longの 4 つのタイプがあります。表現形式には、10 進数、8 進数、16 進数、2 進数の 4 つがあります。

浮動小数点定数: float 型と double 型があります。小数点形式と指数形式の 2 種類があります。

文字定数: 一対の単一引用符で囲まれた単一の文字、またはバックスラッシュ () で始まるエスケープ文字。 「j」、「4」など。

よく使用されるエスケープ文字

... b

エスケープ文字

説明

'

一重引用符文字

''

二重引用符

\

バックスラッシュ

r

入力

水平タブ

Backspace

 

字符串常量:有双引号括起来的由0个或多个字符组成的字符序列。字符串可以包含转义字符。

 

变量的取值范围

/*** Create by libra*/public class VariablesDemo {/**变量的取值范围*/public static void main(String[] args) {
        System.out.println("数据的取值范围:");
        System.out.println("字节型: " + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);
        System.out.println("短整型: " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);
        System.out.println("整型型: " + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);
        System.out.println("长整型: " + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);
        System.out.println("单精度浮点型: " + Float.MIN_VALUE + " ~ " + Float.MAX_VALUE);
        System.out.println("双精度浮点型: " + Double.MIN_VALUE + " ~ " + Double.MAX_VALUE);

    }
}

 

 

输出结果:

强制转换

格式:变量 = (数据类型) 表达式

基本数据类型自动转换顺序:byteàshortàcharàintàlongàfloatàdouble.

【注意】布尔类型不能与其他类型转换。

运算符

运算符(双目单目)稍微提下,位运算符。

算数运算符:

算数运算符

双目运算符

单目运算符

+, -, *, /, %

++, --, -(负号)

演算子の優先順位: (==、--) > > 、 &&、 ||

よく使われる数学関数数学クラス

int abs(int i)double ceil(double d)double Floor(double d) int max(int i1, int i2)ミント分(int i1, int i2)double random()int Round(float f)longround(double d)ダブルスクエアット(ダブルa)double exp(double x)
メソッド

関数

整数の絶対値を求める

d以上の最小の整数を求める

d以下の最大の整数を見つけます

2つの整数の最大値を見つけます

2つの整数のうち最小の数を見つけます

0から1までの乱数

fに最も近い整数を見つける

dに最も近いlong整数を見つける

平方根を求めます

double d 自然対数

e の

乗を求めます

输入输出

标准输出流System.out提供三种输出:

print():输出后不换行

println():输出后换行

printf():类似于c语言中的printf()用法

 

标准输入流System.in提供read()等方法。写一个程序便于说明及理解。

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Input {public static void main(String[] args) throws IOException {
        System.out.println("==============字符==============");char ch = (char) System.in.read();
        System.out.println("读入的字符为:" + ch);      
        System.out.println("==============字符串==============");
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String s = in.readLine();
        System.out.println("读入的字符串为:" + s);    
        System.out.println("==============数字==============");
        String x = "123";int m = Integer.parseInt(x);
        String y = "123.123";float n = Float.parseFloat(y);
        System.out.println("x = " + x);
        System.out.println("y = " + y);
    }
}

输出结果:

还可以使用java.util.Scanner类输入:

import java.util.Scanner;public class Input {public static void main(String[] args) throws IOException {
        Scanner s = new Scanner(System.in);       
        System.out.println("请输入数据:");
        System.out.println("请输入数据:");short a = s.nextShort();    //输入短整数int b = s.nextInt();    //输入整数long c = s.nextLong();    //输入长整数float d = s.nextFloat();    //输入单精度浮点型double e = s.nextDouble();    //输入双精度浮点型String f = s.nextLine();    //输入字符串  System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
    }
}

输出结果:

在Scanner中还有很多输入。

 

流程控制语句和c/c++没有太大区别。

【注意】循环结构体中可以用break 标号名; 和continue 标号名; 来跳出循环。

数组

一维数组声明有两种格式:

1.数组元素类型 数组名[];

2.数组元素类型[] 数组名;

建议用第二种声明方式

【建议】二维数组及多维数组声明方式类似于一维数组,不过建议大家用第二种数组声明方式,[]也是数组声明的组成部分。

【注意】

1.java数组和c/c++数组不同,java数组理解为数组的数组,数组的每一维的大小不一定相同。

例如:

int[][] a = new int[2][];
a[0] = new int[3];
a[1] = new int[4];

 

上面这段代码声明了一个二维数组,但是第0维和第1维的大小不相同。

2.求一维数组a长度经常用到的方法是a.length。若是多维数组也可以这样用:a[i].length,a[i][j].length ……。

 

对象

对象的初始化和构造方法以及变量的作用域在一个例子中说明。

public class Scope {//成员变量的作用域是整个类体int x;int y;/*对象的初始化*/{
        x = 2;
        y = 1;
    }/*对象的构造方法*/public Scope {
        x = 2;
        y = 1;
    }//方法参数a的作用域是整个方法public void method(int a) {int x = 5;for (int i = 1; i 

【注意】构造方法的名称必须与类名相同;构造方法无返回类型;一个类可以提供多个构造方法,系统自动调用参数匹配的构造方法。

静态变量和静态方法

用static修饰的成员变量叫静态变量,也叫类变量。

访问:

在本类中直接访问。

通过类名访问。

通过类的一个对象访问。

【注意】静态变量的在存储上归属类空间,但是不依赖任何对象;(通过对象访问静态变量实质上还是访问类空间的变量)

【建议】在类外访问静态变量时通过类名访问以防混淆。

赋初值:即可以通过下面代码块赋初值,也可在定义时赋初值。

static {//code}

 

【注意】静态代码块只能访问静态变量;对象的创建不会执行static代码块。注意区分静态空间和对象空间。

class TalkPlace {static String talkArea = "";
}public class User {static int count = 0;
    String username;int age;    public User(String name, int yourage) {
        username = name;
        age = yourage;
    } void Login() {//直接访问同一类中的静变量count++;
        System.out.println("you are no " + count + " user");
    }void Speak(String words) {//访问其他类的类变量,通过类名访问类变量TalkPlace.talkArea = TalkPlace.talkArea + username + "说: " + words + "\n";
    }public static void main(String[] args) {
        User x1 = new User("张三", 20);
        x1.Login();
        x1.Speak("hello");       
        User x2 = new User("李四", 16);
        x2.Login();
        x2.Speak("good morning");
        x1.Speak("bye");
        System.out.println("-----讨论区内容如下:");
        System.out.println(TalkPlace.talkArea);
    }
}

用static修饰的方法叫静态方法,也叫类方法。

调用:

一般用类名做前缀调用。

通过对象调用

【注意】静态方法也不依赖任何对象;静态方法中只能处理静态变量和其他静态方法,绝不能访问任何归属对象空间的变量和方法。

public class FindPrime2 {public static boolean prime(int n) {for (int k = 2; k 

以上がJavaの基礎知識まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JVMがJavaコードと基礎となるオペレーティングシステムの間の仲介者としてどのように機能するかを説明します。JVMがJavaコードと基礎となるオペレーティングシステムの間の仲介者としてどのように機能するかを説明します。Apr 29, 2025 am 12:23 AM

JVMは、Javaコードをマシンコードに変換し、リソースを管理することで機能します。 1)クラスの読み込み:.classファイルをメモリにロードします。 2)ランタイムデータ領域:メモリ領域を管理します。 3)実行エンジン:実行バイトコードを解釈またはコンパイルします。 4)ローカルメソッドインターフェイス:JNIを介してオペレーティングシステムと対話します。

Javaのプラットフォーム独立におけるJava Virtual Machine(JVM)の役割を説明します。Javaのプラットフォーム独立におけるJava Virtual Machine(JVM)の役割を説明します。Apr 29, 2025 am 12:21 AM

JVMにより、Javaはプラットフォームを介して実行できます。 1)jvmは、bytecodeをロード、検証、実行します。 2)JVMの作業には、クラスの読み込み、バイトコード検証、解釈の実行、およびメモリ管理が含まれます。 3)JVMは、動的クラスの読み込みや反射などの高度な機能をサポートしています。

さまざまなオペレーティングシステムでJavaアプリケーションが正しく実行されるようにするために、どのような措置を講じますか?さまざまなオペレーティングシステムでJavaアプリケーションが正しく実行されるようにするために、どのような措置を講じますか?Apr 29, 2025 am 12:11 AM

Javaアプリケーションは、次の手順を通じて異なるオペレーティングシステムで実行できます。1)ファイルまたはパスクラスを使用してファイルパスを処理します。 2)System.getEnv()を介して環境変数を設定および取得します。 3)MavenまたはGradleを使用して、依存関係を管理し、テストします。 Javaのクロスプラットフォーム機能は、JVMの抽象化レイヤーに依存していますが、特定のオペレーティングシステム固有の機能の手動処理が必要です。

Javaがプラットフォーム固有の構成またはチューニングを必要とする領域はありますか?Javaがプラットフォーム固有の構成またはチューニングを必要とする領域はありますか?Apr 29, 2025 am 12:11 AM

Javaには、さまざまなプラットフォームでの特定の構成とチューニングが必要です。 1)-XMSや-XMXなどのJVMパラメーターを調整して、ヒープサイズを設定します。 2)ParallelGCやG1GCなどの適切なごみ収集戦略を選択します。 3)さまざまなプラットフォームに適応するようにネイティブライブラリを構成します。これらの測定により、Javaアプリケーションはさまざまな環境で最適に機能することができます。

Java開発におけるプラットフォーム固有の課題に対処するのに役立つツールやライブラリは何ですか?Java開発におけるプラットフォーム固有の課題に対処するのに役立つツールやライブラリは何ですか?Apr 29, 2025 am 12:01 AM

Osgi、apachecommonslang、jna、andjvmoptionsareeffectiveforformplatform-specificchallengesinjava.1)osgimanagesdependenciesandisolatescomponents.2)apachecommonslangprovidesutilityfunctions.3)jnaallowsnativecode.4)

JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?JVMは、さまざまなプラットフォームでガベージコレクションをどのように管理していますか?Apr 28, 2025 am 12:23 AM

jvmmanagesgarbagecollectionacrossplatformseftivivivivitybyusagenerationalaphadadadaptingtosandhardwaredefferences.itemployscollectorslikeserial、parallel、cms、andg1、各sutitedfordifferentscenarios

なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?なぜJavaコードは変更せずに異なるオペレーティングシステムで実行できるのですか?Apr 28, 2025 am 12:14 AM

Javaは、Javaの「Write and Averywherewhere」という哲学がJava Virtual Machine(JVM)によって実装されているため、変更なしで異なるオペレーティングシステムで実行できます。コンパイルされたJavaバイトコードとオペレーティングシステムの間の仲介者として、JVMはバイトコードを特定のマシン命令に変換し、JVMがインストールされた任意のプラットフォームでプログラムが独立して実行できることを確認します。

Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Javaプログラムをコンパイルして実行するプロセスを説明し、プラットフォームの独立性を強調します。Apr 28, 2025 am 12:08 AM

Javaプログラムの編集と実行は、BytecodeとJVMを通じ​​てプラットフォームの独立性を達成します。 1)Javaソースコードを書き、それをbytecodeにコンパイルします。 2)JVMを使用して、任意のプラットフォームでByteCodeを実行して、コードがプラットフォーム間で実行されるようにします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

mPDF

mPDF

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