最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java數(shù)據(jù)類(lèi)型和變量

2023-07-03 08:01 作者:曉楓Motivation  | 我要投稿

每個(gè)軟件工程師每天的生活都是關(guān)于如何操作數(shù)據(jù)、如何從用戶(hù)那里獲取數(shù)據(jù)、數(shù)據(jù)的格式以及如何存儲(chǔ)和管理這些數(shù)據(jù)。

Java 是一種流行的編程語(yǔ)言,以其強(qiáng)類(lèi)型系統(tǒng)而聞名,這意味著每個(gè)變量都必須有一個(gè)聲明的類(lèi)型。Java提供了多種數(shù)據(jù)類(lèi)型來(lái)適應(yīng)各種數(shù)據(jù)和操作。

在本文中,我將帶您了解 Java 的數(shù)據(jù)類(lèi)型并解釋它們的工作原理。

Java 中有兩種數(shù)據(jù)類(lèi)型——原始數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型。讓我們深入了解每一個(gè)。

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


原始數(shù)據(jù)類(lèi)型和參考數(shù)據(jù)類(lèi)型之間的差異

在 Java 中,引用數(shù)據(jù)類(lèi)型和原始數(shù)據(jù)類(lèi)型之間存在重要區(qū)別。

原始數(shù)據(jù)類(lèi)型將實(shí)際值直接存儲(chǔ)在內(nèi)存中,而引用數(shù)據(jù)類(lèi)型存儲(chǔ)指向存儲(chǔ)對(duì)象位置的引用或內(nèi)存地址。

如果未顯式初始化,原始數(shù)據(jù)類(lèi)型具有默認(rèn)值,而引用數(shù)據(jù)類(lèi)型默認(rèn)為null.

原始數(shù)據(jù)類(lèi)型具有由語(yǔ)言定義的固定大小,而引用數(shù)據(jù)類(lèi)型具有固定大小,無(wú)論它們引用的對(duì)象如何。

對(duì)原始數(shù)據(jù)類(lèi)型的操作可以直接進(jìn)行,而對(duì)引用數(shù)據(jù)類(lèi)型的操作只能通過(guò)對(duì)象提供的方法進(jìn)行。

原始數(shù)據(jù)類(lèi)型有相應(yīng)的包裝類(lèi),而引用數(shù)據(jù)類(lèi)型則沒(méi)有。

當(dāng)傳遞基本數(shù)據(jù)類(lèi)型作為方法參數(shù)時(shí),會(huì)傳遞值的副本,而傳遞引用數(shù)據(jù)類(lèi)型時(shí)會(huì)按值傳遞引用。

這些差異顯示了引用數(shù)據(jù)類(lèi)型和原始數(shù)據(jù)類(lèi)型之間的存儲(chǔ)、默認(rèn)值、大小、操作和按值傳遞語(yǔ)義在 Java 中的重要性。

Java 中的原始數(shù)據(jù)類(lèi)型

Java 有八種基本數(shù)據(jù)類(lèi)型,它們是存儲(chǔ)數(shù)據(jù)的最基本的構(gòu)建塊。這些類(lèi)型充當(dāng) Java 中數(shù)據(jù)操作的構(gòu)建塊。

原始數(shù)據(jù)類(lèi)型僅用于一個(gè)目的——包含某種純粹、簡(jiǎn)單的值。它們是 Java 中的保留關(guān)鍵字。因?yàn)樗鼈兪顷P(guān)鍵字,所以不能用作變量名。它們包括以下內(nèi)容:

byte

想象一下您有一個(gè)可以容納數(shù)字的小盒子。這個(gè)盒子可以容納從-128到127的數(shù)字。它就像一個(gè)玩具盒,只能容納特定范圍的玩具,從-128到127。你可以在盒子里放入這個(gè)范圍內(nèi)的任何數(shù)字。

