JAVA學習筆記1/4

2021-02-15 NPC存檔

    記錄個人在網上看視頻寫下來的筆記,視頻一個400多個(平均一個視頻6分鐘),這裡大概是100個多些的視頻所做的筆記,這只是入門筆記的1/4,練習的代碼就不放了,太多了,又零散。

1.關鍵字:全小寫,顏色會顯示不一樣(大概50個)

2.常量概述:
    字符串常量:括號括起來的內容("helloworld")
    整數常量:2,1,3
    小數常量:1.111
    字符常量:A,B,C
    布爾常量:0/1
    空常量:不能直接輸出
3.數據類型:                - 整數(byte,short,long)
                數值型:|- 浮點型(float,double)
                |        - 字符(char)
    (1).基本數類型:        
                |        
                非數值型:-布爾(boolean)
    
    
                    |-類(class)
    (2).引用數據類型: |-接口(interface)
                    |-數組([])

    3.2數類型的佔用內存:
    整數:byte(1)[取值範圍:-128~127],short(2)【-32768~32767】,int(4)【-2的31次方~2的31次方-1】,long(8)
    浮點型:float(4),double(8)
    字符:char(2)
    布爾:boolean(1)

4.變量:在程序運行過程中,值可變的
    格式:數類型 變量名=變量值
    示例:int a=100;
    注意事項:定義long類型的變量,數值後需要加L,如long l=10000000L
    定義浮點型:float型,防止不兼容,需加F,如float f=3.14F

5.標識符:給類,方法,變量等起名的符號
定義規則:
    由數字,字母,下劃線_和美元符號組成
    不能以數字開頭
    不能是關鍵字
    區分大小寫
    
命名約定:
針對方法,變量:
標識符是一個單詞時,首字母小寫。標識符是多個單詞組成時,首字母小寫,其他單詞首字母大寫
針對類:
首字母大寫,每個單詞首字母大寫

6.類型轉換:1.自動類型轉換 2.強制類型轉換
    自動類型轉換:將一個表示範圍小的數字或變量賦值給另一個大的;如:double d=10--->int a=d或float n=d;
    強制類型轉換:講一個表示範圍大的數字或變量賦值給另一個大的:如:int k=(int)3.14
    強制類型轉換會有數值丟失,如3.14會變3

7.運算符:對常量或變量進行操作的符號
    +(加),-(減),*(成),/(除),%(取餘)等,有運算符的表達式稱算術表達式
    數值不能與boolean值運算,整數相除只能得整數,需要浮點數則需要有浮點數相除

    7.2 字符參與運算時,會將字符對應的數值參與運算
    如 char a='A';int i=10; a+i=75,因為A的數值為65
    A-Z是連續的,A=65,B=66
    a-z;a=97,b=98
    0-9;48.(零到九)
    ·算術表達式中包含多個基本數據類型的值,整個算術表達式的類型會自動提升
    ·提升到表達式中最高等級的操作數相同的類型
    提升規則:byte,short,char-->int-->long-->flort-->double

8.字符串的+操作
    字符串+字符串:將字符串拼接起來 如:「abc」+"hjk"="abchjk"
    字符串+數值:將字符串和數值拼接, 如:「bab」+989=bab989
    數值+數值+字符串:如:12+1+"ads"=13ads,多個運算符是從左到右運算

9.賦值運算符:
    符號        作用:
     =         賦值
    +=      加後賦值
    -=      減後賦值
    *=      乘後賦值
    /=      除後賦值
    %=      取餘後賦值

10.自增自減運算符:
    符號:        作用:
    ++            自增
    --            自減
可放變量前或後都可以,當非單獨使用時,++放前面則++先參與運算,放後面則後參與運算

11.關係運算符:
    符號:        說明:
    ==            判斷是否相等,否為false
    !=            判斷是否不相等
    >            判斷是否大於
    <            判斷是否小於
    >=            判斷是否大於等於
    <=            判斷是否小於等於
結果必然是true或false

12.邏輯運算符:用來連接關係表達式的運算符,也可以直接連接boolean和常量或變量
    符號:        作用:
    &            與
    |            或
    ^            異或(當連接的兩個判斷結果不一樣,則為ture)
    !            非

