1. Java編程中 甚麼是復合型數據類型
一種不屬於系統內部本身存在的類型。
除了8種基本數據類型外,都可以稱為復合型數據類型。
2. java語言的所有數據類型有哪些
數據類型就是對內存位置的抽象表達,數據類型指明了變數或表達式的狀態和行為。Java語言中數據類型分為簡單數據類型和復合數據類型,如下表所示。
* 簡單數據類型:簡單數據類型是不能再簡化的、內置的數據類型,由編程語言定義,表示真實的數字、字元和整數。例如實數、整數、字元和布爾值。
* 復合數據類型:由簡單數據類型的組合形成的更大、更復雜的數據類型。例如類、介面和數字。
注意:
(1)在Java語言中,字元串沒有被當做數組,而是被當做對象來處理的,類String和StringBuffer都可以被用來表示一個字元串。
(2)Java語言不支持C、C++中的指針類型、結構類型、枚舉類型和聯合類型。
(3)Java語言中所有簡單數據類型的所在內存位數都是固定的。
(4)Java語言沒有提供無符號整數類型。
(5)Java語言的short數據類型很少使用,因為它限制數據有存儲為先高位元組,後低位元組,這樣在某些機器中會出錯。
Java 語言的數據類型
簡單數據類型 布爾數據類型 (boolean) 1 位
字元類型 (char) 2 位元組
整數類型 (integer) byte 1 位元組
short 2 位元組
int 4 位元組
long 8 位元組
浮點數類型 (float) float 4 位元組
double 8 位元組
復合數據類型 類 (class)
介面 (interface)
數組
3. 在JAVA語言中,什麼是復合數據類型(引用)
同簡單數據類型的定義一樣,Java虛擬機(JVM)還定義了索引(reference)這種數據類型。索引類型可以「引用」變數,由於Java沒有明確地定義指針類型,所以索引類型可以被認為就是指向實際值或者指向變數所代表的實際值的指針。一個對象可以被多於一個以上的索引所「指」。JVM從不直接對對象定址而是操作對象的索引。
索引類型分成三種,它們是:類(class)、介面(interface)和數組(array)。索引類型可以引用動態創建的類實例、普通實例和數組。索引還可以包含特殊的值,這就是null 索引。null 索引在運行時上並沒有對應的類型,但它可以被轉換為任何類型。索引類型的默認值就是null。
類
類(Class)指的是定義方法和數據的數據類型。從內部來看,JVM通常把class類型對象實現為指向方法和數據的一套指針。定義class類型的變數只能引用類的實例或者null ,如以下代碼所示:
MyObject anObject = new MyObject(); // 合法
MyObject anotherObject = null; // 合法
MyObject stillAnotherObject = 0; // 非法
介面
介面(interface)好比一種模版,這種模版定義了對象必須實現的方法,其目的就是讓這些方法可以作為介面實例被引用。介面不能被實例化。類可以實現多個介面並且通過這些實現的介面被索引。介面變數只能索引實現該介面的類的實例。比方說,假設我們定義了一個介面,名字是Comparable ,同時還定義了一個類SortItem,這個類實現了介面Comparable,那麼我們可以編寫以下的定義代碼:
Comparable c = new SortItem();
假如Comparable 介面定義了一個方法: public void compare(Comparable item), 那麼SortItem 類就必須提供compare 方法的實現,如以下代碼所示:
public class SortItem implements Comparable
{
public void compare(Comparable item)
{
...method implementation here
}
}
數組
Java數組(array)是動態創建的索引對象,這一點和類非常相似,此外,同類一樣,數組只能索引數組的實例或者null ,如以下代碼所示:
int[] myIntArray = new int[5];
int[] anotherIntArray = null;
數組是Object類的繼承,這樣,Object類的所有方法都可以被數組調用。數組對象由元素組成。元素的數目也可以為0,在這種情況下稱做數組為空。所有的數組都是從0開始對元素編號的,這意味著數組內的第1個元素的索引編號是數字0。所有對數組元素的訪問都會在運行時上接受檢查,如果試圖使用編號小於0或者大於數組長度來索引元素就會產生異常並被扔出。
數組的元素按整型值索引,如以下代碼所示:
int[] myIntArray = { 9, 5, 6 };
int int1 = myIntArray[0];
int int2 = myIntArray[1];
int int3 = myIntArray[2];
數組對象的長度是不變的。為了改變數組變數的長度,你必須創建另一個數組並賦給變數,如以下代碼所示:
int[] myIntArray = { 9, 5, 6 };
System.out.println("myIntArray length = " +myIntArray.length); // 輸出結果是3
myIntArray = new int[] { 3, 6, 4, 2, 8 };
System.out.println("myIntArray length = " +myIntArray.length); // 輸出結果是5
復合數據類型
Java語言不支持結構(struct)或聯合(union)數據類型。它的復合數據類型是通過類或者介面來構造的,類提供了捆綁數據和方法的方式,同時可以限制對類的私有數據的訪問。比如說,如果用C語言,那麼汽車(car)就可以如下代碼所示用結構來定義:
struct Car
{
char* model;
char* make;
int year;
Engine* engine;
Body* body;
Tire** tires;
}
以上的示範代碼還隱含採用了先前定義的引擎(Engine)、車身(Body)和輪胎(Tire)結構。而採用Java語言,汽車的定義如清單A所示。
Listing A
class Car
implements CarModels, CarMakes
{
private int model = DODGE;
private int make = DURANGO;
private int year = 1999;
private Engine engine = new DurangoEngine();
private Body body = new DurangoBody();
private Tire[] tires = { new GoodyearTire(),
new GoodyearTire(),
new GoodyearTire(),
new GoodyearTire() };
}
以上的示例還假設我們以前都已經定義過CarModels和CarMakes介面以及Engine、Body、Tire、DurangoEngine、DurangoBody和GoodyearTire類。
復合數據類型的初始化
復合數據類型由構造器內定義的代碼實現初始化,構造器在類的創建函數(比如「new」之類)應用到類變數的時候被調用。構造器被調用之前,類的各個成員被初始化為各自的默認值或者顯式賦予的初值。清單B 中的程序代碼對以上過程進行了解釋。
Listing B
class MyClass
{
int myInt;
AnotherClass anotherClass;
public static void main(String[] args)
{
MyClass myClass = new MyClass();
}
public MyClass()
{
myInt = 2;
}
}
在清單B的代碼中,當myClass 的實例用new 運算符創建時,構造器public MyClass()即被調用促使類對自身初始化。初始化的過程如下所示:
聲明「int myInt;」給myInt賦默認值0。
聲明「AnotherClass anotherClass;」給anotherClass分配默認值null。
構造器內的聲明「myint = 2;」給myInt賦值為2。
預定義復合數據類型
Java語言包含了大量的預定義復合數據類型。其中之一的String 類屬於java.lang 包。String 類提供的方法執行常用的字元串操作,比如length()、 substring(int beginIndex)、toUpperCase()、toLowerCase()、equals() 等等。另一種常用的Java復合數據類型是Vector 類,它屬於java.util 包。Vector 類定義的方法執行可擴展對象數組的常用操作。比如add(int index, Object element)、elementAt(int index)、isEmpty()和remove(int index)等。這些就是一小部分預定義復合數據類型的代表示例。在以後的文章里我們還會進一步對預定義復合數據類型進行討論。
4. 1. Java的復合數據類型有那幾種
顧名思義,就是一些由基本數據類型復合而成的數據類型,如String,數組,一般的class類,介面啊等,除了基本的都是由基本類型復合而成的數據類型,不知道這樣說可不可以理解
5. Python基本內置數據類型有哪些
內置類型是指任何語言在設計初期定義的類型,如C語言中的int、double、char等。它也是在一種語言中最基本的類型,與編譯器編譯出的代碼具有重大關系。值得一提的是,不同語言也擁有不同的內置類型, 但是所有內置類型的定義都與計算機的運算方式相關。
Python主要內置類型包括數值、序列、映射、類、實例和異常等。
數值類型:全局中只有一個(Python在解釋器啟動的時候,Python會用None類型生成一個None的對象),包括int類型、float類型、complex類型、bool類型。
迭代類型:在Python中,迭代類型可以使用循環來進行遍歷。
序列類型:list(是可變序列,通常用於存放同類項目的集合)、tuple(是不可變序列,通常用於儲存異構數據的多項集)、str(在Python中處理文本數據是使用str對象,也稱為字元串。字元串是由Unicode碼位構成的不可變序列。)、array、range(表示不可變的數字序列,通常用於在for循環中循環指定的次數)、bytes(由單個位元組構成的不可變序列)、bytearray(bytes對象的可變對應物)、memoryvie(二進制序列)
映射類型:映射對象將具有hash的值映射到任意對象。映射是可變的對象。目前只有一種標准映射,即dictionary。字典的鍵幾乎是任意值,也就是說,包含列表、字典或其他可變類型的值。
集合類型:作為一種無序的多項集,集合並不記錄元素位置或插入順序。相應地,集合不支持索引、切片或其他序列類的操作。目前Python有兩種內置集合類型:set和frozenset。
set類型是可變的,其內容可以使用add()和remove()這樣的方法來改變。由於是可變類型,它沒有哈希值,且不能被用作字典的鍵或其他集合的元素。
frozenset類型是不可變並且具有哈希值,其內容在被創建後不能再改變,因此它可以被用作字典的鍵或其他集合的元素。
上下文管理類型:with語句
其他類型:模塊、class、實例、函數、方法、代碼、object對象、type對象、ellipsis(省略號)、notimplemented
6. java中復合數據類型幾個常見的方法
建議重點掌握容器類型,主要是List和Map,這兩種類型在實際編程的時候應用極多,要掌握這兩種類型對象元素的插入、刪除、修改、排序、檢索等操作,具體方法一方面可以查看Java的標准API文檔,一方面可以在開發工具(如Eclipse)中該類型對象後面按下「.」運算符,會自動彈出該類型對象的所有方法。
7. PHP中有幾種主要的數據類型,通俗的解釋一下他們
數據類型有三種:
1.標量數據類型
標量數據類型包括以下幾種。
(1)boolean:布爾型
布爾變數是PHP變數中最簡單的。它保存一個True或者False值。其中True或者False是PHP的內部關鍵字。設定一個布爾型的變數,只需將True或者False賦值給該變數
(2)string:字元串
字元串是連續的字元序列,字元串中的每個字元只佔用一個位元組。在PHP中,定義字元串有3種方式:
單引號方式,
雙引號方式,
Heredoc方式。
(3)integer:整數
整數數據類型只能包含整數。這些數據類型可以是正數或負數。在32位的操作系統中,有效的范圍是−2 147 483 648~+2 147 483 647。
(4)double:浮點數
浮點數據類型可以用來存儲數字,也可以保存小數。它提供的精度不整數大得多。在32位的操作系統中,有效的范圍是1.7E-308~1.7E+308。
2.復合數據類型
復合數據類型包括以下兩種。
(1)array:數組
可以是二維、三維或者多維,數組中的各元素可以是string、integer或double,也可以是array。
(2)object:對象類型
3.特殊數據類型
特殊數據類型包括以下兩種。
(1)resource:資源
資源是PHP內的幾個函數所需要的特殊數據類型,由編程人員來分配。
(2)null:空值
空值是最簡單的數據類型。表示沒有為該變數設置任何值,另外,空值(NULL)不區分大小寫。
8. java中基本類型和復合類型有哪些
1.Java是一種簡單的,面向對象的,分布式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優異、多線程的動態語言。
2. 編譯源文件 javac.exe 執行類文件 java.exe
源文件-- ( javac編譯 )--> 位元組碼文件 ----( java執行 )--> 程序運行
3. Java定義了8個簡單的數據類型:位元組型(byte),短整型(short),整型(int),長整型(long),字元型(char),浮點型(float),雙精度型(double),布爾型(boolean).
[ 注意 String 是一個類,不是基本類型數據 ]
4種.
private 只能創建類可用 packaged 同包可用,
protected 繼承類可用,即使不同包 public 全部可用
5.
class HelloWorld
{
public static void main(String[] args) //類的主方法首部定義
{
System.out.println(" HAPPY NEW YEAR! "); //由系統提供的方法
}
}
6.
import java.awt.*;
import java.applet.*;
public class JavaWorld extends Applet
{
public void paint(Graphics g )
{
g.drawString("hello applet!",5,25);
}
}
//以下是html代碼,必須和JavaWorld.java 放在同一文件夾下,通過IIS訪問
<html>
<body>
<applet code="JavaWorld.java" width=100 height=100>
</applet>
</body>
</html>
7.
public class Jia
{
public static void main(String arg[])
{
int i,sum=0;
for(i=101;i<=100;i++)
{
sum=sum+i;
}
System.out.println(sum);
}
}
8.
public class Cheng
{
public static void main(String arg[])
{
int i,sum=1;
for(i=1;i<=5;i++)
{
sum=sum*i;
}
System.out.println(sum);
}
}
///////////////////////////////////////////////////////
代碼全部可以運行,如出錯,網路上hi我.
9. JavaScript的復合類型有哪些是什麼意思
除了基本數據類型number、string、boolean、null、underfined以外,都是復合類型
常用的如:Array(數組)、Object(對象)、Date(日期)、Math(數學式)、RegExp(正則表達式)、function(函數)
10. Java的復合數據類型有 : 類、數組和______等。 Java的簡單數據類型有 : 數值類型
復合數據類型包括:
class
interface
數組
String (預定義復合類型)