數(shù)據(jù)byte類(lèi)型是一個(gè) 8 位有符號(hào)整數(shù),可以保存從 -128 到 127 的值。當(dāng)需要考慮內(nèi)存空間時(shí)通常使用它。讓我們創(chuàng)建一個(gè)類(lèi)型的變量byte:

?byte myByte = 100;
?System.out.println("byte: " + myByte);
?Output
?byte: 100

short

現(xiàn)在,想象你有一個(gè)更大的盒子。該框可以保存short16 位有符號(hào)整數(shù)的數(shù)據(jù)類(lèi)型,可以保存從 -32,768 到 32,767 的值。它對(duì)于存儲(chǔ)比數(shù)據(jù)類(lèi)型更大的整數(shù)值非常有用byte。

?short myShort = 30000;
?System.out.println("short: " + myShort);
?Output:
?short: 30000

int

現(xiàn)在,讓我們考慮一個(gè)更大的存儲(chǔ)容器。Box 是一種int數(shù)據(jù)類(lèi)型,是 32 位有符號(hào)整數(shù),可以容納從 -2,147,483,648 到 2,147,483,647 的數(shù)字。它就像一個(gè)大寶箱,可以容納各種各樣的數(shù)字,包括正數(shù)和負(fù)數(shù)。它是 Java 中最常用的表示整數(shù)的數(shù)據(jù)類(lèi)型。

?int myInt = 2000000000;
?System.out.println("int: " + myInt);
?Output::
?int: 2000000000

long

好吧,現(xiàn)在我們有一個(gè)巨大的儲(chǔ)藏室了。該房間可容納的號(hào)碼范圍為 -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807。這就像擁有一個(gè)可以存儲(chǔ)大量數(shù)字的大型倉(cāng)庫(kù)。當(dāng)需要更大范圍的整數(shù)值時(shí)使用它。

?long myLong = 9,223,372,036,854,775,807;
?System.out.println("long: " + myLong);
?Output::
?long: 9,223,372,036,854,775,807

Float

想象一下您有一個(gè)可以容納十進(jìn)制數(shù)字的特殊盒子。該框可以保存中等精度的十進(jìn)制數(shù)。它就像一個(gè)可以以合理的精度盛水的容器。

數(shù)據(jù)float類(lèi)型是單精度32位浮點(diǎn)數(shù)。它對(duì)于表示具有中等精度的十進(jìn)制數(shù)很有用。

?float myFloat = 9,223,372,036,854,775,807;
?System.out.println("float: " + myFloat);
?Output::
?float: 9,223,372,036,854,775,807

Double

數(shù)據(jù)double類(lèi)型是雙精度64位浮點(diǎn)數(shù)。它提供比浮點(diǎn)更高的精度,通常用于涉及十進(jìn)制數(shù)的計(jì)算。

?double myDouble = 129.7;
?System.out.println("double: " + mydouble);
?Output::
?double: 129.7

布爾值

數(shù)據(jù)boolean類(lèi)型表示一個(gè)boolean值,可以是 true 或 false。它用于邏輯運(yùn)算和控制流。

?boolean isJavaFun = true;
?boolean isProgrammingFun = false;
?
?System.out.println(isJavaFun); ? ?
?System.out.println(isProgrammingFun);
?Output::
?true
?false

Char

該char數(shù)據(jù)類(lèi)型表示單個(gè) Unicode 字符,大小為 16 位。它可以存儲(chǔ) Unicode 字符集中的任何字符。

?char johnGrade = 'B';
?System.out.println(johnGrade);
?Output::
?B

Java 中的參考數(shù)據(jù)類(lèi)型

除了原始數(shù)據(jù)類(lèi)型之外,引用數(shù)據(jù)類(lèi)型還用于存儲(chǔ)指向內(nèi)存中存儲(chǔ)的對(duì)象的引用或內(nèi)存地址。

