當前位置:首頁 » 編程語言 » java結構

java結構

發布時間: 2022-01-09 12:11:11

java有哪些圖結構

鏈表,線性表,棧,隊列,hash表!

數據結構:
①數組 (Array)
在程序設計中,為了處理方便, 把具有相同類型的若干變數按有序的形式組織起來。這些按序排列的同類數
據元素的集合稱為數組。在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組
元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指
針數組、結構數組等各種類別。
②棧 (Stack)
棧是只能在某一端插入和刪除的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後
的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。
③隊列 (Queue)
一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行
插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。
④鏈表 (Linked List)
一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。
鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:
一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。
⑤樹 (Tree)
樹是包含n(n>0)個結點的有窮集合K,且在K中定義了一個關系N,N滿足 以下條件:
(1)有且僅有一個結點 k0,他對於關系N來說沒有前驅,稱K0為樹的根結點。簡稱為根(root)
(2)除K0外,k中的每個結點,對於關系N來說有且僅有一個前驅。
(3)K中各結點,對關系N來說可以有m個後繼(m>=0)。
⑥堆 (Heap)
在計算機科學中,堆是一種特殊的樹形數據結構,每個結點都有一個值。通常我們所說的堆的數據結構,是指
二叉堆。堆的特點是根結點的值最小(或最大),且根結點的兩個子樹也是一個堆。
⑦圖 (Graph)
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,
邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
⑧散列表 (Hash)
若結構中存在關鍵字和K相等的記錄,則必定在f(K)的存儲位置上。由此,不需比較便可直接取得所查記錄。稱
這個對應關系f為散列函數(Hash function),按這個思想建立的表為散列表。

② Java語言中的類的基本結構是什麼

1.類是JAVA程序得的基本組成單位,定義了對象的屬性和方法,是具有共同屬性和行為的對象的集合。
2.對象的實質:屬性+行為。
3.類的基本結構:屬性,方法,構造方法,內部類,塊。屬性是對數據的描述。方法是對象的行為。構造方法用於實例化對象。
4.方法重載:
1)方法重載的原則:函數名相同,參數類型不同,參數個數不同,參數順序不同,在同一作用域。
2)方法重載跟方法的返回值類型沒有關系,只有返回值不同的方法不能構成重載。
5.方法的調用:類名.方法
6.對象的創建:假設存在一個類Person,創建對象語句為Person p=new Person();
下面是一個例子,參考理解
public class Cat {
public static void main(String[] args) {

Kitty K1=new Kitty();//創建一個對象K1

Kitty K2=new Kitty("小貓咪",3);//創建一個對象K2,名字為小貓咪,年齡為3

System.out.println("Kitty的名字:"+K1.name+K1.age+"歲");//輸出對象K1的名字和年齡
K1.play();//調用play方法
K1.eat();//調用eat方法

System.out.println("Kitty2的名字:"+K2.name+K2.age+"歲");//輸出對象K2的名字和年齡
K2.play();//調用play方法
K2.eat();//調用eat方法

}
}
class Kitty{

String name="小貓";
int age=1;

//無參數的構造方法
Kitty(){

}
//有參數的構造方法
Kitty(String name,int age){
this.name=name;
this.age=age;

}
//玩的方法
void play() {

System.out.println("玩橡皮泥");
}
//吃的方法
void eat() {

System.out.println("吃蘋果");
}

}

③ java什麼是結構型模式

結構型模式是描述如何將類對象結合在一起,形成一個更大的結構,結構模式描述兩種不同的東西:類與類的實例。故可以分為類結構模式和對象結構模式。

在GoF設計模式中,結構型模式有:

1.適配器模式 Adapter

2.橋接模式 Bridge

3.組合模式 Composite

4.裝飾模式 Decorator

5.外觀模式 Facade

6.享元模式 Flyweight

7.代理模式 Proxy

④ 如何在java中定義一個結構體

像C/C++里的,第三方的Javolution庫提供了類似的解決方案:

enumGender{MALE,FEMALE};
structDate{
unsignedshortyear;
unsignedbytemonth;
unsignedbyteday;
};
structStudent{
enumGendergender;
charname[64];
structDatebirth;
floatgrades[10];
Student*next;
};
publicenumGender{MALE,FEMALE};
{
publicfinalUnsigned16year=newUnsigned16();
publicfinalUnsigned8month=newUnsigned8();
publicfinalUnsigned8day=newUnsigned8();
}
{
publicfinalEnum32<Gender>gender=newEnum32<Gender>(Gender.values());
publicfinalUTF8Stringname=newUTF8String(64);
publicfinalDatebirth=inner(newDate());
publicfinalFloat32[]grades=array(newFloat32[10]);
publicfinalReference32<Student>next=newReference32<Student>();
}

