導航:首頁 > 編程語言 > java結構

java結構

發布時間:2022-02-07 03:25:16

A. java的四種選擇結構

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

B. 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),按這個思想建立的表為散列表。

C. JAVA數據結構有哪幾種

JAVA數據結構有以下幾種:

1、List:

List是有序的Collection,使用此介面能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似於數組下 >標)來訪問List中的元素,這類似於Java的數組。

2、Vector:

基於數組(Array)的List,其實就是封裝了數組所不具備的一些功能方便我們使用,所以它難易避免數組的限制,同時性能也不可能超越數組。

另外很重要的一點就是Vector是線程同步的(sychronized)的,這也是Vector和ArrayList 的一個的重要區別。

3、ArrayList:

同Vector一樣是一個基於數組上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector好一些,但是當運行到多線程環境中時,可需要自己在管理線程的同步問題。

4、LinkedList:

LinkedList不同於前面兩種List,它不是基於數組的,所以不受數組性能的限制。 它每一個節點(Node)都包含兩方面的內容:節點本身的數據(data),下一個節點的信息(nextNode)。

所以當對LinkedList做添加,刪除動作的時候就不用像基於數組的ArrayList一樣,必須進行大量的數據移動。只要更改nextNode的相關信息就可以實現了,這是LinkedList的優勢。

5、HashSet:

雖然Set同List都實現了Collection介面,但是他們的實現方式卻大不一樣。List基本上都是以Array為基礎。

但是Set則是在 HashMap的基礎上來實現的,這就是Set和List的根本區別。HashSet的存儲方式是把HashMap中的Key作為Set的對應存儲項。

6、HashMap:

基於哈希表的 Map 介面的實現。此實現提供所有可選的映射操作,並允許使用 null 值和 null 鍵。(除了不同步和允許使用 null 之外,HashMap 類與 Hashtable 大致相同。)此類不保證映射的順序,特別是它不保證該順序恆久不變。

7、HashTable:

Hashtable 是一個散列表,它存儲的內容是鍵值對(key-value)映射。Hashtable 繼承於Dictionary,實現了Map、Cloneable、java.io.Serializable介面。

Hashtable 的函數都是同步的,這意味著它是線程安全的。它的key、value都不可以為nul

D. java 如何實現結構體

雖然我對C不是太在行,但你寫的這個東西好像不太對啊。

如果你是這個意思的話
struct Indivial{
int rank[5];
int fine[5];
char aa[3];
};

struct population{
int maxrank;
float rank_ration[10];
int rank_Num[10];
Indivial ind_pop;
} pop[],*p;

那麼相對的Java是

class Indivial{
int rank[] = new int[5];
int fine[] = new int[5];
char aa[] = new char[3];
}

class population{
int maxrank;
float rank_ration[] = new float[10];
int rank_Num[] = new int[10];
Indivial ind_pop;
}

class SomeOtherClass {
population pop[], p[];
}

E. 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("吃蘋果");
}

}

F. java程序的基本結構

//包package aaa;//類public class Test{ /成員變數 private String name; //成員變數 private int age; //構造函數 public Test(String name,int age) { this.name=name; this.age=age; } //實例方法 public void display() { System.out.println("我叫"+name+",今年"+age+"歲"); } //靜態main方法,程序入口 public static void main(String[] args) { Test t=new Test("張三",15); t.display(); }}這是最簡單的一個程序結構 謝謝採納下答案

G. JAVA的API結構是什麼

你可以這樣理解嘛,Java api就是Java語言的字典,通過這個api你可以了解到它裡面的組織形式和結構,即可以查看Java裡面到底有些什麼包、類或介面,以及每個包里的類或介面的作用是什麼,都有些什麼方法等。

H. 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("淘汰!");
}
}
}

I. 簡述java程序的組成結構。

Java程序結構:數據類型、變數、運算符、控制流語句。

數據類型確定要儲存在內存中的數據的類型。
變數是存儲數據的基本單元。

運算符是一個符號,用於操作一個或多個參數以得出結果。

程序是按順序執行的,控制流語句允許改變此順序。

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

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

閱讀全文

與java結構相關的資料

熱點內容
掛載分區命令 瀏覽:910
phpfpm的作用 瀏覽:651
填pdf表格 瀏覽:524
騰訊雲渲染伺服器 瀏覽:308
php內置異常 瀏覽:275
androidauto語音 瀏覽:55
雲繳費app兌換碼在哪裡 瀏覽:625
聖地安列斯安卓版存檔怎麼用 瀏覽:201
在哪裡可以找到舊版本的app 瀏覽:373
一個客戶端如何連接多個伺服器 瀏覽:883
簡訊加密的作用 瀏覽:108
微型高壓空氣壓縮機 瀏覽:520
微信app如何翻譯視頻 瀏覽:860
考試前聽什麼歌解壓 瀏覽:474
哪個app充值可以用銀聯二維碼 瀏覽:566
女程序員和孩子玩 瀏覽:839
程序員蘇州武漢 瀏覽:754
大腳插件如何切換安卓 瀏覽:943
python課設製作年歷 瀏覽:405
明文在pdf 瀏覽:751