首頁  >  文章  >  Java  >  Java資料型別:定義與使用

Java資料型別:定義與使用

王林
王林轉載
2023-04-25 22:34:161199瀏覽

標識符和關鍵字

標識符

讀音biao zhi fu

#什麼是標識符

套件、類別、變數、方法&hellip ;等等,只要是取名的地方,那個名字就是標識符

標識符的定義規則

#四個可以:可以是數字、字母、底線(_)、美元符號( $),我們一般取名盡量使用英文字母。

兩個不行:不可以以數字開頭,也不可以使用java中的關鍵字。

見名知意:讓讀者能透過名字就能明白是做什麼的,例如:冒泡排序(bubble_Sort),我們就能清楚的知道這個方法是冒泡排序。

駝峰命名:

  • 類別名稱:首字母大寫,其餘遵循駝峰命名

  • 方法名稱/變數名稱:首字母小寫,其餘遵守駝峰命名

  • #包名:全部小寫

長度限制:長度沒有限制,但不建議太長

關鍵字

  • 被Java語言賦予了特殊意義,用作專門用途的單字

  • 特點:Java中所有的關鍵字都會為小寫

官網:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

Java資料型別:定義與使用

Java資料型別:定義與使用

#常數與變數

常數

#常數分為兩種:

常數通常指的是固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

在Java語言中,主要利用關鍵字final來定義一個常數。常數一旦被初始化後不能再更改其值。

為了更好的區分和表述,一般將1、2、3、’a’、’b’、true、false、”helloWorld”等稱為字面常量,而使用final修飾的PI等稱為符號常數(字元常數)。

字面常數的型別:

整數常數: 123 23

實型常數:3.1415926

字元常數: ‘a’ ‘b’

邏輯常數: true false

字串常數:「helloworld」

注意:邏輯常數就兩個值,一個是true,一個是false

變數

變數本質上就是代表一個可操作的儲存空間,空間位置是確定的,但是裡面放置什麼值不確定。我們可透過變數名稱來存取對應的儲存空間”,從而操縱這個儲存空間儲存的值。

Java是一種強類型語言,每個變數都必須聲明其資料類型。變數的資料類型決定了變數佔據儲存空間的大小。 例如,int a=3; 表示a變數的空間大小為4個位元組。變數作為程式中最基本的儲存單元,其要素包括變數名,變數類型和作用域。變數在使用前必須對其宣告, 只有在變數宣告以後,才能為其指派對應長度的儲存空間。

變數的宣告格式

資料型別  變數名稱= 初始值, 變數名稱= 初始值…;

例如:

public class TestCode01{
        public static void main(String[] args){
            int a=3,b=4,c=5;
            //也可以先定义不赋值
            int a,b,c;                        
        }
}
變數的聲明
  • 如果你只定義一個變量,沒有給變數賦值的話,那麼其實這個變數相當於沒有定義;

  • 變數如果沒有進行賦值的話,那麼使用的時候會出錯,告訴你:尚未初始化變數;

public class TestCode01{
        public static void main(String[] args){
            int a;
            System.out.println(a);//会报错,未初始化变量a
        }
}

變數的賦值

int a=10;//直接定义并赋值
int b;//先定义在赋值
b=20;

變數不可以重複定義

Java資料型別:定義與使用

基本資料類型

整數型別

整數資料型別:

Java資料型別:定義與使用

以下以程式碼為例:

public class TestCode01{
        public static void main(String[] args){
                //定义整数类型的变量:
                //给变量赋值的时候,值可以为不同进制的:
                int num1 = 12 ;//默认情况下赋值就是十进制的情况
                System.out.println(num1);
                int num2 = 012;//前面加上0,这个值就是八进制的
                System.out.println(num2);
                int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
                System.out.println(num3);
                int num4 = 0b10;//前面加上0x或者0B,这个值就是二进制的
                System.out.println(num4);
                
                //定义byte类型的变量:
                byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
                System.out.println(b);
                //注意:超范围的赋值会报错。
                short s = 30000;
                System.out.println(s);
                int i = 1234;
                System.out.println(i);
                //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
                //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
                long num5 = 12345678910L;
                System.out.println(num5);
                //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
                long num6 = 12;
                System.out.println(num6);
                
        }
}

浮點數型別

