国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Java JavaErste Schritte Der Unterschied zwischen C-Syntax und Java-Syntax

Der Unterschied zwischen C-Syntax und Java-Syntax

Nov 19, 2019 am 11:27 AM
java

Der Unterschied zwischen C-Syntax und Java-Syntax

Der Unterschied zwischen C-Syntax und Java-Syntax:

1 Bezeichner: ( empfohlen) Studium: Java-Kurs)

Die in C verfügbaren Bezeichner sind Zahlen, Gro?- und Kleinbuchstaben sowie Unterstriche und k?nnen nicht mit Zahlen beginnen

Die verfügbaren Bezeichner In Java gibt es au?er C zus?tzlich zu den drei Typen noch ein Dollarzeichen ($), das ebenfalls nicht mit einer Zahl beginnen kann.

2. Schlüsselw?rter:

Schlüsselw?rter in C sind:

auto   break    case    char   const
continue   default    do    double   else
enum   extern    float    for   goto
if   int    long    register   return
short   signed    sizeof    static   struct
switch   typedef    union    unsigned   void
volatile   while

Schlüsselw?rter in Java Die Zeichen sind:

abstract   boolean    break    byte   case
catch   char    class    continue   default
do   double    else    extends   false
final   finally    float    for   if
implements    import   instanceof    int    interface
long   native    new    null   package
private   protected    public    return   short
this   throw    throws    transient   true
try   static    super    switch   synchronized
void   volatile    while

3. Datentypen:

Die Datentypen in C sind:

1 ) Grundtypen : Integer-Typ (einfacher Integer-Typ, kurzer Integer-Typ short [int] und langer Integer-Typ long [int] sowie vorzeichenbehafteter Typ [signed], vorzeichenloser Typ unsigned), Zeichentyp [signed/unsigned] char, Gleitkommatyp (Einzelpr?zisions-Float, Doppelpr?zisions-Double und Long Double), Aufz?hlungstyp

2) Konstruktionstyp: Array-Typ, Strukturtyp, Union-Typ

3) Zeigertyp

4) Nulltyp

注意下各類型一般所占字節(jié)數(shù):

int: 2 Bytes

short: 2 Bytes

long: 4 Bytes

char: 1 Byte

float: 4 Bytes

double: 8 Bytes

long double: 16 Bytes

Mit Ausnahme des Char-Typs unterscheiden sich die oben genannten Speichertypen je nach System geringfügig. Die Anzahl der Ziffern mit niedriger Genauigkeit darf jedoch die Anzahl mit hoher Genauigkeit nicht überschreiten.

Datentypen in Java:

1) Grundtypen: Zeichentyp (char), numerischer Typ (Ganzzahltyp (Bytetyp) Byte , kurzer Integer-Typ, Integer-Typ int, langer Integer-Typ long), Gleitkommatyp (Float mit einfacher Genauigkeit, Typ mit doppelter Genauigkeit double)), Boolescher Typ (boolean (wahr oder falsch))

2 ) Zusammengesetzte Typen: Klassen, Schnittstellen, Arrays

Beachten Sie die Anzahl der von jedem Speichertyp belegten Bytes:

Byte: 1 Byte

short: 2 Bytes

int: 4 Bytes

long: 8 Bytes

char: 2 Bytes (Unicode-Kodierung)

float: 4 Bytes

double: 8 Bytes

Der den oben genannten Datentypen entsprechende Speicherplatz hat nichts mit der Plattform zu tun und ist auf diesen Wert festgelegt.

4. Konstanten und Variablen

1) Konstanten

Die Definition von Ganzzahlkonstanten in Java und C ist dieselbe , au?er long Au?er ganzzahligen Daten mit l oder L am Ende zeigen andere Typen numerische Werte direkt an. Vorzeichenlosen Konstanten in C wird ein u oder U vorangestellt. Für verschiedene Basen zeigt die Dezimalzahl direkt an, dass das h?chste Bit nicht 0 enthalten darf, die Oktalzahl beginnt mit 0 und die Hexadezimalzahl beginnt mit 0x oder 0X.