這些數(shù)據(jù)類(lèi)型實(shí)際上并不存儲(chǔ)數(shù)據(jù)本身,而是對(duì)存儲(chǔ)數(shù)據(jù)的內(nèi)存位置的引用。現(xiàn)在讓我們看一下幾種流行的參考數(shù)據(jù)類(lèi)型。

字符串

該類(lèi)String表示字符序列。它廣泛用于操作和存儲(chǔ)文本數(shù)據(jù)。

?String name = "John Doe";
?System.out.println("Name: " + name);
?Output::
?Name: John Doe

數(shù)組

Arrays用于存儲(chǔ)相同類(lèi)型元素的集合。它們提供了一種處理相關(guān)值組的便捷方法。

?int[] numbers = {1, 2, 3, 4, 5};
?System.out.println("Numbers: " + java.util.Arrays.toString(numbers));
?Output::
?Numbers: 12345

Class

數(shù)據(jù)類(lèi)型在Java中class表示a 。class它用于創(chuàng)建對(duì)象并定義它們的行為。

為了了解類(lèi)在 Java 中的工作原理,我們將創(chuàng)建一個(gè)類(lèi)示例并在主類(lèi)中實(shí)現(xiàn)該類(lèi)。

在下面的示例中,我們將創(chuàng)建一個(gè)Car類(lèi)來(lái)表示具有顏色和速度屬性的汽車(chē)。我們將有一個(gè)構(gòu)造函數(shù)來(lái)初始化顏色,并且速度默認(rèn)設(shè)置為 0。該課程還將包括加速汽車(chē)和制動(dòng)汽車(chē)的方法。

這是一個(gè)例子:

?public class ClassCarExample {
? ? ?// Instance variables or fields
? ? ?String color;
? ? ?int speed;
?
? //Method start that gets the car started
? ? ?public void start() {
? ? ? ? ?System.out.println("The car has started.");
? ? ?}
?
? ? ?//Method accelerate that increases the speed of the car by 10 km/h
? ? ? ?public void accelerate() {
? ? ? ? ?speed += 10;
? ? ? ? ?System.out.println("The car is accelerating. Current speed: " + ? speed + " km/h");
? ? ?}
?
? ? ?//Method brake that reduces the speed of the car by 5 each time the ? ?method is called
? ? ?
? ? ?public void brake() {
? ? ? ? ?speed -= 5;
? ? ? ? ?System.out.println("The car is braking. Current speed: " + ? ?speed + " km/h");
? ? ?}
?}

現(xiàn)在,我們將創(chuàng)建主要方法,我們將在其中運(yùn)行我們的類(lèi)并讓我們的汽車(chē)移動(dòng)、加速和制動(dòng)。

?public class Main {
? ? ?public static void main(String[] args) {
? ? ? ? ?// Create an instance of ClassCarExample
? ? ? ? ?ClassCarExample car = new ClassCarExample();
?
? ? ? ? ?// Start the car
? ? ? ? ?car.start();
? ? ? ? ?
?
? ? ? ? ?// Accelerate the car
? ? ? ? ?car.accelerate();
? ? ? ?
?
? ? ? ? ?// Brake the car
? ? ? ? ?car.brake();
? ? ? ? ?}
? ? ?}
?}
?Output:
?The car has started.
?The car is accelerating. Current speed: 10 km/h
?The car is braking. Current speed: 5 km/h

接口

該interface關(guān)鍵字用于聲明interface提供了 .Total 抽象(隱藏),這意味著 an 中的所有方法interface都使用空主體聲明,并且所有字段默認(rèn)為public、static和final。

在 an 中聲明的所有方法都interface必須由class實(shí)現(xiàn) 的a 來(lái)實(shí)現(xiàn)interface。

為了更好地理解接口的工作原理,我們將創(chuàng)建一個(gè)名為 的接口類(lèi)MyInterfaceClass,它聲明了三個(gè)方法:methodExampleOne() methodExampleTwo()、 和methodExampleThree():

?// The interface class
?interface MyInterfaceClass {
? ? ?void methodExampleOne();
? ? ?void methodExampleTwo();
? ? ?void methodExampleThree();
?}

