關鍵字,標識符,變量,運算符,程序流程控制,數組

關鍵字java

全部字母都爲小寫算法

保留字數組

標識符ui

java中的名稱命名規範spa

包名:多單詞組成時全部字母都小寫:xxxyyyzzz線程

類名,接口名:多單詞組成時,全部的首字母大寫:XxxYyyZzz對象

變量名,方法名:多單詞組成時,前一個單詞首字母小寫,第二個單詞開始每一個單詞首字母大寫:xxxYyyZzzblog

常量名:全部字母都大寫,多單詞時每一個單詞用下劃線鏈接:XXX_YYY_ZZZ排序

變量接口

先聲明後使用

數據類型  變量名 =初始化值

變量的分類

  1. 基本數據類型
  2. 引用數據類型

變量之間的運算

  •        自動類型轉換 :容量小的自動轉換爲容量大的
  •        強制類型轉換:容量大的轉換爲容量小的,要使用強制類型轉換符()

運算符

算術運算符  :+ - * /    ++a 先自增再運算 a++ 先運算再自增

賦值運算符:+=   -=   *=    /=   %=

比較運算符:==    !=   <     >    <=     >=    instanceof(檢查是不是類的對象y)

邏輯運算符:& 邏輯與      && 短路與       |   邏輯或      ||  短路或   !      邏輯非     ^ 邏輯異或

位運算符: <<   左移  >>    右移   >>>    無符號右移   ^    異或運算    ~   反碼

三元運算符:條件表達式 ?   表達式1:  表達式2    表達式1,2得保持數據類型一致

流程控制

分支結構

  1. if-else      
  2. switch-case

           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();
	}
}
}
相關文章
相關標籤/搜索