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

歡迎訪問 生活随笔!

生活随笔

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

java

Java基础小记

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

一、數(shù)據(jù)類型轉(zhuǎn)換

?

 1、引用數(shù)據(jù)類型

  包裝類型:Byte、Short、Long、Integer、Character、Float、Double、Boolean

 2、基本類型與包裝類轉(zhuǎn)換

   Java里有8種包裝類,分別對應(yīng)8種基本數(shù)據(jù)類型

   基本數(shù)據(jù)類型是值類型,包裝類是引用數(shù)據(jù)類型

 ?、?基本數(shù)據(jù)類型轉(zhuǎn)成包裝類型,即值類型轉(zhuǎn)成引用數(shù)據(jù)類型成為裝箱

    int m=20;

    Integer num2=new Integer(m);

?

    boolean b1=false;

    Boolean bool3=new Boolean(b1);

 ?、?包裝類型轉(zhuǎn)成基本數(shù)據(jù)類型,即引用數(shù)據(jù)類型轉(zhuǎn)成值類型成為拆箱

    Integer num=new Integer(10);

    //可以通過.語法來調(diào)用對象的方法

    //intValue是要獲取對象的int型的值

    int n=num.intValue();

?

    Boolean bool=new Boolean(true);

    boolean bool2=bool.booleanValue();

?

    Double d=new Double(2.244);

    double d1=d.doubleValue();

 3、字符串與基本類型轉(zhuǎn)換

  ① 字符串轉(zhuǎn)成基本數(shù)據(jù)類型

    String s="36";

    //***包裝類對象.parse***(參數(shù))方法

    //是將字符串轉(zhuǎn)成基本數(shù)據(jù)類型***

    int n2=Integer.parseInt(s);  //轉(zhuǎn)換成int型

?

    double d2=Double.parseDouble(s);  //轉(zhuǎn)換成double型

?

    String f="1.2f";

    float f2=Float.parseFloat(f);  //轉(zhuǎn)換成float型

 ?、?基本數(shù)據(jù)類型轉(zhuǎn)換成字符串

    String s=String.valueOf(123);

    String s=Integer.toString(123);

    String s=123+"";

?

二、分支與循環(huán)

 1、順序結(jié)構(gòu)

 2、選擇結(jié)構(gòu)

 ?、?順序選擇(單個條件和多個條件)

     if(條件){

     }else if(條件2){

     }else{

     }

  ② 嵌套if選擇結(jié)構(gòu)

 ?、?switch選擇結(jié)構(gòu):

     switch(表達(dá)式){

     case(常量1):

       語句1;

       break;   //跳出

     case(常量2):

       語句2;

       break;

     default:

       語句3;

       break;

     }

  if與switch的聯(lián)系與區(qū)別:

 * switch和if-else相比,由于使用了優(yōu)化算法(Binary Tree),絕大部分情況下switch會快一點(diǎn),除非是if-else的而第一個條件就為 true

 * 等值分支使用switch

 3、循環(huán)結(jié)構(gòu)(while,for,do while,foreach語句)

  (1) while循環(huán)

    特點(diǎn):先判斷,再執(zhí)行

     while(循環(huán)條件){

       循環(huán)操作

     }

  (2) do while (選擇是否要先執(zhí)行一次:while/do while)

   特點(diǎn):先執(zhí)行(最少執(zhí)行一次),再判斷

    do{

      循環(huán)操作

    }while(循環(huán)條件);

  (3) for循環(huán):先判斷,再執(zhí)行(已知循環(huán)次數(shù))

    for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

    循環(huán)操作;

    }

  ?for(參數(shù)初始化;條件判斷;更新循環(huán)變量){

    循環(huán)操作;(循環(huán)體被執(zhí)行)

  }

  執(zhí)行順序:參數(shù)初始化--->條件判斷--->循環(huán)操作--->更新循環(huán)變量

?

三、 數(shù)組

 1、定義

  (1) 數(shù)組是一組變量集合,存儲相同數(shù)據(jù)類型的一組數(shù)據(jù)

   數(shù)組:在內(nèi)存中開辟的一串用于存儲相同數(shù)據(jù)類型的連續(xù)空間!!

  (2)?數(shù)組名:表示連續(xù)空間的首地址,通過地址可以依次訪問數(shù)組所有元素。

  (3)下標(biāo):元素在數(shù)組中的排序叫做下標(biāo),從0開始。

  (4)?數(shù)組長度一旦聲明,將不可改變,不可追加。

 2、數(shù)組名:即標(biāo)識符,連續(xù)空間的首地址

   匈牙利命名法(所有字母都小寫)

 3、數(shù)組的聲明

  1)明數(shù)組:int[] arr; 或? int arr[];? //聲明一個int類型的數(shù)組

  2)給數(shù)組分配空間:arr=new int[5];

    Exception---數(shù)組下標(biāo)越界(運(yùn)行錯誤)

  3)給數(shù)組賦值:

  ?、?arr[0]=1;

  ?、?使用循給數(shù)組賦值

  4)訪問數(shù)組數(shù)據(jù):使用數(shù)組下標(biāo)訪問

