主頁 > 後端開發 > 初學Java------Java的基本程式設計結構

初學Java------Java的基本程式設計結構

2021-09-08 09:51:49 後端開發

目錄

1.一個簡單的Java應用程式

2.注釋

3.資料型別

4.變數與常量

4.1 宣告變數

4.2 變數初始化

4.3 常量

5.運算子

5.1 算術運算子

5.2 數學函式與常量

5.3 數值型別之間的轉換

5.4 強制型別轉換

5.5 結合賦值和運算子

5.6 自增自減運算子

5.7 邏輯運算子

5.8 位運算子

5.9 移位運算

5.10 條件運算子

6.字串

6.1 子串

6.2 拼接

6.3 檢測字串是否相等

6.4 空串與Null串

7.輸入與輸出

7.1 從鍵盤輸入

7.2 輸出

8.程式邏輯控制

8.1 if 陳述句

8.2 switch陳述句

8.3 回圈結構

8.3.1 while回圈

8.3.2 do while 回圈

8.3.3 for回圈

9.break與continue的區別


1.一個簡單的Java應用程式

public class OneBlogs {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

這個程式雖然簡單,但是基本上所有的Java程式都是具有這種結構的,

下面逐一看這幾行代碼:

public是關鍵字,稱為訪問修飾符,用于控制程式的其他部分對這段代碼的訪問級別,

關鍵字class說明Java程式中的全部內容都包含在類中,

class后緊跟類名,類名采用大駝峰的命名方式,所有單詞的首字母必須大寫,但是不能使用Java保留字(public ,class等)作類名,例如:FirstSample就是一個合法的命名,

源代碼的{ }劃分程式的各個部分(通常稱為塊),任何方法的代碼用 { 開始,用 } 結束,

我們先不用管static void ,暫時把它們當作編譯程式的必要部分,每個程式都必須有一個main方法,格式如下:

public class OneBlogs {
    public static void main(String[] args) {
        program statements
    }
}

下來看這個代碼:

    {
        System.out.println("Hello world!");
    }

一對大括號表示方法體的開始與結束,使用System.out物件呼叫它的println方法,注意:"."用于呼叫方法,Java使用的通用語法是object.method(parameters),這等價于函式呼叫,

2.注釋

Java中有三種表示注釋的方法:

1. // 注釋內容從//開始到本行行尾 2. /* */注釋界定符將一段較長的注釋括起來

3.這種注釋可以用來自動生成檔案,/** */

警告:Java中注釋不能嵌套,

3.資料型別

Java是一種強型別語言,必須為每一個變數宣告一種型別,Java中一共有8中基本型別,其中包括4種整型,2種浮點型別,1種字符型別char(用于表示Unicode編碼的代碼單元),1種表示真值的布爾型別boolean,

資料型別關鍵字記憶體占用范圍
位元組型byte1位元組-128~127
短整型short2位元組-32768~32767
整型int4位元組-2^31~2^31-1
長整型long8位元組-2^63~2^63-1
單精度浮點數float4位元組
雙精度浮點數double8位元組
字符型char2位元組0~65535
布爾型boolean沒有明確規定

true和false

注意:

·不論是16位系統還是32位系統int都占4個位元組,不論是32位系統還是64位系統long占8位元組

·整型和浮點型都是帶有符號的

·整型默認為int型,浮點型默認為double型

什么是位元組?位元組是計算機中表示空間大小的基本單位

4.變數與常量

4.1 宣告變數

格式:資料型別 變數名 例:

int age;
double salary;
long earthPopulation;
boolean done;

從中可以看出,每個宣告都以分號結束,宣告是一條完整的陳述句,分號在這里是必須加的,

tip:$是一個合法的Java字符,但是不要在代碼中使用這個字符,它只在Java編譯器或其他工具生成的名字中,

可以在一行中宣告多個變數:

int i ,j, k;       //不提倡這種風格

逐一宣告每個變數提高代碼的可讀性,

4.2 變數初始化

宣告一個變數后必須使用賦值陳述句對變數進行顯式初始化,不能使用未初始化的變數,

否則:

public static void main(String[] args) {
        int i;
        System.out.println(i);
    }

這段代碼會出現如下錯誤:

要想對一個宣告過的變數賦值就得把變數名放在 = 左邊,值或者運算式放在 = 右邊,例:

int age;
age = 10000;
int month;
month = 8;
int week = 6;

tip:在Java中,變數宣告盡量靠近第一次使用的地方,這是一個比較好的編程習慣

4.3 常量

在Java中,利用關鍵字指示常量,例如:

 public static void main(String[] args) {
       final double P_I_E = 3.14;
        System.out.println(P_I_E);
    }

tip : final表示的這個變數只能被賦值一次,一旦被賦值便不能再更改,習慣上,常量名全大寫,

還有一種常量被稱為類常量,這個常量可以在一個類的多個方法中使用,可以使用 static final 設定一個類常量,例如:

static final double P_I_E = 3.14;
    public static void main(String[] args) {
        System.out.println(P_I_E);
    }

注意:類常量定義于類方法的外部,

5.運算子

運算子用于連接值

5.1 算術運算子

+ - * / 分別表示加 減 乘 除運算,

整數的取余運算子用 % 表示,例:15 % 7 == 1

當參與 / 運算的兩個運算元都是整數,表示整數除法,否則表示浮點除法,

例:15 / 2 ==7 ;15 / 2.0 == 7.5

5.2 數學函式與常量

在Math類中包含了各種各樣的數學函式,使用前加上這樣一句代碼:

import static java.lang.Math.*;

sqrt :計算一個數的平方根 ,例:

import static java.lang.Math.*;
public class OneBlogs {
    public static void main(String[] args) {
        double a = 25;
        double b = sqrt(a);
        System.out.println(b);
    }
}

Math類中的sqrt方法不處理任何物件,這樣的方法稱為靜態方法,

pow:表示冪運算 ,格式:pow(a , k)表示a的k次冪,例:

 public static void main(String[] args) {
        double a = 2;
        double b = 3;
        double c = pow(a,b);
        System.out.println(c);
    }

Java還提供兩個用于表示 π 和 e 常量最接近的近似值:Math.PI Math.E

5.3 數值型別之間的轉換

圖中有箭頭實線表示無資料丟失的轉換,無箭頭的實線表示有資料丟失的轉換

Java中,當使用一個二元運算子連接兩個值時,會先將兩個運算元轉換成同一種型別,再計算,

·有一個運算元是double型別,另一個也會轉換成double型別

·有一個運算元是float型別,另一個也會轉換成float型別

·有一個運算元是long型別,另一個也會轉換成long型別

·否則其余都將轉換成int型別

5.4 強制型別轉換

上面提到必要時,int會轉換為double型別,Java中允許經過強制型別轉換將double轉換為int,例:

double a = 3.5678;
int b = (int) a;

這樣經過上述代碼 b的值為3,因為強制型別轉換通過截斷小數部分將浮點值轉化為整型,

如果想對浮點數進行舍入運算,得到最接近的整數,就需要Math.round方法,例:

double a = 9.999;
int b = (int) Math.round(a);

注意:round方法的回傳值為long型別,所以必須使用強制型別轉換(int),

5.5 結合賦值和運算子

+= -= *= /= %=

例:a+=2 等價于 a=a+2

如果運算得到一個值與左側運算元型別不同,就會發生強制型別轉換,例:

int a;      //a是int型別
a+=2.2;     //是合法的等價于(int)(a+2.2)

5.6 自增自減運算子

++ --

i++與++i的結果都會使i進行加1,但它倆的區別主要在給運算式賦值的地方體現,例:

int i = 1;
int a = ++i;      //先進行++再給a賦值,所以a是2
int b = i++;      //先賦值再進行++,所以b還是1

-- 與 ++一樣

5.7 邏輯運算子

邏輯與:&& 邏輯或:|| 邏輯非:! 這三個運算結果都是boolean型別,true或false

運算式1 && 運算式2,如果有一個運算式為假,結果就為假

運算式1 || 運算式2,如果有一個運算式為真,結果就為真

邏輯非!,假變真,真變假

5.8 位運算子

按位與 &:如果兩個二進制位都是1,則結果為1,否則結果為0

10110101
11001101


10000101

按位或 |:如果兩個二進制為都為0則結果為0,否則結果為1

按位取反 ~:如果該位為0則變為1,該位為1,則變為0

按位異或 ^:如果兩個二進制位相同結果為0,不同為1

5.9 移位運算

左移<<:最左側位不要了,右邊補0

右移>>:最右側位不要了,左邊補符號位(正數補0,負數補1)

無符號右移>>>:最右側位不要了,左側補0

5.10 條件運算子

條件運算子也是Java中唯一一個三目運算子

運算式1?運算式2:運算式3 運算式1結果為真,則結果為運算式2,否則,為運算式3

代碼示例:得到兩個數的最大值 :

