java 基本類型,數(shù)組,方法實(shí)例詳解
Java 基本類型共 8 種,分為整數(shù)(4 種)、浮點(diǎn)(2 種)、字符(char)、布爾(boolean)四大類;
一、整數(shù)類型(用于存儲(chǔ)整數(shù),共 4 種)
byte(字節(jié)型)
- 占用內(nèi)存:1 個(gè)字節(jié)(8 位)
- 取值范圍:-128 到 127
- 默認(rèn)值(僅成員變量有,局部變量無(wú)默認(rèn)值):0
- 對(duì)應(yīng)的包裝類:Byte
- 使用要點(diǎn):占用內(nèi)存最小,適合存儲(chǔ)小范圍整數(shù)(如文件讀取的字節(jié)數(shù)據(jù))
short(短整型)
- 占用內(nèi)存:2 個(gè)字節(jié)(16 位)
- 取值范圍:-32768 到 32767
- 默認(rèn)值:0
- 對(duì)應(yīng)的包裝類:Short
- 使用要點(diǎn):日常開發(fā)中較少使用,主要用于特定硬件接口的數(shù)據(jù)交互場(chǎng)景
int(整型)
- 占用內(nèi)存:4 個(gè)字節(jié)(32 位)
- 取值范圍:-2³¹ 到 2³¹-1(約 ±21 億)
- 默認(rèn)值:0
- 對(duì)應(yīng)的包裝類:Integer
- 使用要點(diǎn):Java 中最常用的整數(shù)類型,聲明普通整數(shù)時(shí)默認(rèn)就是 int 類型(如
100、25都是 int)
long(長(zhǎng)整型)
- 占用內(nèi)存:8 個(gè)字節(jié)(64 位)
- 取值范圍:-2?³ 到 2?³-1(遠(yuǎn)超 int 的范圍)
- 默認(rèn)值:0L(注意后綴 L)
- 對(duì)應(yīng)的包裝類:Long
- 使用要點(diǎn):存儲(chǔ)超大整數(shù)時(shí)使用,聲明時(shí)必須加后綴
L(大寫 L 推薦,避免和數(shù)字 1 混淆),比如1234567890123L
二、浮點(diǎn)類型(用于存儲(chǔ)小數(shù),共 2 種)
float(單精度浮點(diǎn)型)
- 占用內(nèi)存:4 個(gè)字節(jié)(32 位)
- 精度:約 6-7 位有效數(shù)字
- 默認(rèn)值:0.0f(注意后綴 f)
- 對(duì)應(yīng)的包裝類:Float
- 使用要點(diǎn):聲明時(shí)必須加后綴
f,精度較低,日常開發(fā)中較少使用,多用于內(nèi)存受限的嵌入式場(chǎng)景
double(雙精度浮點(diǎn)型)
- 占用內(nèi)存:8 個(gè)字節(jié)(64 位)
- 精度:約 15-16 位有效數(shù)字
- 默認(rèn)值:0.0d(后綴 d 可省略)
- 對(duì)應(yīng)的包裝類:Double
- 使用要點(diǎn):Java 中最常用的浮點(diǎn)類型,聲明小數(shù)時(shí)默認(rèn)就是 double 類型(如
3.14、0.5都是 double)
三、字符類型(char)
- 占用內(nèi)存:2 個(gè)字節(jié)(16 位)
//中文在UTF-8中占3字節(jié),GBK中占2字節(jié)。
四、布爾類型(boolean)
- 取值范圍:只有兩個(gè)值 ——
true(真)或false(假) - 默認(rèn)值:false
- 對(duì)應(yīng)的包裝類:Boolean
- 使用要點(diǎn):用于表示邏輯判斷結(jié)果,無(wú)法參與數(shù)值運(yùn)算
五.代碼運(yùn)行
下面的代碼可以直接運(yùn)行,直觀展示基本類型的默認(rèn)值、聲明方式和取值特點(diǎn):
public class BasicTypeProperties {
// 成員變量:有默認(rèn)值(無(wú)需初始化)
byte byteVar;
short shortVar;
int intVar;
long longVar;
float floatVar;
double doubleVar;
char charVar;
boolean booleanVar;
public static void main(String[] args) {
// 1. 打印成員變量的默認(rèn)值
BasicTypeProperties obj = new BasicTypeProperties();
System.out.println("=== 成員變量默認(rèn)值 ===");
System.out.println("byte: " + obj.byteVar); // 輸出 0
System.out.println("short: " + obj.shortVar); // 輸出 0
System.out.println("int: " + obj.intVar); // 輸出 0
System.out.println("long: " + obj.longVar); // 輸出 0
System.out.println("float: " + obj.floatVar); // 輸出 0.0
System.out.println("double: " + obj.doubleVar); // 輸出 0.0
System.out.println("char(ASCII碼): " + (int)obj.charVar); // 輸出 0
System.out.println("boolean: " + obj.booleanVar); // 輸出 false
// 2. 局部變量:必須手動(dòng)初始化才能使用
System.out.println("\n=== 局部變量聲明示例 ===");
int age = 25; // int(最常用)
long bigNum = 1234567890123L; // long需加L
float piFloat = 3.14f; // float需加f
double piDouble = 3.1415926535; // double無(wú)需加d
char ch = '中'; // char存儲(chǔ)中文
boolean isAdult = true; // boolean只有true/false
System.out.println("int(年齡): " + age);
System.out.println("long(大數(shù)): " + bigNum);
System.out.println("float(π): " + piFloat);
System.out.println("double(π): " + piDouble);
System.out.println("char(字符): " + ch);
System.out.println("boolean(是否成年): " + isAdult);
}
}六.類型轉(zhuǎn)換
隱式轉(zhuǎn)換
自動(dòng)進(jìn)行的小范圍到大范圍的轉(zhuǎn)換(如int轉(zhuǎn)double)。
顯式轉(zhuǎn)換
需手動(dòng)指定的強(qiáng)制轉(zhuǎn)換(可能丟失精度)。
七.數(shù)組
1.定義數(shù)組
public class ArrayProperties {
public static void main(String[] args) {
// 1. 數(shù)組聲明與初始化(兩種方式)
// 方式1:靜態(tài)初始化(指定元素,長(zhǎng)度由元素個(gè)數(shù)決定)
int[] intArr1 = {10, 20, 30};
// 方式2:動(dòng)態(tài)初始化(指定長(zhǎng)度,元素為默認(rèn)值)
int[] intArr2 = new int[4]; // 長(zhǎng)度4,元素默認(rèn)值都是0
boolean[] boolArr = new boolean[2]; // 長(zhǎng)度2,元素默認(rèn)值false
// 2. 核心屬性:length(獲取長(zhǎng)度)
System.out.println("intArr1長(zhǎng)度:" + intArr1.length); // 輸出 3
System.out.println("intArr2長(zhǎng)度:" + intArr2.length); // 輸出 4
// 3. 訪問(wèn)數(shù)組元素(通過(guò)索引)
System.out.println("intArr1[0]:" + intArr1[0]); // 輸出 10
System.out.println("intArr2[1]:" + intArr2[1]); // 輸出 0(默認(rèn)值)
System.out.println("boolArr[0]:" + boolArr[0]); // 輸出 false(默認(rèn)值)
// 4. 修改數(shù)組元素(索引賦值)
intArr2[2] = 99;
System.out.println("修改后intArr2[2]:" + intArr2[2]); // 輸出 99
// 5. 遍歷數(shù)組(利用length屬性)
System.out.println("\n遍歷intArr1:");
for (int i = 0; i < intArr1.length; i++) {
System.out.print(intArr1[i] + " "); // 輸出 10 20 30
}
// 注意:索引越界會(huì)報(bào)錯(cuò)(注釋掉,運(yùn)行可驗(yàn)證)
// System.out.println(intArr1[3]); // 拋出ArrayIndexOutOfBoundsException
}
}八.方法
- 方法組成:
public static(修飾符)、int/double/void(返回類型)、add/sayHello(方法名)、(int a, int b)(參數(shù)列表)、{}內(nèi)是方法體; - 重載:兩個(gè)
add方法名相同,參數(shù)類型(int/double)不同,符合重載規(guī)則; - 參數(shù)傳遞:基本類型傳值(修改不影響原變量),引用類型傳地址(修改影響原對(duì)象);
- 返回值:
void無(wú)返回值,有返回值需用return返回對(duì)應(yīng)類型數(shù)據(jù)
public class MethodDemo {
// 1. 無(wú)返回值、無(wú)參數(shù)方法
public static void sayHello() {
System.out.println("Hello!");
}
// 2. 有返回值、有參數(shù)方法(計(jì)算兩數(shù)之和)
public static int add(int a, int b) {
return a + b; // 返回int類型結(jié)果
}
// 3. 方法重載(同名、不同參數(shù)類型)
public static double add(double a, double b) {
return a + b;
}
// 4. 參數(shù)傳遞演示(基本類型傳值、引用類型傳地址)
public static void changeValue(int num, int[] arr) {
num = 100; // 基本類型:修改的是副本,原變量不變
arr[0] = 200; // 引用類型:修改的是數(shù)組本身,原數(shù)組會(huì)變
}
public static void main(String[] args) {
// 調(diào)用無(wú)返回值方法
sayHello();
// 調(diào)用有返回值方法(不同重載版本)
int sum1 = add(10, 20);
double sum2 = add(1.5, 2.5);
System.out.println("int求和:" + sum1); // 輸出30
System.out.println("double求和:" + sum2); // 輸出4.0
//接收返回值的核心語(yǔ)法:返回值類型 變量名 = 方法名(參數(shù));
//變量類型必須和方法返回值類型匹配;
//接收的本質(zhì)是 “用變量存方法的結(jié)果”,不接收則結(jié)果直接丟失,無(wú)法復(fù)用;
// 驗(yàn)證參數(shù)傳遞
int num = 10;
int[] arr = {10};
changeValue(num, arr);
System.out.println("基本類型原值:" + num); // 仍為10
System.out.println("引用類型修改后:" + arr[0]); // 變?yōu)?00
}
}到此這篇關(guān)于java 基本類型,數(shù)組,方法實(shí)例詳解的文章就介紹到這了,更多相關(guān)java基本類型數(shù)組方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java基本類型與byte數(shù)組之間相互轉(zhuǎn)換方法
- Java基本類型和包裝類型的區(qū)別
- Java基本類型包裝類概述與Integer類、Character類用法分析
- 全面了解java基本類型和封裝類型的區(qū)別及應(yīng)用
- Java基本類型與包裝類詳細(xì)解析
- Java實(shí)現(xiàn)將json數(shù)組轉(zhuǎn)換成對(duì)象列表的三種實(shí)現(xiàn)方法
- Java實(shí)現(xiàn)List與數(shù)組互相轉(zhuǎn)換的兩種方法
- java中判斷字符串?dāng)?shù)組是否包含特定字符串的三種方法實(shí)現(xiàn)與對(duì)比
- Java中String轉(zhuǎn)字符數(shù)組幾種常見(jiàn)的方法
相關(guān)文章
Spring之借助Redis設(shè)計(jì)一個(gè)簡(jiǎn)單訪問(wèn)計(jì)數(shù)器的示例
本篇文章主要介紹了Spring之借助Redis設(shè)計(jì)一個(gè)簡(jiǎn)單訪問(wèn)計(jì)數(shù)器的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Java中定時(shí)器java.util.Timer的簡(jiǎn)單模擬
在Java中,定時(shí)器(Timer)是一個(gè)工具類,用于安排任務(wù)在指定時(shí)間后執(zhí)行或以指定的時(shí)間間隔重復(fù)執(zhí)行,本文就來(lái)講講如何簡(jiǎn)單模擬實(shí)現(xiàn)定時(shí)器吧2023-07-07
IDEA創(chuàng)建MyBatis配置文件模板的方法步驟
這篇文章主要介紹了IDEA創(chuàng)建MyBatis配置文件模板的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SpringBoot封裝JDBC的實(shí)現(xiàn)步驟
本文主要介紹了SpringBoot封裝JDBC的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
springboot全局異常處理方式@ControllerAdvice和@ExceptionHandler
文章總結(jié)了個(gè)人在處理全局異常處理時(shí)的經(jīng)驗(yàn),包括使用`StatusEnum`來(lái)定義狀態(tài)碼,旨在為讀者提供參考,并鼓勵(lì)大家支持腳本之家2024-11-11