Für Gleitkommatypen k?nnen sowohl C als auch Java nur die Dezimaldarstellung verwenden. Dezimalform und Exponentialform k?nnen verwendet werden. Wenn die Exponentialform ausgedrückt wird, werden Dezimalzahl und Exponent durch e oder E getrennt. Beachten Sie, dass Java zur Unterscheidung f oder F nach einfacher Genauigkeit und d oder D nach doppelter Genauigkeit ben?tigt.

Zeichenkonstanten werden durch ein einzelnes Zeichen oder eine in einfache Anführungszeichen eingeschlossene Escape-Zeichenfolge dargestellt. Beachten Sie insbesondere, dass der Zeichentyp in C nur Zeichen mit ASCII-Codes von 0 bis 255 darstellen kann. Java verwendet 2-Byte-Speichereinheiten mit Unicode-Kodierung, um Sonderzeichen darzustellen. Bei der Darstellung der Unicode-Kodierung werden u plus 4-stellige hexadezimale Zeichenfolgen verwendet.

Der Typ Boolean ist nur in Java verfügbar, daher ist besondere Aufmerksamkeit erforderlich.

Konstanten in Java werden mit dem Schlüsselwort final ge?ndert, das nach der Zuweisung nicht mehr ge?ndert werden kann; in C ist das Schlüsselwort, das nicht ge?ndert werden kann, const und die Variable, die es ?ndert (beachten Sie, dass es sich um eine Variable handelt). , keine Konstante) muss bei der Definition definiert werden. Weisen Sie einen Anfangswert zu, und mit #define definierte Makrokonstanten haben keinen Typ.

2) Variablen

Die Definitionen von Variablen in Java und C sind grunds?tzlich gleich, das hei?t:

數(shù)據(jù)類型變量名[ = 變量初值];

Variablen kann ein Anfangsbuchstabe zugewiesen werden Wert oder nicht, aber in Java müssen auf lange Ganzzahlen und Gleitkommazahlen entsprechende Identifikationszeichen (z. B. l, f) folgen.

Besonderer Hinweis: Aufgrund von Unterschieden bei den Compilern müssen C-Deklarationsvariablen vor ausführbaren Anweisungen platziert werden, da sonst Kompilierungsfehler auftreten k?nnen.

Logische Operatoren und bitweise Operatoren

Logische Operatoren &&, ||, ! Es gibt drei Typen, die dieselbe Bedeutung haben. Der Unterschied besteht darin, dass das Operationsergebnis in C 0 und nicht 0 ist, w?hrend es in Java nur wahr oder falsch sein kann. Es gibt auch &, |, ^ (XOR) in Java. Der Unterschied zwischen & und &&, | und || besteht darin, dass es sich bei ersterem um einen Verknüpfungsoperator handelt, d und nach &, und wenn vor && falsch, wird kein Urteil gef?llt. Wenn || vorher und nachher wahr ist, wird kein Urteil gef?llt. ^ bedeutet, dass beide gleich und falsch sind.

Die in C und Java verfügbaren bitweisen Operatoren sind: &, |, ^, ~ (Inversion), << (Linksverschiebung), >> (Rechtsverschiebung), ihre Bedeutungen sind grunds?tzlich gleich . Die Rechtsverschiebung negativer Zahlen in C variiert je nach System (es kann eine arithmetische Rechtsverschiebung oder eine logische Rechtsverschiebung sein), w?hrend >> in Java eine arithmetische Rechtsverschiebung darstellt, d. h. das h?chste Bit mit dem Vorzeichenbit gefüllt. Der logische Rechtsverschiebungsoperator (vorzeichenlose Rechtsverschiebung) in Java ist >>>, der eine komplement?re Rechtsverschiebung verwendet und 0 zum High-Bit hinzufügt.

PS:有心的讀者可能會(huì)發(fā)現(xiàn),如果你定義了一個(gè)byte或者short類型的負(fù)數(shù),如-10,采用>>>方法進(jìn)行無(wú)符號(hào)右移后輸出的結(jié)果是-5,按照上面說(shuō)的高位添0應(yīng)該是正數(shù)。而int或long類型的就不會(huì)是負(fù)數(shù),這是為什么呢?