如:x>3和x<6 ---> x>3&x<6
異或:如 int i=10;int a=3;int j=23;
i>a^a>i--->為ture
i>a^a<i--->為false

13.短路邏輯運算符:
    符號:            作用:
    &&                短路與
    ||                短路或
·作用於基本的&和|基本相同
·但&,|是無論左邊是真假,右邊都執行
·||,&&一旦左邊為False,則右邊不會執行

14.三元運算符:
    格式:關係表達式?表達式1:表達式2;
    如:a>b?a:b
    計算規則:
    首先計算關係表達式的值
    如果為ture,表達式1的值就是運算結果
    如果為false,表達式2的值為運算結果

15.數據輸入:
    Scanner的使用步驟:1.導包 2.創建對象 3.接收數據
    導包:import java.util.Scanner;【必須出現在類定義上邊】
    創建對象:Scanner sc=new Scanner(System.in);[只有sc是變量名]
    接收數據:int i=sc.nextInt();[只有i是變量名,其他不許變]

16.流程控制語句概述:
·順序結構
    按代碼的順序運行(從上往下開始)
·分支結構(if,switch)
    if格式:
        if(關係表達式){
            語句主體;
        }

    if..else格式:
        if(關係表達式){
            語句主體1;
        }else{
            語句主體2;
        }

    if..else if...else格式:
        if(關係表達式1){
                語句主體1;
            }else if(關係表達式2){
                語句主體2;
            }...(關係表達式N){
                語句主體N;
            }else{
                語句主體N+1;
            }

先計算關係表達式的值
如果為ture則執行語句主體
如果為false則不執行語句主體

switch語句:
格式:
switch(表達式){
        case 值1:
            語句體1;
            break;
        case 值2:
            語句體2;
            break;
        
        default:
            語句體n+1;
            [break;]
    }
    1.首先計算表達式的值
    2.依次和case後面的值進行比較,如果有對應的值則執行相應語句體,遇到beark會結束
    3.如果值與case的值都不匹配,則執行default後面的語句體,然後結束程序
    注意:不寫break是會有穿透現象出現(會繼續執行下去)

**·循環結構(for,while,do....while)**
    for 循環格式:
    for (1.初始化語句;2.條件判斷語句;3.條件控制語句){
        循環體語句;
    }
    流程:
    1.執行初始化語句
    2.執行條件判斷語句,為false結束循環,為ture繼續執行
    3.執行循環體語句
    4.執行條件控制語句
    5.回到2中繼續循環

while循環格式:
    基本格式:
    while(條件判斷語句){
        循環體語句;
    }
    
    完整格式:
    初始化語句;
    while(條件判斷語句){
        循環體語句;
        條件控制語句;
    }
    流程:
    1.執行初始化語句
    2.執行條件判斷語句,為true繼續,為false循環結束
    3.執行循環體語句
    4.執行條件控制語句
    5.執行步驟2

do...while循環語句格式:
基本格式:
    do{
        循環體語句;
    }while(條件判斷語句);
    
    完整格式:
    初始化語句:
    do{
        循環體語句;
        條件控制語句;
    }while(條件判斷語句);
    流程:
    1.執行初始化語句
    2.執行循環體語句
    3.執行條件控制語句
    4.執行條件判斷語句,為true繼續執行,為false結束循環
    5.回到2繼續
**三種循環的區別:**
    for和while循環先判斷後執行,do....while是先執行後循環
**for與while的區別:**
    條件控制語句在for循環的語法結構中,在for循環結束後不能再次被訪問
    條件控制語句在while中是屬於自增的變量,while循環結束後能繼續被訪問
死循環:
for(;;){}
while(ture){}
do{}while(ture)

17.跳轉控制語句:
跳轉控制語句概述:
    continue:用在循環中,基於條件控制,跳過某次循環體內容執行,繼續下一次的循環
    break:用在循環中,基於條件控制,終止循環體內容的執行,意味著結束循環

