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(){}循環。