我認(rèn)為這是因?yàn)镴ava在進(jìn)行>>>運(yùn)算時(shí)采用的最低數(shù)據(jù)類型是int類型,導(dǎo)致高位數(shù)據(jù)全為1(計(jì)算機(jī)內(nèi)存儲(chǔ)的數(shù)據(jù)是以補(bǔ)碼存儲(chǔ)的,所以負(fù)數(shù)的byte或short類型轉(zhuǎn)成int類型高位全填充1),移位時(shí)高位的最后一個(gè)1移到低位的第一位,然后截取成我們定義的數(shù)據(jù)類型(byte或short),所以我們看到的數(shù)還是負(fù)數(shù)。從這里我們可以看出,在byte和short類型的數(shù)據(jù)做>>>運(yùn)算的時(shí)候可能得不到我們想要的值,千萬(wàn)注意。

6、數(shù)組

C中數(shù)組的定義如下:

類型說(shuō)明符數(shù)組名[常量表達(dá)式];

定義可與初始化同時(shí)進(jìn)行,如:int a[10] = {0,1,2,3,4,5,6,7,8,9};中括號(hào)內(nèi)的常量可以省略。

Java中數(shù)組定義有兩種方式:

數(shù)據(jù)類型 數(shù)組名[];或
數(shù)據(jù)類型 []數(shù)組名;

定義和初始化可同時(shí)進(jìn)行,如:int []a = {0,1,2,3,4,5,6,7,8,9};

注意Java中數(shù)組如果在定義時(shí)沒(méi)有進(jìn)行初始化,在進(jìn)行初始化的時(shí)候需要先分配內(nèi)存,即:

數(shù)組名 = new 數(shù)據(jù)類型[常量表達(dá)式];

也可在定義同時(shí)進(jìn)行內(nèi)存分配:

數(shù)據(jù)類型數(shù)組名[] = new 數(shù)據(jù)類型[常量表達(dá)式];

C和Java都不支持變長(zhǎng)數(shù)組,引用的時(shí)候都是 數(shù)組名[下標(biāo)]。區(qū)別是:Java的下標(biāo)范圍為0~數(shù)組長(zhǎng)度-1,不在該范圍會(huì)拋出數(shù)組下標(biāo)越界異常,而C有效范圍也是0~數(shù)組長(zhǎng)度-1,但下標(biāo)超出此界不會(huì)報(bào)錯(cuò)。

多維數(shù)組中,數(shù)組元素都是按行排列的。

還有一點(diǎn)要注意:C中定義數(shù)組不進(jìn)行初始化則數(shù)組元素值是不可預(yù)知的,而Java中分配內(nèi)存而不進(jìn)行初始化數(shù)組中是有默認(rèn)值的。

7、語(yǔ)句

C和Java語(yǔ)句區(qū)別不大,主要是:

1)方法/函數(shù)調(diào)用時(shí)C直接調(diào)用函數(shù),Java調(diào)用方法時(shí)方法名前面要加對(duì)象名。

2)C中兩個(gè)嵌套的復(fù)合語(yǔ)句同時(shí)定義同名變量是可以的,而Java不可以。

8、類、域、方法和全局變量、函數(shù)

1)類是C中沒(méi)有的,Java中類定義如下:

[修飾符] class 類名[extends 父類名][implements 接口名]
{
//類體
}

其中修飾符可以為以下一個(gè)或多個(gè)訪問(wèn)修飾符:

abstract:抽象類。

final:最終類。

public:公共類。

2)域(成員變量)和全局變量類比:

Java中域的定義如下:

[修飾符] 類型 成員變量名;

修飾符可選以下一個(gè)或多個(gè)關(guān)鍵字:

public:公共成員。

protected:本類或同一個(gè)包的其他類以及其它包該類的子類可訪問(wèn)。

private:私有成員。

final:常量,確定后不能改變。

static:靜態(tài)變量。

transient:臨時(shí)變量。

volatile:備份變量。

各類型成員變量默認(rèn)初始化為:

整型變量:0

浮點(diǎn)型變量:0.0

布爾型變量:false

字符型變量:空格

類變量:null

C中全局變量定義同一般變量:

[存儲(chǔ)類別] 數(shù)據(jù)類型 變量表列;

其中存儲(chǔ)類別可選:

auto:自動(dòng)變量,當(dāng)不申明存儲(chǔ)類別時(shí)隱式默認(rèn)該值。