18.循環嵌套:
任何語句對外都可看成是一句話,一句代碼分支語句中包含分支語句稱為*分支嵌套,就是說if中套if*
*循環中套循環稱循環嵌套*

19.**Random:用於產生一個隨機數**
    使用步驟:
    1.導包:import java.util.Random;
    2.創建對象:Random r=new Random();
    3.獲取隨機數:int number=r.nextInt(10);//獲取數的範圍:[0,10),包括0,不包括10

20.IDEA概述和安裝:
地址:https://www.jetbrains.com/idea
快速生成語句:
    psvm:生成main語句:
     public static void main(String[] args) {
            
        }
    sout:生成輸出語句:
     System.out.println();
內容輔助鍵:
    ctrl+alt+space(內容提示,代碼補全)

快捷鍵:
    ctrl+/注釋
    ctrl+shift+/取消注釋
    格式化:ctrl+Alt+L

21.數組:用於存儲多個同類型的數據的存儲模型
    定義格式:
    格式一:數據類型[] 變量名
    如:        int[] arr
    定義了一個int類型的數組,名為arr
    
    格式二:數據類型 變量名[]
    如:      int arr[]
    定義了一個int類型的變量,變量名為arr的數組
    
21.1數組的初始化:動態初始化,靜態初始化
**動態初始化:初始化時只指定數組長度,由系統為數組分配初始值**
格式:數據類型[] 變量名=new 數據類型[數組長度]
如:        int[] arr=new int[3]
    左邊:
        int:數組的元素類型是int類型
        []:說明這是個數組
        arr:數組名稱
    右邊:
        new:為數組申請內存空間
        int:數組中的元素類型是int類型
        []:說明是個數組
        3:數組裡的元素個數為3
21.2數組的訪問:數組名稱【索引】

21.3內存分配:int[] arr=new int[3];
數組在初始化時,會默認給存儲空間添加默認值
    ·整數:默認值為0
    ·浮點數:默認值為0.0
    ·布爾值:默認值為false
    ·字符:默認值為空字符
    ·引用數據類型:默認為Null
            ||
            ||
           \||/
            \/
    先運行右邊的那部分,並給上地址名(直接輸出數組名可看到地址),
    索引和初始值,然後賦值給左邊的變量名【左邊的稱為:棧內存,右邊稱為:堆內存】
    棧內存:存儲局部變量,定義在方法中的變量,如|arr,使用完畢就會消失
    堆內存:存儲new出來的內容,每個new出來的東西都有一個地址值,使用完畢會被回收
**如果將一個數組賦值給另一個數組,則兩個數組的指定位置是相同的,其中一個數組將值改變,另一個**數組的值也會改變

**靜態初始化:初始化時指定每個數組元素的初始值,由系統決定長度**
    格式:數據類型[] 變量名=new 數據類型[]{數據1,數據2,數據3};
    簡化格式:數據類型[] 變量名={數據1,數據2,數據3};
    如:    int[] arr=new int[]{1,2,3,4,5}/則數組長度為5
    如:    int[] arr={1,2,3,4,5}

21.4:數組操作的小問題:
1.索引越界:訪問數組中不存在的索引對應的元素,造成索引越界問題
        ArrayIndexOutOfBoundsException
2.空指針異常:訪問的數組已經不再指向堆內存的數據,造成空指針異常
        NullPointerException【有空值】
3.Null:空值,引用數據類型的默認值,表示不指向任何有效的對象

21.5數組的常見操作:
·遍歷【就是循環數組】
·獲取數組元素數量:格式:數組名.length,如:arr.length
·獲取最值【最大值,最小值】
思路:創建一個變量,存儲數組第一個值,然後遍歷數組進行比較,儲存大的值或小的值,循環結束後便可獲取最值

22.**方法**:
    方法:是將具有獨立功能代碼塊組織成為一個整體,使其具有特殊功能代碼集
    注意:方法必須先創建才可以使用,該過程稱為定義,創建後的執行稱為調用

    格式:public static void 方法名(){
            方法體;
    }
    如:public static void isevennumber(){
            int a=10;
            if(a%2==0){
                System.out.println(true);
            }else {
                System.out.println(false);
            }
        }
    調用:在public static void main(String[] args)中調用,如:
            public static void main(String[] args) {
                    isevennumber();//方法
                }