?  [數(shù)組聲明縮寫]

  *? int[] arr={1,2,3,4,5};  ? //自動分配五個空間

  *? int[] arr=new int[]{1,2,3,4,5};?   //new int[]的[]一定不能放內(nèi)存大小?

 5、基本數(shù)據(jù)類型和引用數(shù)據(jù)類型

  1)基本數(shù)據(jù)類型:聲明時直接在棧內(nèi)中開辟空間,并直接在當(dāng)前空間中存放數(shù)據(jù);

    賦值時傳遞的是變量中的值。

    基本數(shù)據(jù)類型是傳值的

  2)引用數(shù)據(jù)類型:聲明引用數(shù)據(jù)類型(數(shù)組或?qū)ο?#xff09;,會將實際的數(shù)據(jù)存放在堆內(nèi)存中。

    同時,在棧內(nèi)存中聲明一個數(shù)組名或?qū)ο竺?#xff0c;存放著在堆內(nèi)存中的首地址;

    所以,當(dāng)使用數(shù)組名賦值時,傳遞的是地址。

    引用數(shù)據(jù)類型是傳地址(引用)的。

?

四、Arrays工具類

  Array工具類是Java中提供的用于操作數(shù)組的工具類,位于java.util包中。

 1、Arrays.equals(arr1, arr2):接受兩個數(shù)組,返回兩個數(shù)組是否向相等

   比較的原理是,逐一比對兩個數(shù)組中的每一個值,是否相等。

    int[] arr1={1,2,3,4,5};

    int[] arr2={1,2,0,4,5};

    System.out.println(Arrays.equals(arr1, arr2));  輸出:false

   而如果使用==判斷,是比較兩個數(shù)組名中存儲的地址,是否相等。

    int[] arr1={1,2,3,4,5};

    int[] arr2={1,2,3,4,5};

    System.out.println(Arrays.equals(arr1, arr2));  輸出:false

    int[] arr1={1,2,3,4,5};

    int[] arr2=arr1;

    System.out.println(Arrays.equals(arr1, arr2));  輸出:true

 2、Arrays.sort(arr):對數(shù)組進(jìn)行升序排列,會直接改變原數(shù)組的排序。

   Arrays.sort(arr,3,6):對數(shù)組的指定區(qū)域進(jìn)行排序,左閉右開區(qū)間,包含其實下標(biāo),不含結(jié)束下標(biāo);

    int[] arr={1,5,2,9,4,3,6,0,2,6,7};

    Arrays.sort(arr);

    Arrays.sort(arr,3,6);  //左閉右開

    System.out.println(Arrays.toString(arr));

 3、Arrays.toString(arr): 將數(shù)組轉(zhuǎn)成字符串,轉(zhuǎn)換之后的格式:[1,2,3,4]

 4、Arrays.fill(arr, 12): 將數(shù)組的每一項,都賦值為指定的數(shù)值

    int[] arr=new int[10];

    Arrays.fill(arr, 12);

    System.out.println(Arrays.toString(arr));

 5、Arrays.copyOf(arr, 50):將arr數(shù)組的指定個數(shù),copy到一個新的數(shù)組;

   如果個數(shù)>arr.length 則新數(shù)組中多余的位置用默認(rèn)值補(bǔ)齊;

   如果個數(shù)<arr.length 則只copy原數(shù)組的前半部分。

    int[] arr={1,2,3,4,5,6,7,8,9};

    int[] newArr=Arrays.copyOf(arr, arr.length);  //copy整個數(shù)組

    int[] newArr=Arrays.copyOf(arr, 50);  //copy前50個元素

    System.out.println(Arrays.toString(newArr));

 6、Arrays.binarySearch(arr, 4) : 查找數(shù)組中的指定元素,如果找到返回下標(biāo),沒有找到返回負(fù)數(shù);

   使用這個方法,原數(shù)組必須是有序的,可以先使用Arrays.sort(arr);進(jìn)行排序

    int[] arr={1,2,3,4,5,6};

    Arrays.sort(arr);

    System.out.println(Arrays.binarySearch(arr, 4));

?

五、字符串

 (一) String類

  1、String類位于java.lang包中,java.lang包是Java的語言包,使用時無需導(dǎo)包,自動導(dǎo)入。

  2、拿到一個字符串對象:

   ① 字面量聲明:String s="好好學(xué)習(xí)";

   ② new關(guān)鍵字聲明:String s1=new String("好好學(xué)習(xí)");

  3、s.length(): 返回字符串的長度,length()是一個方法,使用時注意不能掉() (arr.length是屬性)

    System.out.println("請輸入用戶名:");

    String s=in.next();

    if(s.length()<6){// s.length()是方法

    System.out.println("用戶名最小為6位!");

    }

  4、s1.equals(s2): 判斷字符串是否相等

