国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務(wù)器之家 - 編程語言 - JAVA教程 - 全面解析Java支持的數(shù)據(jù)類型及Java的常量和變量類型

全面解析Java支持的數(shù)據(jù)類型及Java的常量和變量類型

2020-03-27 19:35goldensun JAVA教程

這篇文章主要介紹了Java支持的數(shù)據(jù)類型及Java的常量和變量類型,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

基本數(shù)據(jù)類型
變量就是用來儲存值而保留的內(nèi)存位置。這就意味著當(dāng)你創(chuàng)建一個變量時就會在內(nèi)存中占用一定的空間。

基于變量的數(shù)據(jù)類型,操作系統(tǒng)會進行內(nèi)存分配并且決定什么將被儲存在保留內(nèi)存中。因此,通過給變量分配不同的數(shù)據(jù)類型,你可以在這些變量中存儲整數(shù),小數(shù)或者字字母。

Java 中有兩種有效地數(shù)據(jù)類型:

  1. 原始數(shù)據(jù)類型
  2. 引用數(shù)據(jù)類型

原始數(shù)據(jù)類型

Java 支持 8 種原始數(shù)據(jù)類型。原始數(shù)據(jù)類型是由該語言預(yù)先定義的并用關(guān)鍵詞命名的。下面讓我們深入學(xué)習(xí)一下這 8 種數(shù)據(jù)類型。

字節(jié)型(byte)

字節(jié)型是一種 8 位有正負的二進制整數(shù)
最小值是 -128(-2^7)
最大值是 127(2^7-1)
默認值為 0
字節(jié)型數(shù)據(jù)類型主要是為了在大型數(shù)組內(nèi)節(jié)省空間,主要是替代整數(shù)由于字節(jié)型比整數(shù)小 4 倍。
例如:

?
1
byte a = 100 , byte b = -50

短整數(shù)(short)

短整數(shù)是一種 16 位有正負的二進制整數(shù)
最小值是 -32768(-2^15)
最大值是 32767(2^15-1)
短整數(shù)類型的數(shù)據(jù)也可以像字節(jié)型一樣用于節(jié)省空間。短整數(shù)比整數(shù)小兩倍
默認值為 0
例如:

?
1
short s = 10000, short r = -20000

整數(shù)型(int)

整數(shù)型是一種 32 位有正負的二進制整數(shù)
最小值是 - 2,147,483,648(-2^31)
最大值是 2,147,483,647(2^31 -1)
整數(shù)型一般默認被應(yīng)用于整數(shù)值除非擔(dān)心內(nèi)存不夠用。
默認值為 0
例如:

?
1
int a = 100000, int b = -200000

長整型(long)

長整型是一種 64 位有正負的二進制整數(shù)
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807 (2^63 -1)
這種數(shù)據(jù)類型一般是在需要比整數(shù)型范圍更大時應(yīng)用。
默認值為 0L
例如:

?
1
long a = 100000L, int b = -200000L

浮點型(float)

浮點型數(shù)據(jù)是一種單精度的 32 位 IEEE 754 標準下的浮點數(shù)據(jù)。
浮點型數(shù)據(jù)主要是為了在大型浮點數(shù)字數(shù)組中節(jié)約內(nèi)存。
默認值是 0.0f。
浮點型數(shù)據(jù)不能用于如貨幣這樣的精確數(shù)據(jù)。
例如:

?
1
float f1 = 234.5f

雙精度型(double)

雙精度型數(shù)據(jù)是一種雙精度的 64 位 IEEE 754 標準下的浮點數(shù)據(jù)。
這種數(shù)據(jù)類型主要是默認被用于表示小數(shù)的值,一般是默認的選擇。
雙精度型數(shù)據(jù)不能用于如貨幣這樣的精確數(shù)據(jù)。
默認值是 0.0d
例如:

?
1
double d1 = 123.4

布爾型(boolean)

布爾型數(shù)據(jù)代表一個信息比特。
它只有兩個可能的值:真(true)和假(false)
這種數(shù)據(jù)類型用于真假條件下的簡單標記。
默認值是假(false)
例如:

?
1
boolean one = true

字符型(char)

字符型數(shù)據(jù)是簡單的 16 位 Unicode 標準下的字符。
最小值是: '\u0000' (或 0)。
最大值是: '\uffff' (或 65,535 )。
字符型數(shù)據(jù)可以用來儲存任意字母。
例如: char letter A(字符型的字母A) ='A'
引用數(shù)據(jù)類型
引用數(shù)據(jù)類型是由類的編輯器定義的。他們是用于訪問對象的。這些變量被定義為不可更改的特定類型。例如:Employee, Puppy 等等。
類對象和數(shù)組變量就是這種引用數(shù)據(jù)類型。
任何引用數(shù)據(jù)類型的默認值都為空。
一個引用數(shù)據(jù)類型可以被用于任何聲明類型和兼容類型的對象。
例如:

?
1
Animal animal = new Animal("giraffe");

Java 常量
常量是代表固定值的源代碼。他們直接以代碼的形式代表而沒有任何估計。
常量可以被分配給任意的原始變量類型。例如:

?
1
2
byte a = 68;
char a = 'A'

字節(jié)型,整數(shù)型,長整型和短整型也可以由十進制,十六進制和八進制計數(shù)系統(tǒng)表示。

當(dāng)用這些技術(shù)系統(tǒng)表示直接量時,前綴 0 是為了標明八進制,前綴 0x 是為了標明十六進制。例如:

?
1
2
3
int decimal = 100;
int octal = 0144;
int hexa = 0x64;

Java 中的字符串型常量的規(guī)定和其他大多數(shù)語言一樣,也是要寫在雙引號中間。字符串型直接量的例子如下:

?
1
2
3
"Hello World"
"two\nlines"
"\"This is in quotes\""

字符和字符串型常量可以包含任意的 Unicode 字母。例如:

?
1
2
char a = '\u0001';
String a = "\u0001";

Java 語言也支持一些特殊的轉(zhuǎn)義序列的字符和字符串直接量。他們是:

轉(zhuǎn)義字符
含義
\n 換行 (0x0a)
\r 回車 (0x0d)
\f 換頁 (0x0c)
\b 退格 (0x08)
\s 空格 (0x20)
\t tab
\" 雙引號
\' 單引號
\ 反斜杠
\ddd 八進制字符 (ddd)
\uxxxx 十六進制 UNICODE 字符 (xxxx)

變量類型
變量可以給我們提供我們程序可以操縱的命名的存儲。Java 中的每種變量都有特定的類型,這決定了變量的大小和它的設(shè)計占用內(nèi)存空間;這一些列的值可以存儲在那個內(nèi)存空間中;變量可以應(yīng)用的操作。

 

在使用前你必須現(xiàn)將所要使用的變量進行聲明。聲明變量的基本格式如下:

data type variable [ = value][, variable [= value] ...] ;
這里的 data type 是 Java 的一種數(shù)據(jù)類型,variable 是一種變量的名稱。要聲明一個以上的特定變量類型,你可以采用逗號分隔開。

下面是 Java 中有效的變量聲明和賦值的例子:

?
1
2
3
4
5
int a, b, c; // Declares three ints, a, b, and c.
int a = 10, b = 10; // Example of initialization
byte B = 22; // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a'; // the char variable a iis initialized with value 'a'

Java 中共有三種變量:

  1. 本地變量
  2. 實例變量
  3. 類、靜態(tài)變量

本地變量

  • 本地變量在方法、構(gòu)造器或者塊中聲明
  • 本地變量在方法、構(gòu)造器或者塊進入時被創(chuàng)建,一旦退出該變量就會被摧毀
  • 可訪問描述符不能用于本地變量
  • 本地變量僅在已經(jīng)聲明的方法、構(gòu)造器或者塊中可見
  • 本地變量在棧深度內(nèi)部實施
  • 本地變量沒有默認值,因此本地變量必須被聲明并且在第一次使用前要給它賦值

例子

這里,age(年齡)是本地變量。這是在 pupAge() 方法下定義的,它的范圍僅限于這個方法。

?
1
2
3
4
5
6
7
8
9
10
11
12
public class Test{
 public void pupAge(){
  int age = 0;
  age = age + 7;
  System.out.println("Puppy age is : " + age);
 }
 
 public static void main(String args[]){
  Test test = new Test();
  test.pupAge();
 }
}

上述代碼會輸出如下結(jié)果:

?
1
Puppy age is: 7

例子
下面的例子使用了本地變量 age 但是沒有進行初始化,所以在編輯是就會顯示錯誤。

?
1
2
3
4
5
6
7
8
9
10
11
12
public class Test{
 public void pupAge(){
  int age;
  age = age + 7;
  System.out.println("Puppy age is : " + age);
 }
 
 public static void main(String args[]){
  Test test = new Test();
  test.pupAge();
 }
}

編輯時會產(chǎn)生如下錯誤:

?
1
2
3
4
Test.java:4:variable number might not have been initialized
age = age + 7;
^
1 error