**帶參數的方法定義和調用:**
    格式:public static void 方法名(參數){}
    public static void 方法名(數據類型 變量名){}

    多個參數格式:public static void 方法名(參數1,參數2,參數3....){}
    public static void 方法名(數據類型 變量名1,數據類型 變量名2,數據類型 變量名3....){}

    如:public static void 方法名(int a){}
    public static void 方法名(int a1,int a2,int a3){}
    注意:數據類型和變量名不可缺少,變量之間用(,)隔開
    調用:格式:方法名(參數);
    單個參數:方法名(變量名/常量值);
    isEvenNumber(5);
    
    多個參數:方法名(變量名1/常量值1,變量名2/常量值2,...);
    isEvenNumber(5,6....);
*形參和實參*
形參:方法定義中的參數(方法名(int i))
實參:方法調用中的參數(在main中引用是的參數,如:方法名(5),int i=5;)

*帶返回值的定義和調用*
    ·帶返回值方法定義:
    格式:public static 數據類型 方法名(參數){
                return 數據;
    }
    
    如:public static boolean isEvenNumber(int number){
                return true;
    }
    
    public static int isEvenNumber(int a,int b){
                return 100;
    }
    注意:返回值需要與方法定義上的數據類型匹配
*帶返回值的方法調用:*
    格式1:方法名(參數);
    isEvenNumber(5);
    格式2:數據類型 變量名=方法名(參數);
    boolean flag=isEvenNumber(5);
#注意,一般用變量接收返回值,否則無意義
#void表示無返回值
#方法與方法不能嵌套使用

*方法通用格式*
格式:
    public static 返回值類型 方法名(參數){
        方法體;
        return 數據;
    }
    ·public static >修飾符
    ·返回值類型 >如果寫void則表示無返回值,一般不寫return。
    ·方法名 ->調用方法時使用的標識
    ·參數 --->由數據和變量名組成,多個參數逗號隔開
    ·方法體---->完成功能的代碼塊
    ·return---->方法操作完畢後,有數據返回,則將數據返回給調用者

*方法重載概述*
    概述:同一個類中定義的多個方法之間的關係
    1.多個方法在同一個類中
    2.多個方法具有相同的方法名
    3.多個方法的參數不同,類型不同或者數量不同
#與返回值無關,調用時java虛擬機會通過參數的不同來區分

*方法參數傳遞*
方法參數傳遞(基本類型)
syso()是輸出的縮寫方式
     public static void main(String[] args) {
            int number=100;
            System.out.println(number);#輸出為100
            change(number);
            System.out.println(number);#輸出為100
        }
        public static void change(int number){
            number=200;
        }#兩個的輸出結果都是100