浮點數類型常數

(1)十進位數形式,例如: 3.14 314.0 0.314

(2)科學記數法形式,例如:

//314e2      314E2 (E的大小写没有区分)    314E-2
double  f = 314e2;   //31410^2-->31400.0
double  f2 = 314e-2; //31410^(-2)-->3.14
浮點數類型變數

float類型又被稱為單精度類型,尾數可以精確到7位有效數字,在很多情況下,float類型的精度很難滿足需求。

而double表示這種類型的數值精度約為float類型的兩倍,又被稱為雙精度類型,絕大部分應用程式都採用double類型。

float類型的數值有一個後綴F或者f ,沒有後綴F/f的浮點數值預設為double類型。

也可以在浮點數值後面加上後綴D或d,以明確其為double型別。

Java資料型別:定義與使用

############################################################################################ ###PS:有效數字指的是從左開始第一個不為0的數到最後一個數###
public class TestCode02{
        public static void main(String[] args){
                //浮点类型的常量有两种形式:
                //十进制形式:
                double num1 = 3.14;
                System.out.println(num1);
                //科学计数法形式:
                double num2 = 314E-2;
                System.out.println(num2);
                
                //浮点类型的变量:
                //注意:浮点型默认是double类型的,要想将一个double类型的数赋给float类型,必须后面加上F或者f
                float f1 = 3.14234567898623F;
                System.out.println(f1);
                //注意:double类型后面可以加D或者d,但是一般我们都省略不写
                double d1 = 3.14234567898623D;
                System.out.println(d1);
                
                //注意:我们最好不要进行浮点类型的比较:
                float f2 = 0.3F;
                double d2 = 0.3;
                System.out.println(f2==d2);
                /*
                区别:
                = 赋值运算:  将等号右侧的值赋给等号左侧
                == 判断==左右两侧的值是否相等  :结果要么相等 要么不相等
                ==运算符的结果就是要么是true,要么是false
                */
                
        }
}

字符类型

字符型

Java的字符使用16位的Unicode编码表示,而计算机语言通常使用ASCII码,用8位表示一个字符。

字符型是用两个单引号括起来的一个字符,如’a’,’1’,’A’等。其中,’a’和’A’分别表示ASCII码中的字符a和A,而’1’表示字符型1,而不是整数的数值1。除了一般字符外,Java还定义了一些特殊字符,如图:

Java資料型別:定義與使用

字符型除了常数值的表示方式与整数型不同外,在其他方面几乎可以将它视为一般整数来处理。

字符串型

字符串是指括在两个双引号之间0个或多个字符组成的序列。若两个双引号之间没有任何字符,则为空串。下面是有关字符串的一些例子:

""
"hello world!"
"hello java"

Java语言把字符串当作String类型的一个对象来处理。

布尔类型

boolean类型有两个常量值,truefalse,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。

public class TestCode03{
        public static void main(String[] args){
                //创建一个布尔类型的变量:
                boolean flag1 = true;
                System.out.println(flag1);
                boolean flag2 = false;
                System.out.println(flag2);
                boolean flag3 = 5==9;
                System.out.println(flag3);
                boolean flag4 = 5<9;
                System.out.println(flag4);
        }
}

基本数据类型的转换

自动类型转换

即精度小的类型自动转换为精度大的数据类型

数据类型按精度大小排序为:

Java資料型別:定義與使用

在类型转换的时候需要遵循哪些规则:

第一条:八种基本数据类型中,除boolean 类型不能转换,剩下七种类型之间都可以进行转换;

第二条:小容量向大容量转换称为自动类型转换,大容量转换小容量必须使用强制类型转,但运行时可能出现精度损失,谨慎使用

第三条:byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;

第四条:整数的默认类型是 int,小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

第五条:浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后其余的类型都转换为当前表达式中级别最高的类型进行计算。

 double d2 = 12+1294L+8.5F+3.81+&#39;a&#39;;//都转换成最高的double类型,相当于= 12.0+1294.0+8.5+3.81+97.0
强制类型转换

把精度大的数据类型的数据赋值给精度小的数据类型。

double b=3.1415926;
int a=(int)b;//强制转换  高-->低

在进行运算的时候:

左=右 : 直接赋值

左>右 :直接自动转换

以上是Java資料型別:定義與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除