實例變量

  • 實例變量在類中聲明,但是它在方法、構(gòu)造器或者塊外。
  • 當(dāng)堆中的對象被分配了一個空間時,每個實例變量的位置就被創(chuàng)建了。
  • 當(dāng)對象采用關(guān)鍵字“ new ”創(chuàng)建時實例變量就被創(chuàng)建了,當(dāng)對象被銷毀時它也就被銷毀了。
  • 實例變量的值必須被一個以上的方法、構(gòu)造器或者塊,或者類中必須出現(xiàn)的對象的狀態(tài)的重要部分所引用。
  • 實例變量可以在類水平上在使用前或者使用后聲明。
  • 實例變量可以用可訪問描述符。
  • 實例變量對類中的所有方法、構(gòu)造器或者塊可見。一般來講,推薦將這些變量私有(訪問層面)。然而子類的可見性可用可訪問描述符給予那些變量。
  • 實例變量有默認值。數(shù)字的默認值為零,布爾型默認值為假,對象引用默認值為空。在聲明或者構(gòu)造器內(nèi)可以進行賦值。
  • 實例變量可以采用直接在類中叫名字方式訪問。然而在靜態(tài)方法和不同的類(實例變量可以被訪問)中應(yīng)當(dāng)使用完全限定名稱。ObjectReference.VariableName

例子

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.*;
 
public class Employee{
 // this instance variable is visible for any child class.
 public String name;
 
 // salary variable is visible in Employee class only.
 private double salary;
 
 // The name variable is assigned in the constructor.
 public Employee (String empName){
  name = empName;
 }
 
 // The salary variable is assigned a value.
 public void setSalary(double empSal){
  salary = empSal;
 }
 
 // This method prints the employee details.
 public void printEmp(){
  System.out.println("name : " + name );
  System.out.println("salary :" + salary);
 }
 
 public static void main(String args[]){
  Employee empOne = new Employee("Ransika");
  empOne.setSalary(1000);
  empOne.printEmp();
 }
}

上述代碼會輸出如下結(jié)果:

?
1
2
name : Ransika
salary :1000.0

類、靜態(tài)變量

  • 類變量也叫靜態(tài)變量,它是在類中用 static 關(guān)鍵字聲明的,但是它在方法、構(gòu)造器或者塊之外。
  • 每個類中只有一個類變量,不管這個類有多少對象。
  • 除了作為常量被聲明之外,類變量很少被應(yīng)用。常量是被作為 public、private, final 和 static 被聲明的變量。實例變量的初始值不會被改變。
  • 靜態(tài)變量存儲在靜態(tài)內(nèi)存中,很少采用靜態(tài)變量而不是聲明結(jié)束或者用常量public 或 private 之一。
  • 靜態(tài)變量隨著程序的開始和結(jié)束而開始和結(jié)束。
  • 可見性和實例變量相似。然而大多數(shù)靜態(tài)變量被聲明為public由于他們必須為類的使用者所用。
  • 默認值和實例變量相似。對于數(shù)字的默認值為零,布爾型默認值為假,對象引用默認值為空。在聲明或者構(gòu)造器內(nèi)可以進行賦值。除此之外,可以在特殊的靜態(tài)初始化區(qū)賦值。
  • 靜態(tài)變量可以用類的名稱訪問。ClassName.VariableName
  • 當(dāng)靜態(tài)變量被作為 public static final 聲明時,變量(常量)名稱都要用大寫字母。如果靜態(tài)變量不是 public 和 final,它的命名方法和實例變量和本地變量相同。

例子

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.io.*;
 
public class Employee{
 // salary variable is a private static variable
 private static double salary;
 
 // DEPARTMENT is a constant
 public static final String DEPARTMENT = "Development ";
 
 public static void main(String args[]){
  salary = 1000;
  System.out.println(DEPARTMENT+"average salary:"+salary);
 }
}

上述代碼會輸出如下結(jié)果:

?
1
Development average salary:1000

注:如果變量從類外訪問,常量就必須以 Employee.DEPARTMENT 訪問。

延伸 · 閱讀

精彩推薦
691
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 一区二区三区精品 | 亚洲精品乱码久久久久久蜜糖图片 | 久久艹精品 | 色av网 | 综合伊人 | 免费观看国产视频在线 | 综合色区 | 欧美日韩美女 | 中文字幕免费在线观看视频 | av黄色在线播放 | 国产精品黄色 | 凹凸国产成人精品视频免费 | 久久久久91| 国产一区日韩欧美 | 久久影院一区 | 北条麻妃在线一区二区三区 | 激情婷婷 | 伊人久久精品久久亚洲一区 | 伊人欧美一区 | 爱色av网站| 国产高清在线 | 日韩一区二区三区电影在线观看 | 日韩国产 | 91久久国产综合久久91精品网站 | 久久综合九色综合网站 | 亚洲国产精品99久久久久久久久 | 国产一区二区精品在线观看 | 国产一区二区三区在线 | 欧美成人h版在线观看 | 懂色av成人一区二区三区 | 欧美日韩有码 | 国内精品久久久久久久97牛牛 | 黄色片免费观看网站 | 不用播放器的av | 噜噜噜视频在线观看 | 日比毛片 | 天天天天操 | 中文字幕亚洲精品 | 日本免费精品视频 | 色五月激情五月 |