#注意:對於基本數據類型的參數,形式參數的改變不影響實際參數的值
#即方法中定義的參數不會實際影響不是那個方法中定義的參數
#對於引用類型的參數,形式參數的改變會影響實際參數的改變,如:數組類的 int[] arr定義於方法中,在方法中改變值,實際值會改變
     public static void main(String[] args) {
                int arr={1,2,3};
                System.out.println(arr[1]);#輸出為2
                change(number);
                System.out.println(arr[1]);#輸出為200
            }
            public static void change(int[] arr){
                arr[1]=200;

System.out.println("內容");/輸出並換行
System.out.print("內容");/不換行輸出

**Debug**
概述:dehug是提供程序調試的工具,用於查看程序的執行流程,也可以用於追蹤程序執行過程來調試程序
debug調試,又稱斷點調試:
1.如何加斷點
在窗口左邊點左鍵
2.如何運行加了斷點的程序:
點擊debug運行
3.看哪裡:
看debug窗口
4.點哪裡

5.如何刪除斷點
在標記地方點左鍵

**類和對象**
面向對象:關注的信息,功能等(面向一個具體的東西工作)
類:具有共同屬性和行為的事物的抽象
類的特點:
·是對象的數據類型
·具有相同屬性和行為的一組對象的集合

對象的屬性:對象具有的各種特徵,每個對象的每個屬性都擁有特定的值,如(品牌【屬性】:小米【值】)
對象的行為:對象能執行的操作

類和對象的關係:
類·對現實生活中一類具有共同屬性和行為的事物的抽象
對象·能夠看得到摸得到的真實存在的實體

*類的定義*
類的組成:屬性,行為
屬性:在類中通過成員變量來體現(類中方法外的變量)
行為:通過成員方法來體現

類的定義步驟:
1.定義類:public class 類名{        

2.編寫類的成員變量:數據類型 變量1;
                  數據類型 變量2;
                    .
3.編寫類的方法:        方法1;
                    方法2;
                    .
                }
    如:
1.定義類     public class Phone {
2.成員變量        String brand;
                int price;
3.成員方法        public void call(){
                    System.out.println("打電話");
                    }
                public void sendMessage(){
                    System.out.println("發簡訊");
                }
            }

*類和對象:*
    創建對象:類名 對象名=new 類名();
    如:Phone p=new Phone();
    
    使用對象:
    1.使用成員變量:
    格式:對象名.變量名
    如:p.brand
    
    2.使用成員方法
    格式:對象名.方法名
    如:p.call()

*對象內存圖*
分別有棧內存和堆內存;
棧內存:用來執行方法之類的,執行完畢就會消失(就是暫時的內存)
堆內存:一直都會在的,就算棧內存的方法執行完了也不會消失
#注意:在調用類時,改變了變量的值並不會影響到類中定義的變量值
    #student s1=new student();
    #student s2=new student();
    #這兩個變量引用的地址是不一樣的,所以s1中改變了變量值不會影響到s2
    
    #student s1=new student();
    #student s2=s1;
    #這兩引用的地址是一樣的,所以s1改變了變量值會影響到s2

*成員變量,局部變量*
成員變量:類中方法外的,堆內存,有默認初始值
局部變量:方法內或方法聲明上,棧內存,無默認初始值(必須賦值才能使用)

*封裝*
    private關鍵字:
    ·權限修飾符
    ·可修飾成員(成員變量,成員方法)
    ·作用:保護成員不被別的類使用,被private修飾的成員只能在本類中才能訪問
#如果需要被其他類使用,則需提供相關操作;
·提供「get變量名()」方法,用於獲取成員變量的值,方法用public修飾
·提供「set變量名(參數)」方法,用於設置成員變量的值,方法用public修飾
使用了private關鍵詞後:
更改變量值   public int setAge(int ag){
                if(ag<0|ag>120){
                    System.out.println(".");
                }else {
                    age=ag;
                }
                return age;
            }
獲取變量值
            public int getAge(){
                    return age;
                }
調用:
        student st=new student();
        st.setAge(30);
        st.setName("卡夫卡");
        System.out.println(st.getAge()+"."+st.getName());
        st.show();

*this關鍵字*
    作用:在方法中調用成員變量(當局部變量和成員變量同名時)
    使用方法:this.變量名
*封裝*
概述:
·是面向對象三大特徵之一(封裝,繼承,多態)
·是面向對象程式語言對客觀世界的模擬,客觀世界裡成員變量都是隱藏在對象內部的,外部是無法直接操作

原理:
將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問
成員變量private,提供對應的getXxx()、setXxx()方法

好處:
·提高代碼安全性
·提高代碼復用性

*構造方法*
作用:創建對象
格式:
public class 類名{
    修飾符 類名(參數){
    
    }
}
功能:主要完成對象數據的初始化
#一般在類中使用:
public student(){};
   public student(String name,int age){
       this.name=name;
       this.age=age;
   }
引用時如果是帶參數的構造方法,則需要傳入參數

*標準類製作*
    1.成員變量
    ·使用private修飾
    2.構造方法
    ·提供一個無參構造
    ·提供一個帶多個參數的構造方法
    3.成員方法
    ·提供每一個成員變量對應的srtXxx()/getXxx()
    ·提供一個顯示對象信息show()
    4.創建對象並為其成員變量賦值的兩種方式
    ·無參構造方法創建對象後用setXxx()賦值
    ·使用帶參構造方法直接創建帶有屬性值的對象

*API(Application Programming Interface)概述*
api:應用程式編程接口
java api:指的就是JDK中提供各種功能的java類,這些類將底層的實現封裝起來,在幫助文檔中學習使用

String 構造方法:
public String() 創建一個空白字符串對象,不含任何內容
public String(char[] chs) 根據字符數組的內容,來創建字符串對象
public String(byte[] bys)根據字節數組內容,來創建字符串對象
String s="abc" 直接賦值的方式創建字符串對象,內容就是abc 
如:
String s1=new String();
char[] chs={"a","b","c","d"};
String s2=new String(chs);#則s2被賦值為abcd
byte[] bys={97,98,99,100};
String s3=new String(bys);#因為對應為abcd,所以也是賦值為abcd

String對象的特點:
·用new創建的字符對象,地址是不一樣的
·以""方式給出的字符串,都一樣的

字符串的比較:比較字符串是否相同
equals()
public boolean equals(obect1,obect2);
使用:object1.equals(object2);

遍歷字符串:.length(),獲取長度
public char charAt(int index):返回指定索引處的char值
如:String line=sc.nextline();
line.charAt(索引)/獲得指定索引的字符

相關焦點

  • Java基礎學習心得筆記
    對於很多只會C語言的初學者而言,面對java基礎語法學習,反而感覺很難,其實其中最大的問題不是語法難,而是一種編程思想的轉變。
  • 零基礎學習初識Java筆記
    1、安裝JDK 1.8 64位的版本(特別重要 最新版是1.8)安裝 點下一步 最後點關閉64位的作業系統可以安裝64位的和32位的軟體32位的作業系統只能安裝32位的軟體2、配置環境變量java -version 檢測jdk版本的開發java:1.新建文本文檔2.編寫java代碼3.更改文件後綴名為 .java4.按Windows+R
  • JAVA零基礎學習總結及筆記
    學習要有耐心第1章:初識Java1.1 Java語言概述1.1.1Java名稱來歷:(從最初的Oak(橡樹)到工程師們邊喝咖啡邊討論著,看看手上的咖啡,聯想到印度尼西亞有一個盛產咖啡的島嶼Java(中文名叫爪哇
  • 讀 Java Arrays 源碼 筆記
    它提供的操作包括:排序 sort查找 binarySearch()比較 equals填充 fill轉列表 asList()哈希 Hash()轉字符串 toString()這個類的代碼量很多,Java1.7中有4000多行。
  • Kotlin學習筆記——基礎篇
    is循環 for, while區間 for(x in 1..5)包含5, for(x in 1 until 5)不包含5, downTo/step(2)習慣用法數據類 data class Customer(val name: String, val email: String)具備以下能力:所有屬性的getters(對於var定義的還有setters)
  • 最全的Java 運算符教程筆記
    運行結果為:1.進行自增運算後的值等於42.進行自減運算後的值等於2解析:int b = ++a; 拆分運算過程為: a=a+1=4; b=a=4, 最後結果為b=4,a=4int d = --以上實例編譯運行結果如下:1.a & b = 122.a | b = 613.a ^ b = 494.
  • 如何學習Java,哪裡開始學Java比較好?
    如何學習Java?哪裡開始學Java比較好?當然是從基礎開始學習咯,學習需要循序漸進  新手前期主要是安裝開發工具,基本入手步驟:  開發環境搭建,安裝JDK  安裝開發工具 - eclipse  買書籍或者看電子書:學習Java有哪些值得推薦的Java書籍?
  • 老杜帶你學Java【第十課】
    (此處應該有掌聲👏👏👏)本專題為《零基礎學Java》專題,將帶你學習2020年全新Java零基礎教程,由杜老師親自錄製,採用JDK13版本,包含316集視頻,18篇課堂筆記。我們的推送內容將以「 學習視頻 + 對應筆記 」的形式為大家呈現,每周一更。共18課。
  • 如何快速學習Java?
    【CSDN編者按】在各大程式語言學習榜單上,Java的入門難度不言而喻。除了要科學選擇一門適合自己的程式語言,還有沒有快速入門的方法呢?近期,我們整理了來自Quora上來自網友的回答,希望給予更多參考。回復一:1.
  • 8千字java反射乾貨|java反射精講
    java反射機制精講目錄1. 反射機制的概念2. 反射的基礎Class類3. 反射的用法4.通過Class獲取任意一個類的屬性Student類的代碼package demo.qzxxbj.entity;/** * @author 微信公眾號:全棧學習筆記 * @date 2020/3/29 * @description */public class Student
  • 學習筆記 | Java虛擬機第一篇
    的使用    4、雙親委派機制    5、其他三、運行時數據區概述及線程    1、運行時數據區    2、線程四、程序計數器    1、PC寄存器介紹    2、兩個常見問題五、虛擬機線    1、虛擬機棧概述    2、棧的存儲單位
  • Java 基礎語法教程筆記
    再鍵入java HelloWorld 按下Enter鍵就可以運行程序了你將會在窗口看到 Hello WorldC : > javac HelloWorld.javaC : > java HelloWorld Hello World編寫Java程序時,應注意以下幾點:大小寫敏感
  • Java獲取當前路徑的幾種方法
    中獲取路徑JAVA中獲取路徑:1.jsp中取得路徑:以工程名為TEST為例:(1)得到包含工程名的當前頁面全路徑:request.getRequestURI()結果:/TEST/test.jsp(2)得到工程名:request.getContextPath()結果:/TEST
  • Java 學習路線
    ,包括從基礎、到 C++ 入門、進階、提升的視頻、書籍推薦,這些都是我大學期間真實走過的路,還沒看過的,先看下上篇文章:1、Linux C/C++ 學習路線(已拿騰訊、百度 offer)公眾號、以及朋友圈下面留言,有不少讀者希望我寫一篇 Java 的學習路線,以及我對於 Java 方向的看法。
  • 零基礎學java,常見的誤區和解決方法
    寫一篇經驗分享的文章,現在很多人學習java 第一,覺得java很難, 第二,覺得java 找工作不好找, 第三,也有人說java飽和了, 現在確實是行業的要求越來越高了, 早在07年的時候把
  • 老杜帶你學Java【第六課】
    (此處應該有掌聲👏👏👏)本專題為《零基礎學Java》專題,將帶你學習2020年全新Java零基礎教程,由杜老師親自錄製,採用JDK13版本,包含316集視頻,18篇課堂筆記。我們的推送內容將以「 學習視頻 + 對應筆記 」的形式為大家呈現,每周一更。共18課。
  • Java項目筆記之MongoDB總結
    db.users.update({name:'dafei'}, {$addToSet:{hobby:'java'}})$pop 刪除數組中數據, 1:刪除最後一個,  -1: 刪除第一個db.users.update({name:'dafei'},{$pop:
  • 架構師學習 java架構師學習需要具備哪些能力
    架構師學習 java架構師學習需要具備哪些能力2020/7/30 15:22:22 來源:法治中國 【字體:大 中 小】【收藏本頁】【列印】【關閉】核心提示:IT行業中沒有人對java不熟悉的,而java架構師是近年來很吃香的,想要進行架構師學習,需要專業的平臺進行系統性的學習才能掌握架構師必備的一些能力
  • Javaweb開發學習路線及Java三大框架分享
    學習目標:Java程式設計師1: 熟悉jdk,jvm,eclipse,安裝於配置jdk2:熟悉並掌握java的基礎語法,類,抽象類,接口,內部類等概念3: java核心編程,如輸入輸出流,多線程,集合,XML,正則表達式等4:java
  • 從1+1=2來理解Java字節碼
    說明:本次採用的環境是OpenJdk12編譯「1+1」代碼首先我們需要寫個簡單的小程序,1+1的程序,學習就要從最簡單的1+1開始,代碼如下:package top.luozhou.test;/** * @description: * @author: luozhou * @create: 2019-12-25 21:28 **/public