1. 程式人生 > >java基礎 基礎語法(一)

java基礎 基礎語法(一)

    個人認為java基礎也就氛圍如下方面:

  1. java 基礎語法

          java 的基礎語法其實跟C、C++ 相差不是特別大。下面我將通過程式程式碼配合註釋的方式說明。

/*
  變數定義規則
     1.不能以數字開頭
     2.由字母、數字、下劃線、$構成,其實中文的也可以,不過不推薦
     3.不能和已有關鍵字重複
     4.java語言嚴格區分大小寫,a!=A;

*/
int demo=0;
/*
  java的基本資料型別
     int  char byte short long  float  double boolean
     基本型別定義方式便是如上的方式
     ps:基本型別作為引數傳遞的是值
  java的引用型別
     是除了進本型別,使用者自定義的物件
     ps:引用型別作為引數傳遞的是地址,不過有些類被設計為不可變類,如String,一旦經過重新
        賦值便會重新開闢一塊記憶體空間。

*/

/*
  java當中的運算子
      +,-,*,/,%,|,||,&&,&,!=,^,>,>>,<,<<,==,=,等等
      此部分較為簡單
      部分運算子涉及到位運算,將會在計算機基礎當中說一下。

*/
/*
  java的流程控制
  if判斷語句,else if語句,if else語句
  for迴圈語句
  while迴圈語句
  do...while迴圈語句
*/
int a= 1;
//if語句示例程式碼
if(a==1){
   System.out.println("我是if語句,a=1"); 
}else if(a==2){
   System.out.println("我是if語句,a=2"); 
}else{
   System.out.println("我是if語句,a等於其他"); 
}
//for迴圈示例程式碼
for(int i=0 ; i<10;i++){
    System.out.println("我是for迴圈");
}
//while迴圈示例程式碼
while(a>0){
    a--;
}
//do..while示例程式碼
a=2
do{
  a--;
}whlile(a>0);



/*
  一維陣列:
  
    定義方式:陣列型別[] 陣列名= new 陣列型別[陣列長度]; 
            或者 new 陣列型別[]{1,2,3};
       注意:陣列一旦經過定義,長度不可改變。

  二維陣列:
    定義方式:陣列型別[][] 陣列名 = new 陣列型別[3][3]; 
            或者 new 陣列型別[3][];
            或者 new 陣列型別[][]{{1,2,3},{1,2,3}};


  注意:陣列方面可能涉及到部分演算法,如氣泡排序,二分查詢,讀者可以自行百度。

*/
//陣列例子
int[] arr = new int[]{1,2,3,3};
int[][] arr2 = new int[][] {{1,2,3},{1,2,3}}; 

//擴充:從鍵盤獲取輸入的資料
Scanner sc  = new Scanner(System.in);
int num = sc=sc.nextInt();



/*
  以上就是基本的java知識,就以上的內容學習,有一道我做過的題,需要動腦筋思考一下,也是綜合上面的內容

  有個一個桶,只裝數字,如果3,6,9相連,不論順序,只要他們三個碰到一起就會消失,舉個例子

  輸入:8                //陣列長度
       1 3 6 3 6 0 0 1  //輸入的數字,中間有空格
  輸出:2

  也就是桶內的數字就剩下 1 1 
*/

//大家思考完,可以參考下我這個,當然答案寫的也很渣,可那看看就好

import java.util.Scanner;

public class Demo {
	public static void main(String[] args) {
		//陣列長度
		Scanner sc = new Scanner(System.in);
		int count=sc.nextInt();
		//輸入的數
		Scanner sc2 = new Scanner(System.in);
		String str=sc2.nextLine();
		//去掉兩端空格
		str.trim();
		//以空格為表識拆分為陣列
		String[] numString=str.split(" ");
		//迴圈查詢3 6 0 相連
		for(int i =0 ;i<count-2;i++) {
			//拼接字串
			String a=numString[i]+numString[i+1]+numString[i+2];
			//檢視是否包涵
			if(a.contains("0")&&a.contains("3")&&a.contains("6")) {
				//如果包涵獲取陣列長度並減少3
				count=count-3;
				//用獲取的陣列長度-3賦給新陣列
				String[]  newNumString = new String[count];
				//把老陣列的出現3 6 0 相連之前的值賦給新陣列
				for(int j=0;j<i;j++) {
					newNumString[j]=numString[j];
				}
				//把老陣列的出現3 6 0 相連之後的值賦給新陣列
				for(int j=i;j<count;j++) {
					newNumString[j]=numString[j+3];
				}
				//把陣列長度更新為新陣列長度
				numString=newNumString;
				//讓i等於0重新遍歷新陣列
				i=-1;
			}
			
		}
		System.out.println(numString.length);
	}
	//ps:感覺遞迴能跟好點啊
	

}