 public static void main(String[] args) {
       int a = 12;
       int b = 23;
       int max = a > b ? a : b;
        System.out.println(max);
    }

6.字串

從概念上Java字串就是Unicode字符序列,Java沒有內置的字串型別,而是在Java類別庫中提供了一個預定義類,叫作String,用雙引號括起來的字串都是String類的實體:

String a = " ";
String names = "huanghe";

6.1 子串

String類的substring方法可以從一個較大的字串提取出一個子串,例如:

String str = "hello world";
String str1 = str.substring(0,3);   //會創建"hel"這個字串

注意:在substring中從0開始計數,這里從0開始到3結束(不包括3),也就是復制位置0,1,2

優點:容易計算子串的長度,上述例子中子串的長度為3-0=3,

6.2 拼接

Java允許使用 “+” 連接兩個字串,例:

String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;   //str3 = "helloworld"

注意:單詞之間沒有空格,+號完全按照給定的次序將兩個字串拼接起來,

這種特性常常用于輸出陳述句中,例:

System.out.println("your name is"+name);

6.3 檢測字串是否相等

使用equals方法檢測兩個字串是否相等,格式:str1.equals(str2) , 其結果是布爾型別,可以定義一個布爾型別的變數接收結果,例:

public class OneBlogs {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "world";
        String str3 = "hello";
        boolean a = str1.equals(str3);
        System.out.println(a);
    }
}

運行結果:

6.4 空串與Null串

空串" "是字符長度為0的字串,可以呼叫以下代碼檢查一個字串是否為空串

if (str.length()==0) 或者 if(str.equals(""))

String還可以存放一個特殊值為null,表示目前沒有任何物件與該變數關聯,檢查一個字串是否為null使用如下代碼:

if( str == null )

7.輸入與輸出

7.1 從鍵盤輸入

使用Scanner讀取字串,整數,浮點數

首先需要匯入util包:import java .util .Scanner;

還需構造一個與“標準輸入流”System.in關聯的Scanner物件:

Scanner sc = new Scanner(System.in);

例:

 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String name = sc.nextLine();
        System.out.println(name);
    }

如果想要讀取一個整數,可以呼叫nextInt 方法(這種用的最多)例:

  Scanner sc = new Scanner(System.in);
        int age = sc.nextInt();

7.2 輸出

在這里介紹三種輸出方法:

int age = 20;
 System.out.println(age);      //第一種:輸出自動換行
 System.out.print(age);        //第二種:輸出不換行
 System.out.printf("%d",age);  //第三種:格式化輸出

格式說明符尾部的轉換符指示要格式化的數值的型別:f表示浮點數,s表示字串,d表示十進制數,

8.程式邏輯控制

8.1 if 陳述句

語法格式1:

