關鍵字java
全部字母都爲小寫算法
保留字數組
標識符ui
java中的名稱命名規範spa
包名:多單詞組成時全部字母都小寫:xxxyyyzzz線程
類名,接口名:多單詞組成時,全部的首字母大寫:XxxYyyZzz對象
變量名,方法名:多單詞組成時,前一個單詞首字母小寫,第二個單詞開始每一個單詞首字母大寫:xxxYyyZzzblog
常量名:全部字母都大寫,多單詞時每一個單詞用下劃線鏈接:XXX_YYY_ZZZ排序
變量接口
先聲明後使用
數據類型 變量名 =初始化值
變量的分類
變量之間的運算
運算符
算術運算符 :+ - * / ++a 先自增再運算 a++ 先運算再自增
賦值運算符:+= -= *= /= %=
比較運算符:== != < > <= >= instanceof(檢查是不是類的對象y)
邏輯運算符:& 邏輯與 && 短路與 | 邏輯或 || 短路或 ! 邏輯非 ^ 邏輯異或
位運算符: << 左移 >> 右移 >>> 無符號右移 ^ 異或運算 ~ 反碼
三元運算符:條件表達式 ? 表達式1: 表達式2 表達式1,2得保持數據類型一致
流程控制
分支結構
switch(變量){
case 值1:
break;
case 值2:
break;
case 值3:
break;
degault:
break;
break:跳出當前循環,變量能夠取:char byte short int 枚舉 String(jdk1.7)
循環結構
1.while循環
while(條件){ //循環語句 }
條件:能夠是beelan類型的值,變量和表達式,還能夠是一個結果爲boolean的方法
2.do-while循環
do{ //循環操做語句 }while(循環條件);
3.for循環
for(表達式1;表達式2;表達式3){ 循環操做; }
表達式1:參數初始化
表達式1:條件判斷
表達式1:更新循環變量
三個表達式均可以省掉 表達式2省掉會出現死循環 , 表達式3會致使條件永遠成立造成死循環
數組
做用: 存儲相同數據類型的一組數據
對同類型數據進行集中管理,好比存儲和遍歷
數組的聲明
數組類型[ ] 數組名;
聲明並建立數組
數據類型 [ ] 數組名=new 數據類型[大小]
初始化數組
方法1:(靜態初始化)邊聲明邊賦值
int[ ] score={66,67,68}
int[ ] score=new int[ ]{66,67,68}
方法2:(動態初始化)
經常使用數組查找法
線程查找法
二分查找法 取下標中間值
經常使用數組排序算法
冒泡排序: 比較相鄰的元素
選擇排序法
插入排序法
Arrays類用法
package com.tanlei.newer.shuzu; import java.util.Arrays; /** * @author tanlei * */ public class ArraysUtilDemo { public static void main(String[] args) { int [] arrays= {1,3,4,5,6,2}; //數組拷貝 int [] arrays2=Arrays.copyOf(arrays, 10); for (int i = 0; i < arrays2.length; i++) { System.out.println(arrays2[i]); } System.out.println("*****************************"); //拷貝指定數組中的指定範圍內的數據 int[] arrays3= Arrays.copyOfRange(arrays, 4, 5); for (int i = 0; i < arrays3.length; i++) { System.out.print(arrays3[i]); } System.out.println("*****************************"); //比較兩個數組是否相等 int[] arrays4= {1,2,4,3,5}; boolean flag=Arrays.equals(arrays, arrays4); System.out.println(flag); //數組填充 int[] arrays5= new int[10] ; Arrays.fill(arrays5,2,5,6); for (int i = 0; i < arrays5.length; i++) { System.out.println(arrays5[i]); } //對數組進行排序 Arrays.sort(arrays5,2,6); for (int i = 0; i < arrays5.length; i++) { System.out.print(arrays5[i]); } //二分法查找(下標) int index=Arrays.binarySearch(arrays5, 3); System.out.println(index); System.out.println("*****************************"); //使用System這個類的方法來拷貝數組從o開始拷5個 從數組第三個下標起 int[]arraydeo5=new int[10]; System.arraycopy(arrays2, 0, arraydeo5, 3, 5); for (int i = 0; i < arraydeo5.length; i++) { System.out.println(arraydeo5[i]); } } }
二維數組
聲明
int[ ] [ ] arr=new int[10 ][ ]
int[ ] [ ] arr=new int[10 ][20 ]
一維數組決定大小
初始化
int[ ] [ ] arr={{1,2},{2,3}};
動態初始化
String [ ] [ ] arr=new Strng[3][ ];
arr[0]=new String[2]
arr[1]=new String[3]
arr[2]=new String[4]
楊輝三角形
package com.tanlei.newer.shuzu; public class YanHui { public static void main(String[] args) { //聲明一個8行8列的數組 int row=8;//行數 int [] [] p=new int[row][row]; for(int i=0;i<row;i++) { for (int j = 0; j <=i; j++) { //判斷第一列和對角線列的元素值爲1 if(j==0||j==i) { p[i][j]=1; }else { //其餘元素的值取正上方和左上方的和 p[i][j]=p[i-1][j]+p[i-1][j-1]; } } } //打印輸出 for (int i = 0; i < row; i++) { for (int j = 0; j <row; j++) { System.out.println(p[i][j]+" "); } System.out.println(); } } }