?   .equals()的比對原理,是判斷兩個字符串的每一個字符是否相等;

   ?== 的比對原理,是判斷兩個字符串中存儲的地址是否相等。

  5、s1.equalsIgnoreCase(s2): 忽略大小寫對比;

    .toLowerCase(): 將所有字符都轉(zhuǎn)化為小寫;

    .toUpperCase(): 將所有字符都轉(zhuǎn)化為大寫;

     String s1="JH";

     String s2="jh";

     System.out.println(s1.equals(s2));

     System.out.println(s1.equalsIgnoreCase(s2));

     System.out.println(s1.toLowerCase());

     System.out.println(s2.toUpperCase());

  6、連接字符串:

  ?、?使用+號連接;

  ?、?使用s.concat(s2)連接,將s2連接到s1的后面,并返回一個新的字符串

     String s="好好學(xué)習(xí)";

     String s1=s.concat("天天向上");

     System.out.println(s1);

  7、① .indexOf(): 在字符串中查找指定的字符或子串 第一次出現(xiàn)的位置,并返回其下標(biāo),如果沒有找到返 回-1;

     可以接受字符串、字符、整數(shù)類型的參數(shù),如果傳入整數(shù),將根據(jù)ASCII碼自動轉(zhuǎn)化為字符(A-65,a-?? 97)。

  ?、?.lastIndexOf(): 在字符串中查找指定的字符或子串 最后一次出現(xiàn)的位置,并返回其下標(biāo),如果沒有找到返回-1;

      String s="abcdedfg";

      System.out.println(s.indexOf("cde"));

      System.out.println(s.indexOf(100));//查找d

      System.out.println(s.lastIndexOf(100));

  8、.substring(): 截取字符串的指定位置,返回一個新的子串;

  ?、?傳入一個參數(shù),表示起始下標(biāo),將從此下標(biāo)開始,一直截到字符串最后;

  ?、?傳入兩個參數(shù),表示起始下標(biāo)和結(jié)束下標(biāo),為左閉右開區(qū)間,包含起始,不含結(jié)束

      String s="abcdefg";

      System.out.println(s.substring(3));

      System.out.println(s.substring(3,5));

  9、 .trim(): 去掉字符串兩端的空格

      String s="?? abc def gh? ";

      System.out.println(s);

      System.out.println(s.trim());

  10、s.replace("a","*"): 將字符串中的指定區(qū)域,用 新的字符串替換掉

      System.out.println(s.replace("a","*"));

  11、 .split();

   ① .split(""): 傳入指定字符,將字符串分割為多個子串,返回一個字符串類型的數(shù)組;

?    如果傳入一個空字符串,則將原來字符串的每一個字符串都進(jìn)行分割。

      String s="haha haha haha";

      String[] arr=s.split("");

?   ② .split(" ",30): 第二個參數(shù),可以傳入一個整數(shù),表示將當(dāng)前字符串分為幾部分;

?   ?如果傳入的整數(shù),小于原來分割的總部分,則剩余的區(qū)域?qū)⒉辉俜指睢?/span>

      String[] arr=s.split(" ",2);

      System.out.println(Arrays.toString(arr));

?

 (二) StringBuffer 類

  1、StringBuffer是String的增強(qiáng)版,位于java.lang包中;

  2、StringBuffer與String的最大區(qū)別在于:StringBuffer是可變可追加的;

   而String一旦聲明不可改變,不能插入;

      StringBuffer sb=new StringBuffer("好好學(xué)習(xí)");

  3、.toString(): 將StringBuffer類型,轉(zhuǎn)換成String類型;

   但在輸出時,可以不用轉(zhuǎn)換,將自動進(jìn)行轉(zhuǎn)換。

     String s=sb.toString();

     System.out.println(sb);  //相當(dāng)于調(diào)用了.toString()方法

  4、.append(): 在原字符串的最后追加新的字符。

  ?、?原字符串會被直接改變;同時還會將追加的字符串返回;

  ?、?append可以接受各種類型的參數(shù),會自動轉(zhuǎn)換成字符串后追加到原字符串最后。

     char[] c={'a','b','c','d'};

     StringBuffer sb1=sb.append(c);

     System.out.println(sb);

     System.out.println(sb1);

?

     StringBuffer sb2=sb.append("天天向上");

     System.out.println(sb2);

  5、 .delete():傳入兩個下標(biāo),表示刪除這兩個下標(biāo)之間的字符,左閉右開區(qū)間

     StringBuffer s=sb.delete(0, 2);

?   .deleteCharAt(2): 傳入一個下標(biāo),刪除指定位置的一個字符。

     StringBuffer s=sb.deleteCharAt(2);

  6、 .insert():在原字符串的指定下標(biāo)位置插入

     StringBuffer s=sb.insert(3,"好");

?

?

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

總結(jié)

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

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