今天是2020年1月19日,放假已經十天了,今天才剛剛開始學習。還有不到25天就開學了,忍着痛苦也要學完Java,因此寫個博客來記錄一下我這個痛苦的寒假
我太難了!!!
eclipse快捷鍵:
Alt + /: 快速敲出代碼
Ctrl + s: 保存
shift + 向下 :光標移動到下一行
Ctrl + / :註釋
shift + end : 把光標定位到一行的最後
shift + home :選中光標所在處前面所有內容
主函數定義在類裏面:
public static void main(String[] args):
輸出:
System.out.println() :自動換行的輸出
System.out.print(): 不換行的輸出
輸入:
在類外面定義:import java.util.Scanner
主函數內:Scanner in=new Scanner(System.in),然後可以用in去讀入東西。
in.nextLine(): 讀取一行字符串
in.next():讀入一個單詞
in.nextInt():讀取一個整型常量
in.nextDouble():
in.nextFloat():
字符串的連接:
+:連接字符串,比如“sss” + “ ddf” ,“2+3” + 5
變量的賦值:
int price =in.nextInt();//用戶輸入進行賦值
運算符的優先級
算術運算 > 關係運算符 > 賦值運算 > (== ,!=)
浮點數的比較
不能直接比較a和b,應該當滿足(a-b)小於一定的範圍才行,比如Math.abs(a-b)<1e-6(表示1*e^-6)
一些庫函數
取平方根:Math.sqrt()
生成隨機數:Math.random()//隨機數範圍[0,1)
eclipse的使用常見技巧:
程序的調試和跟蹤
1.首先設置 斷點
2.程序運行
先點擊這個螢火蟲的圖標
這一塊區域表明當前的佈局是debug界面還是Java代碼程序的界面
3.程序的調試
將光標移動程序運行的地方可以看到各個變量的當前的值
Java與c和c++不一樣的地方
1.定義常量
java:final
c/c++:const
2.布爾類型:
c/c++: bool ,非零即是true
java: boolean,true就是true,和1沒有任何代換關係,false同樣的道理
3.數組的定義和聲明
一維數組: c/c++: int a[100]={0};
java: int [] a= new int[100];可以使用a.length來獲取數組的元素的個數,而不用100.
使得代碼具有可擴展性.
二維數組: c/c++:int a[100][100]={0};
java:int[][]=new int[3][5];
4.數組的使用
c/c++:int a[100];
int b[]=a;
java: int [] a1=new int[100];
int [] a2=a1;
這種情況下對數組b的元素的改變都會使數組a的元素做同樣的改變。因爲相當於a和b管理的是同樣的一
內存空間。如圖所示,並且數組a和數組b相同當且僅當a和b管理的是同一個內存空間。如圖所示,雖然
組a和數組b的所有的元素都是相同的,但是仍然不是相等的。因此複製一個數組只能使用遍歷的方法。
數組的管理
判斷兩個數組是否相等
數組的複製
數組的另一種用法: for-each 用法
5.字符串類型
c/c++:string
java:String
1.就像數組一樣,字符串變量同樣都只是字符串的管理者而不是字符串的所有者,因此創建字符變量需要使用
new,String s=new String("sdds");
2.可以使用+把兩個字符串連接起來時,但是當+連接的一個是字符串,另外一個不是字符串的時候,會默認爲把
另一個當做字符串,如圖所示
3.S.equals("nye"):可以用來判斷字符串S是否爲"nye";不能使用==來判斷,原因同數組一樣
4.訪問字符串裏面單個的字符: s.charAt(index), 不能用for-each 循環來訪問
5. s.substring(n): 取出從n號位置到末尾的全部內容
s.substring(a,b): 取出從a位置到b位置之前一個的全部內容,即a、a+1、……、b-2、b-1.
6. s.compareTo(s1): 比較兩個字符串的大小
7. s.indexOf(c) :尋找字符或者字符串,返回第一次找到的所在的位置
s.indexOf(s,index): 從位置index開始往後找出第一次出現的位置
8. s.toLowerCase():變成小寫
s.toUpperCase():變成大寫
9. switch 也可以用字符串來作爲選擇的條件