static:靜態(tài)變量。

register:寄存器變量。

extern:外部變量。

3)方法和函數(shù)類比:

Java中方法的定義如下:

[修飾符] 返回類型 方法名([參數(shù)表列])
{
//方法體
}

修飾符可選以下一個(gè)或多個(gè):

public:公共方法。

protected:本類或同一個(gè)包的其他類以及其它包該類的子類可訪問(wèn)。

private:私有方法。

abstract:抽象方法,只有方法頭沒(méi)有方法體。

static:靜態(tài)方法。

C中函數(shù)的定義如下:

[存儲(chǔ)類別] [數(shù)據(jù)類型] 函數(shù)名([形參表列]) 
{
//函數(shù)體
}

存儲(chǔ)類別可選:

extern:外部函數(shù)。

static:靜態(tài)函數(shù)。

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen C-Syntax und Java-Syntax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Wie gehe ich mit Transaktionen in Java mit JDBC um? Wie gehe ich mit Transaktionen in Java mit JDBC um? Aug 02, 2025 pm 12:29 PM

Um JDBC -Transaktionen korrekt zu verarbeiten, müssen Sie zun?chst den automatischen Komiti -Modus ausschalten und dann mehrere Vorg?nge ausführen und schlie?lich entsprechend den Ergebnissen festlegen oder rollen. 1. Nennen Sie Conn.SetAutoCommit (False), um die Transaktion zu starten. 2. Führen Sie mehrere SQL -Operationen aus, z. B. einfügen und aktualisieren. 3. Rufen Sie Conn.Commit () an, wenn alle Vorg?nge erfolgreich sind, und rufen Sie Conn.Rollback () auf, wenn eine Ausnahme auftritt, um die Datenkonsistenz zu gew?hrleisten. Gleichzeitig sollten Try-with-Ressourcen verwendet werden, um Ressourcen zu verwalten, Ausnahmen ordnungsgem?? zu behandeln und Verbindungen zu schlie?en, um Verbindungsleckage zu vermeiden. Darüber hinaus wird empfohlen, Verbindungspools zu verwenden und Save -Punkte zu setzen, um teilweise Rollback zu erreichen und Transaktionen so kurz wie m?glich zu halten, um die Leistung zu verbessern.

Wie arbeite man mit Kalender in Java? Wie arbeite man mit Kalender in Java? Aug 02, 2025 am 02:38 AM

Verwenden Sie Klassen im Java.Time -Paket, um das alte Datum und die Kalenderklassen zu ersetzen. 2. Erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit durch LocalDate, LocalDatetime und Local Time; 3. Erstellen Sie ein bestimmtes Datum und eine bestimmte Uhrzeit mit der von () Methode; 4.. Verwenden Sie die Plus/Minus -Methode, um die Zeit nicht zu erh?hen und zu verkürzen. 5. Verwenden Sie ZonedDatetime und zoneId, um die Zeitzone zu verarbeiten. 6. Format und analysieren Sie Datumszeichenfolgen über DateTimeFormatter; 7. Verwenden Sie sofortige, um bei Bedarf mit den alten Datumstypen kompatibel zu sein. Die Verarbeitung der Datum in der modernen Java sollte der Verwendung von Java.Timeapi vorrangig machen, was klare, unver?nderliche und linear ist

Vergleich von Java Frameworks: Spring Boot vs Quarkus gegen Micronaut Vergleich von Java Frameworks: Spring Boot vs Quarkus gegen Micronaut Aug 04, 2025 pm 12:48 PM

Pre-Formancetartuptimemoryusage, QuarkusandmicronautleadduToCompile-Time-foringandgraalvSupport, WithQuarkusofttenperformLightBetterin serverloser Szenarien.2. Thyvelopecosystem,

Gehen Sie zum Beispiel für HTTP Middleware -Protokollierung Gehen Sie zum Beispiel für HTTP Middleware -Protokollierung Aug 03, 2025 am 11:35 AM