現(xiàn)在我們需要一個(gè)實(shí)現(xiàn)接口類(lèi)的類(lèi)。我們將創(chuàng)建一個(gè)MyClass實(shí)現(xiàn)接口的類(lèi)MyInterfaceClass,并為上面創(chuàng)建的所有三個(gè)方法提供實(shí)現(xiàn)。

?// Implement the interface in a class
?class MyClass implements MyInterfaceClass {
? ? ?public void methodExampleOne() {
? ? ? ? ?System.out.println("Implementing methodExampleOne");
? ? ?}
?
? ? ?public void methodExampleTwo() {
? ? ? ? ?System.out.println("Implementing methodExampleTwo");
? ? ?}
?
? ? ?public void methodExampleThree() {
? ? ? ? ?System.out.println("Implementing methodExampleThree");
? ? ?}
?}

為了更好地理解這一點(diǎn),讓我們創(chuàng)建一個(gè) main 方法,在該方法中我們可以創(chuàng)建我們的對(duì)象,并在我們將創(chuàng)建和運(yùn)行 Java 程序的對(duì)象myClass上調(diào)用我們的方法。myObj

?// Main class to test the implementation
?public class Main {
? ? ?public static void main(String[] args) {
? ? ?
? ? ? ? ?//create myObj from MyClass
? ? ? ? ?MyClass myObj = new MyClass();
?
? ? ? ? ?// Call the implemented methods on the object we created.
? ? ? ? ?myObj.methodExampleOne();
? ? ? ? ?myObj.methodExampleTwo();
? ? ? ? ?myObj.methodExampleThree();
? ? ?}
?}

當(dāng)我們運(yùn)行該類(lèi)時(shí)Main,我們將看到以下輸出:

?Output:
?Implementing methodExampleOne
?Implementing methodExampleTwo
?Implementing methodExampleThree

枚舉

數(shù)據(jù)Enum類(lèi)型表示枚舉(列表)類(lèi)型。它用于定義一組固定的命名值,例如一周中的幾天或顏色。

?class EnumClassExample { ?
? //defining the enum inside the class ?
?public enum Weekdays {
? ? ?SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
? ?} ?
? //main method ?
?public static void main(String[] args) { ?
?
? //loop throught the enum ?
?
? for (Weekdays w : Weekdays.values()) ?
? ? ?System.out.println(w); ?
? }
?} ?
?Output::
?SUNDAY
?MONDAY
?TUESDAY
?WEDNESDAY
?THURSDAY
?FRIDAY
?SATURDAY

包起來(lái)

了解 Java 數(shù)據(jù)類(lèi)型對(duì)于有效地進(jìn)行 Java 編程至關(guān)重要。無(wú)論是用于基本值存儲(chǔ)的原始數(shù)據(jù)類(lèi)型還是用于復(fù)雜對(duì)象和行為的引用數(shù)據(jù)類(lèi)型,每種數(shù)據(jù)類(lèi)型都有特定的用途。

通過(guò)利用適當(dāng)?shù)臄?shù)據(jù)類(lèi)型,軟件工程師可以用 Java 編寫(xiě)更高效、可靠且可維護(hù)的代碼。

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


Java數(shù)據(jù)類(lèi)型和變量的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永春县| 彰武县| 如皋市| 阜康市| 泌阳县| 洪泽县| 长泰县| 咸阳市| 延津县| 池州市| 宜春市| 大余县| 泽库县| 平谷区| 仙桃市| 格尔木市| 申扎县| 阜新市| 邮箱| 红安县| 乌拉特前旗| 瑞安市| 永登县| 九龙城区| 瓦房店市| 井陉县| 黔西| 泾川县| 晋中市| 五原县| 台中县| 综艺| 大英县| 年辖:市辖区| 台湾省| 建德市| 闵行区| 平潭县| 株洲市| 赤水市| 武强县|