⑤ 簡述Java語言的組成結構

好大的題目。。。、
難道是:se...ee....me?

⑥ java的四種選擇結構 並舉例

方法/步驟
什麼是if 選擇結構呢?
if選擇結構是根據條件判斷之後再做處理的一種語法結構,語法結構如下:
if(條件) {
代碼塊 //條件成立後要執行的代碼,可是一條語句,也可以是一組語句
}
public class Demo {
public static void main( String [] main) {
//語句1
//語句2
if ( 條件) {
//語句3
}
//語句4
}
}

如何使用if選擇結構:
1.基本的if選擇結構;舉例::
這里輸入張浩的成績後,通過判斷得知是否大於98分,若大於98,則會輸出「老實說:不錯,獎勵一個Mp3」,否則,不會輸出這句話,通過這個簡單的例子可以體會到,if選擇結構先判斷後執行!

復雜的if選擇結構:
如下

怎麼連接問題中的條件,
張浩java成績>98分 並且張浩音樂成績>80分
張浩java成績==100分 並且 張浩音樂成績>70分
提出條件,是否可以如下的編寫:
score1>98&&score2>80||score1==100&&score2>70
( score1>98&&score2>80(||(score1==100&&score2>70)
其中score表示張浩的java成績score表示張浩的音樂成績
顯然第二種方法更是可以清楚的描述張浩的成績!

使用if-else結構: 如果張浩java成績大於98分,那麼老實獎勵他一個Mp4,如果張浩的成績小於呢! 那麼老師就要責罰他嘍!

實現如下代碼功能:提現if-else結構:

多重if選擇結構:
多重if選擇結構不是多個基本的if選擇結構簡單的排列在一起,它的形式具體如下:
if(條件1){
代碼塊1
}else if(條件2){
代碼塊2
}else{
代碼塊3
}
多重if程序如何執行呢!首先,程序判斷條件1,如果成立,則執行代碼塊1,然後直接跳出這個多重if選擇結構,執行它後面的代碼。這種情況下,代碼塊2和代碼塊3都不會被執行,如果條件1不成立,則判斷條件2,如果條件2不成立就直接執行條件3!

一下運行結果提現 多重if循環的判斷過程:
int score = 70; //考試成績
if (score >= 80 ) {
System.out.println("良好");
} else if (score >= 60 ) {
System.out.println("中等");
} else {
System.out.println("差");

嵌套if選擇結構:
嵌套if選擇結構就是在if選擇結構裡面在嵌人if選擇結構:
if(條件1){
if(條件2){
代碼塊1
}else{
代碼塊2
}
}else{
代碼塊3
}

實現嵌套if選擇結構運行代碼程序:
import java.util.Scanner;
public class Demo {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("請輸入比賽成績:");
double score= input.nextDouble();
System.out.print("請輸入性別:");
String gender = input.next();
if(score<=10){
if(gender.equals("男")){
System.out.print("進入男子組決賽組!");
}else if(gender.equals("女")){
System.out.print("進入女子決賽組!");
}
}else{
System.out.print("淘汰!");
}
}
}

⑦ java中的三種基本結構是什麼

有順序,選擇,循環三種基本結構。
順序沒得說,一步一步往下執行。
選擇對應:java中的if(){} else {} 。
循環對應:for(){}循環 或者 while(){}循環。

⑧ java的四種選擇結構

if(){}語句
switch{case……}語句
while(){}語句
do{}while()語句

⑨ java分支結構

局部變數沒有默認值。你不賦值,編譯會報錯。
例如:
boolean
isRun;
System.out.println(isRun);
這樣是編譯不過去的。
類的成員變數才有默認值false。。

熱點內容
海康威視存儲卡質量如何 發布:2024-09-19 08:55:35 瀏覽:938
python3默認安裝路徑 發布:2024-09-19 08:50:22 瀏覽:514
環衛視頻拍攝腳本 發布:2024-09-19 08:35:44 瀏覽:416
sqlserveronlinux 發布:2024-09-19 08:16:54 瀏覽:255
編程常數 發布:2024-09-19 08:06:36 瀏覽:951
甘肅高性能邊緣計算伺服器雲空間 發布:2024-09-19 08:06:26 瀏覽:161
win7家庭版ftp 發布:2024-09-19 07:59:06 瀏覽:716
資料庫的優化都有哪些方法 發布:2024-09-19 07:44:43 瀏覽:268
知乎華為編譯器有用嗎 發布:2024-09-19 07:32:20 瀏覽:617
訪問虛擬機磁碟 發布:2024-09-19 07:28:13 瀏覽:669