日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础语法 第2节 Java语言基本语法

發(fā)布時間:2025/3/21 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础语法 第2节 Java语言基本语法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、標(biāo)識符和關(guān)鍵字

  1.標(biāo)識符  

  • 1)java中標(biāo)識符用來為程序的白能量、常量、方法、類、接口和包名命名,標(biāo)識符由字母、數(shù)字、下劃線、美元符號組成,且第一個字符不能是數(shù)字;
  • 2)標(biāo)志符命名規(guī)則:見名知意原則和駝峰命名法;
  •    2.關(guān)鍵字:被Java語言賦予了特殊含義,用作專門用途的字符串(單詞),關(guān)鍵字中所有字母都為小寫

       3.Java中的名稱命名規(guī)范

    ? ? ? ? ? ?1)包名:多單詞組成時,所有字母都小寫:xxxyyyzzz

    ? ? ? ? ? ?2)類名接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz

    ? ? ? ? ? ?3)變量名和函數(shù)名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz

    ? ? ? ? ? ?4)常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接:XXX_YYY_ZZZ

    二、注釋和標(biāo)簽

  • 單行注釋:// ,多行注釋:/*...*/
  • 文檔注釋:/**
      ? ? ? ? ? *文檔注釋(以@為前綴)
      ? ? ? ? ? */
  • @author:作者名,@version:版本,@parameter:參數(shù)及其意義,@since:最早使用該方法、類的JDK版本,@return:返回值,@throws:異常類機(jī)器拋出條件
  • 三、變量和數(shù)據(jù)類型

      1.進(jìn)制數(shù)

    十進(jìn)制(D

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    二進(jìn)制(B

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    八進(jìn)制(O

    0

    1

    2

    3

    4

    5

    6

    7

    10

    11

    12

    13

    14

    15

    16

    17

    十六進(jìn)制(H

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

      注:八進(jìn)制必須以0開頭,例:0123;十六進(jìn)制必須以0X開頭,例:0X25

      2.各進(jìn)制數(shù)轉(zhuǎn)換

        1)其他類型---->十進(jìn)制:各位數(shù)字分別乘以各自基數(shù)(二進(jìn)制:2,八進(jìn)制:8,十六進(jìn)制:16)的(N-1)次方,并相加求和,其中N是數(shù)字位數(shù)(按權(quán)相加法

          例如:(1001)2=(9)10:1×23+0×22+0×21+1×20=9;(11)8=(9)10:1×81+1×80=9;(25)16=(37)10:2×161+5×160=37;

        2)十進(jìn)制--->其他類型:整數(shù)部分(除基取余法↑),小數(shù)部分(乘基取余法↓),再拼接 

        3)二進(jìn)制---->八進(jìn)制:←整數(shù)部分.小數(shù)部分→,即整數(shù)部分向左每三位轉(zhuǎn)換成二進(jìn)制數(shù),位數(shù)不夠則補(bǔ)0;小數(shù)部分向右每三位轉(zhuǎn)換成二進(jìn)制數(shù),位數(shù)不夠則補(bǔ)0

        4)八進(jìn)制---->二進(jìn)制:與二進(jìn)制-轉(zhuǎn)八進(jìn)制相反

        5)二進(jìn)制----->十六進(jìn)制:←整數(shù)部分.小數(shù)部分→,即整數(shù)部分向左每四位轉(zhuǎn)換成二進(jìn)制數(shù),位數(shù)不夠則補(bǔ)0;小數(shù)部分向右每四位轉(zhuǎn)換成二進(jìn)制數(shù),位數(shù)不夠則補(bǔ)0

        6)十六進(jìn)制----->二進(jìn)制:與二進(jìn)制轉(zhuǎn)十六進(jìn)制相反

        7)八進(jìn)制<----->十六進(jìn)制:八進(jìn)制<--->二進(jìn)制<------>十六進(jìn)制

    ? ? ? ? ? ??

           ?

      3.數(shù)據(jù)類型:

      

      3. 默認(rèn)值:數(shù)值變量:0;字符變量:‘\0’;布爾變量:false;引用數(shù)據(jù)類型:null;'\n':換行;'\t':Tab鍵;'\r':回車

      4. 不同數(shù)據(jù)類型之間的轉(zhuǎn)換(自動轉(zhuǎn)換:如下圖;強(qiáng)制轉(zhuǎn)換:int a = (int)45.3)

      

    ? ? ? ? 注:對于32位的浮點數(shù),最高的1位是符號位s,接著的8位是指數(shù)E,剩下的23位為有效數(shù)字M。如下圖,底數(shù)2,0或1表示正或負(fù)

    ?  

      5.變量:

        1)常量:程序執(zhí)行過程中值不能被改變的量,通常用大寫字母表示

        2)變量:程序執(zhí)行過程中值能被改變的量

        3)定義變量:[訪問修飾符]變量類型? ?變量名 [= 初始值]final 數(shù)據(jù)類型? 常量名稱 [=初始值]

        4)當(dāng)定義的final變量屬于成員變量時,必須定義時賦初始值

        5)變量的有效范圍:

          ?成員變量:類體中定義,整個類中有效

            實例變量:int x = 5;

            靜態(tài)變量(類變量):有效范圍內(nèi)可以”跨類“,甚至達(dá)到整個程序之內(nèi)。使用方法:1.本類中直接存取;2.其他類中以"類名.靜態(tài)變量"調(diào)用

          ?局部變量:方法體中定義,只在當(dāng)前代碼塊有效({變量作用范圍}),包括方法的參數(shù)。局部變量的使用高于成員變量,若同名則成員變量展示隱藏

    三、運算符與表達(dá)式

      1. 算術(shù)運算符

      

      ?算數(shù)運算符的注意問題:

       1)取余(模):余數(shù)正負(fù)與”%左邊“的數(shù)保持一致。例:-1%5 = -1(商0),1%-5 = 1

       2)“+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串。例:System.out.println("5+5="+5+5); //打印結(jié)果是"5+5=10"

       3)++?和 -- 既可以出現(xiàn)在操作數(shù)的左邊,也可以出現(xiàn)在右邊,但結(jié)果不同

      

      

      2.賦值運算符

    ?  

      3. 關(guān)系運算符
      

      4. 邏輯運算符

      

      注:a&&b若a為false則不會判斷條件b,a||b若a為true則不會判斷條件b,

      6. 位運算符

    運算符名稱舉例運算規(guī)則結(jié)果
    &“與”、“位與”5&4如果兩個數(shù)的二進(jìn)制,相同位的數(shù)都是1,則該位結(jié)果是1,否則是0

    5的二進(jìn)制是? 0000 0000 0000 0101,4的二進(jìn)制是? 0000 0000 0000 0100,則結(jié)果是 0000 0000 0000 0100? 轉(zhuǎn)為十進(jìn)制是4

    |“或”、“位或”5 | 4如果兩個數(shù)的二進(jìn)制,相同位的數(shù)有一個是1,則該位結(jié)果是1,否則是0結(jié)果是? 0000 0000 0000 0101? 轉(zhuǎn)為十進(jìn)制是5
    ^“異或、“位異或”5 ^ 4如果兩個數(shù)的二進(jìn)制,相同位的數(shù)只有一個是1,則該位結(jié)果是1,否則是0結(jié)果是? ? ? ? 0000 0000 0000 0001 轉(zhuǎn)為十進(jìn)制是1?
    ~“非”、“位非”~5屬于一元操作符,只對一個操作數(shù)進(jìn)行操作,(其他按位操作符是二元操作符)。按位“非”生成與輸入位相反的值,——若輸入0,則輸出1,若輸入1,則輸出0

    5的二進(jìn)制是? 0000 0000 0000 0101,則~5是 1111 1111 1111 1010? 轉(zhuǎn)為十進(jìn)制是 -6

    >>右移位5>>2按照操作符右側(cè)指定的位數(shù)將操作符左邊的操作數(shù)向右移。“有符號”右移位操作符使用“符號擴(kuò)展”;若符號位正,則在高位插入0;若符號位負(fù)。則在高位插入1 5的二進(jìn)制是? ?0000 0000 0000 0101 右移兩位? 0000 0000 0000 0001
    <<左移位5<<2按照操作符右側(cè)指定的位數(shù)將操作符左邊的操作數(shù)向左移動(在低位補(bǔ)0) 5的二進(jìn)制是? ?0000 0000 0000 0101 左移兩位? 0000 0000 0001 0100
    >>>“無符號”右移位5>>>2使用“零擴(kuò)展”;無論正負(fù),都在高位插入0 5的二進(jìn)制是? ?0000 0000 0000 0101 無符號右移兩位? 0000 0000 0000 0001
    ?負(fù)數(shù)的二進(jìn)制轉(zhuǎn)化,計算機(jī)計算是用的補(bǔ)碼-5

    1、首先取出這個數(shù)的原碼的二進(jìn)制

    2、然后再求出反碼

    3、最后求出補(bǔ)碼

    -5的原碼是? ? ? ? ? ? ? 1000 0000 0000 0101

    求出反碼的是? ? ? ? ? ? 1111 1111 1111 1010

    求出補(bǔ)碼是? ? ? ? ? ? ? ?1111 1111 1111 1011

      注:移位操作符只可用來處理整數(shù)類型;   

      7. 三元運算符

    ? ? ? ??語法形式:布爾表達(dá)式 ? 表達(dá)式1 :表達(dá)式2

    四、數(shù)組:用于存儲一組同一數(shù)據(jù)類型數(shù)據(jù)的容器

      1. 一維數(shù)組

        定義:數(shù)據(jù)類型[ ] 數(shù)組名 = new 數(shù)據(jù)類型[ ]{元素1,元素2……}? 或? ?數(shù)據(jù)類型[ ] 數(shù)組名 = {元素1,元素2……}

      2. 二維數(shù)組:二維數(shù)組的每一個元素是一個一維數(shù)組

        定義:數(shù)據(jù)類型[ ][ ] 數(shù)組名 = new 數(shù)據(jù)類型[二維數(shù)組的長度/包含的一維數(shù)組的個數(shù)][每個一維數(shù)組的長度];

    ?      ? ?數(shù)據(jù)類型[ ][ ] 數(shù)組名 = new 數(shù)據(jù)類型[二維數(shù)組的長度/包含的一維數(shù)組的個數(shù)][ ];

           數(shù)據(jù)類型[][] 數(shù)組名 = {{元素},{元素1, 元素2},……};

      3.數(shù)組在內(nèi)存中的存儲過程

        內(nèi)存:棧內(nèi)存、堆內(nèi)存、方法區(qū)、本地方法棧(和其他語言交互)、寄存器(匯編)

        棧內(nèi)存:可以用于存儲變量,棧內(nèi)存對存入其中的變量不會自動賦值,變量在使用完成之后會立即移出棧內(nèi)存釋放空間

        堆內(nèi)存:用于存儲對象的,堆內(nèi)存對于存入其中的元素會自動的賦予初始值(byte/short/int:0,long:0L;float:0.0f,double:0.0,char:‘\u0000’,boolean:false),引用數(shù)據(jù)類型的默認(rèn)值都是null,對象使用完成之后不會立即移出堆內(nèi)存,而是在不定的某個時刻被回收

    ?

      4.數(shù)組應(yīng)用

      1)常用方法

    • ?Arrays.fill(數(shù)組名,值):將數(shù)組中每個元素賦予相同的值。
    • Arrays.asList(數(shù)組):將數(shù)組轉(zhuǎn)化為集合(set,list)。

      String s[] = {"wyy", "wzz", "wxx"}; List<String> list = new ArrayList<>(Arrays.asList(s)); list.add("whh"); System.out.println("ArrayList是否包含:" + list.contains("whh")); Set<String> set = new HashSet<>(Arrays.asList(s)); System.out.println("集合set是否包含:" + set.contains("wyy"));
    • Arrays.toString(數(shù)組).contains(xxx):數(shù)組是否包含某個元素

    • ArrayUtils.addAll(array, array2)連接兩個數(shù)組

    • arr.join( ", "):根據(jù)分隔符拼接數(shù)組元素

    • ArrayUtils.reverse(array):反轉(zhuǎn)數(shù)組

    • Arrays.equals(score1,score2):比較兩個數(shù)組是否相等
    • Arrays.fill(array,value):數(shù)組填充

    • binarySearch(Object[] a,int fromIndex,int toIndex,Object key):在指定的范圍內(nèi)查找某一元素,在進(jìn)行數(shù)組查詢之前,必須對數(shù)組進(jìn)行排序(可以使用 sort() 方法),如果 key 包含在數(shù)組中,則返回搜索值的索引;否則返回 -1 或“-插入點”

      public static void main(String[] args) {double[] score={99.5,100,98,97.5,100,95,85.5,100};Arrays.sort(score);int index1=Arrays.binarySearch(score,100);int index2=Arrays.binarySearch(score,60);System.out.println("查找到 100 的位置是:"+index1);System.out.println("查找到 60 的位置是:"+index2); }
    • Arrays.copyOf(dataType[] srcArray,int length):默認(rèn)從源數(shù)組的第一個元素(索引值為 0)開始復(fù)制,目標(biāo)數(shù)組的長度將為 length。如果 length 大于 srcArray.length,則目標(biāo)數(shù)組中采用默認(rèn)值填充;如果 length 小于 srcArray.length,則復(fù)制到第 length 個元素(索引值為 length-1)即止。若目標(biāo)數(shù)組如果已經(jīng)存在,將會被重構(gòu)。

    • Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex):其中,srcArray 表示源數(shù)組;startIndex 表示開始復(fù)制的起始索引,目標(biāo)數(shù)組中將包含起始索引對應(yīng)的元素,若目標(biāo)數(shù)組如果已經(jīng)存在,將會被重構(gòu)。

    • System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length):方法位于 java.lang.System 類中,srcArray 表示源數(shù)組;srcIndex 表示源數(shù)組中的起始索引;destArray 表示目標(biāo)數(shù)組;destIndex 表示目標(biāo)數(shù)組中的起始索引;length 表示要復(fù)制的數(shù)組長度。目標(biāo)數(shù)組必須已經(jīng)存在,且不會被重構(gòu),相當(dāng)于替換目標(biāo)數(shù)組中的部分元素。

    • array_name.clone():clone() 方法的返回值是 Object 類型,要使用強(qiáng)制類型轉(zhuǎn)換為適當(dāng)?shù)念愋汀@?#xff1a;int[] targetArray=(int[])sourceArray.clone();目標(biāo)數(shù)組如果已經(jīng)存在,將會被重構(gòu)。

    • Arrays.sort(數(shù)組) :
    • 導(dǎo)入 java.util.Arrays 包。
    • 使用 Armys.sort(數(shù)組名) 語法對數(shù)組進(jìn)行排序,排序規(guī)則是從小到大,即升序。

    ?

      2)數(shù)組元素排序

    • 冒泡排序:在雙層循環(huán)中實現(xiàn),其中外層循環(huán)控制排序輪數(shù),總循環(huán)次數(shù)為要排序數(shù)組的長度減 1。而內(nèi)層循環(huán)主要用于對比相鄰元素的大小,以確定是否交換位置,對比和交換次數(shù)依排序輪數(shù)而減少。
      public voidarrSort(score){ //score是要排序的數(shù)組 System.out.println("通過冒泡排序方法對數(shù)組進(jìn)行排序:"); for(int i=0;i<score.length-1;i++) {//比較相鄰兩個元素,較大的數(shù)往后冒泡for (int j=0;j<score.length-1-i;j++){if(score[j]>score[j+1]){double temp=score[j+1]; //把第一個元素值保存到臨時變量中score[j+1]=score[j]; //把第二個元素值轉(zhuǎn)移到第一個元素變量中score[j]=temp; //把臨時變量(第一個元素的原值)保存到第二個元素中 }System.out.print(score[j]+ " "); //對排序后的數(shù)組元素進(jìn)行輸出 }System.out.print("【");for(int j=score.length-1-i;j<score.length;j++){System.out.print(score[j]+" ");}System.out.println("】"); } }
    • 選擇排序:每一趟從待排序的數(shù)據(jù)元素中選出最大(或最小)的一個元素,順序放在已排好序的數(shù)列的最后,直到全部待排序的數(shù)據(jù)元素排完
      int[] number={13,15,24,99,4,1}; String end="\n"; int index; for(int i=1;i<number.length;i++) {index=0;for(int j=1;j<=number.length-i;j++){if(number[j]>number[index]){index=j; //查找最大值 }}end=number[index]+" "+end; //定位已排好的數(shù)組元素int temp=number[number.length-i];number[number.length-1]=number[index];number[index]=temp;System.out.print("【");for(int j=0;j<number.length-i;j++){System.out.print(number[j]+" ");}System.out.print("】"+end); }

    五、流程控制語句(if,switch,for,while,do...while)

      

      2. 循環(huán)語句

      

      3.return 語句:用于終止函數(shù)的執(zhí)行或退出類的方法,并把控制權(quán)返回該方法的調(diào)用者。如果這個方法帶有返回類型,return 語句就必須返回這個類型的值;如果這個方法沒有返回值,可以使用沒有表達(dá)式的 return 語句。

      4.break 語句:有 3 種作用,分別是:在 switch 語句中終止一個語句序列、使用 break 語句直接強(qiáng)行退出循環(huán)和使用 break 語句實現(xiàn) goto 的功能。

      5.continue 語句:是跳過循環(huán)體中剩余的語句而強(qiáng)制執(zhí)行下一次循環(huán),其作用為結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。continue 語句類似于 break 語句,但它只能出現(xiàn)在循環(huán)體中。它與 break 語句的區(qū)別在于:continue 并不是中斷循環(huán)語句,而是中止當(dāng)前迭代的循環(huán),進(jìn)入下一次的迭代。簡單來講,continue 是忽略循環(huán)語句的當(dāng)次循環(huán)。

      注:continue 語句只能用在 while 語句、for 語句或者 foreach 語句的循環(huán)體之中,在這之外的任何地方使用它都會引起語法錯誤。

    ?  6.標(biāo)簽功能:跳出外層循環(huán)

    標(biāo)簽名:循環(huán)體{      
          break 標(biāo)簽名;    
        } Loop:for(int i=0;i<3;i++){for(int j=0;j<3;j++){if(j==4){break Loop; //此處也可以用continue:跳過外層本次循環(huán),執(zhí)行外層下一次循環(huán)       }} }

    ?

    ?

    ?

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/yutianbao/p/10454187.html

    總結(jié)

    以上是生活随笔為你收集整理的Java基础语法 第2节 Java语言基本语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。