HTTP-Protokoll Middleware in Go kann Anforderungsmethoden, Pfade, Client-IP und zeitaufw?ndiges Aufzeichnen aufzeichnen. 1. Verwenden Sie http.Handlerfunc, um den Prozessor zu wickeln, 2. Nehmen Sie die Startzeit und die Endzeit vor und nach dem Aufrufen als n?chstes auf. Der vollst?ndige Beispielcode wurde überprüft, um auszuführen und eignet sich zum Starten eines kleinen und mittelgro?en Projekts. Zu den Erweiterungsvorschl?gen geh?ren das Erfassen von Statuscodes, die Unterstützung von JSON -Protokollen und die Nachverfolgung von ID -IDs.

Wie funktioniert die Müllsammlung in Java? Wie funktioniert die Müllsammlung in Java? Aug 02, 2025 pm 01:55 PM

Die Müllsammlung von Java (GC) ist ein Mechanismus, der automatisch den Speicher verwaltet, der das Risiko eines Speicherlecks verringert, indem unerreichbare Objekte zurückgeführt werden. 1.GC beurteilt die Zug?nglichkeit des Objekts aus dem Stammobjekt (z. B. Stapelvariablen, aktive Threads, statische Felder usw.) und nicht erreichbare Objekte als Müll markiert. 2. Basierend auf dem markierten Algorithmus markieren Sie alle erreichbaren Objekte und l?schen Sie nicht markierte Objekte. 3.. Verfolgen Sie eine Generationskollektionsstrategie: Die neue Generation (Eden, S0, S1) führt h?ufig MollGC aus; Die ?lteren Menschen erzielen weniger, dauert jedoch l?nger, um MajorGC durchzuführen. MetaPace speichert Klassenmetadaten. 4. JVM bietet eine Vielzahl von GC -Ger?ten: SerialGC ist für kleine Anwendungen geeignet; ParallelgC verbessert den Durchsatz; CMS reduziert sich

Verwenden von HTML `Input` -Typen für Benutzerdaten Verwenden von HTML `Input` -Typen für Benutzerdaten Aug 03, 2025 am 11:07 AM

Durch die Auswahl des richtigen HTMlinput -Typs kann die Datengenauigkeit verbessert, die Benutzererfahrung verbessert und die Benutzerfreundlichkeit verbessert werden. 1. W?hlen Sie die entsprechenden Eingabetypen gem?? dem Datentyp aus, z. B. Text, E -Mail, Tel, Nummer und Datum, die automatisch überprüft und an die Tastatur anpassen k?nnen. 2. Verwenden Sie HTML5, um neue Typen wie URL, Farbe, Reichweite und Suche hinzuzufügen, die eine intuitivere Interaktionsmethode bieten k?nnen. 3.. Verwenden Sie Platzhalter und erforderliche Attribute, um die Effizienz und Genauigkeit der Formulierung zu verbessern. Es sollte jedoch beachtet werden, dass der Platzhalter das Etikett nicht ersetzen kann.

Vergleich von Java -Build -Werkzeugen: Maven vs. Gradle Vergleich von Java -Build -Werkzeugen: Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

GradleStheBetterChoiceFormostnewProjectsDuetoitSuperiorFlexibilit?t, Leistung und ModerntoolingSupport.1.GRADLE'SGROOVY/KOTLINDSLISMORECONCISEANDEIPRESSIVETHANMANMANBOSEXML.2.GRAGRECONCISEANDEPRPRESSIVETHANMAVENSVOSEXML.2.

Gehen Sie mit einer Beispielverschiebung erkl?rt Gehen Sie mit einer Beispielverschiebung erkl?rt Aug 02, 2025 am 06:26 AM

Auf Defer wird verwendet, um bestimmte Vorg?nge auszuführen, bevor die Funktion zurückgibt, z. B. die Reinigungsressourcen. Die Parameter werden sofort bewertet, wenn sie aufgeschoben werden, und die Funktionen werden in der Reihenfolge von Last-In-First-Out (LIFO) ausgeführt. 1. Mehrere Defers werden in umgekehrter Reihenfolge der Erkl?rungen ausgeführt. 2. h?ufig für die sichere Reinigung wie das Schlie?en von Dateien verwendet; 3. Der benannte Rückgabewert kann ge?ndert werden; V. 5. Vermeiden Sie den Missbrauch von Verschiebungen in Schleifen, um Ressourcenleckage zu verhindern. Die korrekte Verwendung kann die Sicherheit und die Lesbarkeit der Code verbessern.

See all articles