if(布爾運算式){
          陳述句
      }

如果布爾運算式結果為true,執行大括號中的陳述句,否則不執行,

語法格式2:

if(布爾運算式){
          陳述句1;
      }else{
          陳述句2;
      }

如果布爾運算式結果為true執行陳述句1,否則執行陳述句2,

語法格式3:

 if(布爾運算式1){
          陳述句1;
      }else if(布爾運算式2){
          陳述句2;
      }else{
          陳述句3;
        }

運算式1成立執行陳述句1,運算式2成立執行陳述句2,否則執行陳述句3,

注意:if else 陳述句中可以不加大括號,但是只能寫一條陳述句(不建議這樣使用),else與和它最近的 if 相匹配,實際開放中建議加上大括號,

8.2 switch陳述句

基本語法:

switch(運算式){
         case 1:
             陳述句1;
             break;
         case 2:
             陳述句2;
             break;
         case 3:
             陳述句3;
             break;
         ......
         default:
            不滿足執行此陳述句;
            break;
     }

執行流程:先計算運算式的值,然后與case比較,有對應的就執行對應的陳述句,遇到break結束,當運算式的值沒有與之對應,就執行default下面的陳述句,

注意事項:· 多個case后的常量不可以重復

· switch的括號內只能是以下型別的運算式:

基本型別:byte,char,short,int

參考型別:String常量串,列舉型別

·break不要遺漏,否則會失去“多分支選擇”的效果

·switch 雖然支持嵌套,但是不推薦

8.3 回圈結構

8.3.1 while回圈

語法格式:

  while(回圈條件){
            回圈陳述句;
        }

回圈條件為true,執行回圈陳述句,否則結束回圈

代碼實體:計算1-100的和:

public class OneBlogs {
    public static void main(String[] args) {
        int sum = 0;
        int n = 1;
        while(n<=100){
            sum+=n;
            n++;
        }
        System.out.println(sum);
    }
}

注意事項:while下面的陳述句可以不寫{},但只能寫一條陳述句,建議加上{}

while后面的 { 建議和while寫在同一行

while后面不要多寫分號,否則導致回圈不能正確執行

8.3.2 do while 回圈

語法格式:

 do{
          回圈陳述句;
      }while(回圈條件);

先執行回圈陳述句,在判定回圈條件,回圈條件成立繼續執行,否則回圈結束

注意:while后面要加上分號

代碼實體:列印1-10:

public class OneBlogs {
    public static void main(String[] args) {
        int i = 1;
      do{
          System.out.println(i);
          i++;
      }while(i<=10);
    }
}

8.3.3 for回圈

基本語法:

for(運算式1;布爾運算式2;運算式3){
           回圈陳述句;
        }

· 運算式1:用于初始化回圈變數的初始值設定,再回圈的最開始,只執行一次

· 布爾運算式2:回圈條件,滿足回圈繼續,否則回圈結束

· 運算式3:回圈變數的更新方式

代碼示例:列印1-10:

public class OneBlogs {
    public static void main(String[] args) {
      for(int i=1;i<=10;i++){
          System.out.print(i+" ");
      }
    }
}

注意事項:·for下面的陳述句可以不加{},但是只能執行一條陳述句,建議加上

·for后面的 { 建議寫在同一行

·for后面不要多寫分號,否則導致回圈不能正確執行

9.break與continue的區別

break:break陳述句是終止整個回圈,不會再去判斷回圈條件是否滿足

continue:continue是只終止本次回圈,不是終止整個回圈

舉一個列印1-5的例子體會以下用法:

continue:

public class OneBlogs {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++){
            if(i==3){
                continue;
            }
            System.out.println(i);
        }
    }
}

列印結果:

break:

public class OneBlogs {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++){
            if(i==3){
                break;
            }
            System.out.println(i);
        }
    }
}

列印結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/298349.html

標籤:java

上一篇:2021-09-07

下一篇:【 JavaSE 】方法的使用

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more