1. 程式人生 > >Java常見細節問題

Java常見細節問題

1、變數:變數型別,變數名,變數值。
在這裡插入圖片描述
2、變數命名:
(1)如果是多個單片語成,那麼第一個單詞首字母小寫,其後單詞的首字母大寫。myName。
(2)變數命名時,儘量簡短且能清楚的表達變數的作用,做到見名知意。學生姓名:stuName。
3、資料型別
(1)基本資料型別就是儲存資料本身,(直接放抽屜裡的東西)而引用型別變數就是儲存資料的空間地址(儲存這個抽屜裡的鑰匙,鑰匙和抽屜一一對應)。
引用資料型別:類(class),介面(interface),陣列,String(用來表示字串)。
(2)浮點數預設為double,f為laot變數賦值時應該在數值後面新增f。

   float height=12.5f;

(3)main中定義的變數必須先定義再輸出。
4、型別裝換
自動轉換條件
(1)可相容,比如double相容int型,char型不可相容int型。
(2)目標型別大於原型別,如double型別長度為8位元組,int型別位元組為4,因此double變數力可以 直接存放int型,反之不可
強制型別轉換

double avg1=75.6;
int avg2=(int)avg1;

所以此時avg1為75.6,avg2為75。
5、常量關鍵字:final
6、邏輯運算子:
在這裡插入圖片描述
如果(one>two)&&(one<three),如果左面是錯的,那麼系統則認為沒有必要進行右邊的操作。
同樣(one>two)||(one<three),如果左面是對的,那麼系統則認為沒有必要進行右邊的操作了。
7、switch語句
語法:
在這裡插入圖片描述


執行過程:
當 switch 後表示式的值和 case 語句後的值相同時,從該位置開始向下執行,直到遇到 break 語句或者 switch 語句塊結束;如果沒有匹配的 case 語句則執行 default 塊的程式碼。
注意點:
(1)switch 後面小括號中表達式的值必須是整型或字元型,括號裡是已經定義好的變數。
(2)case 後面的值可以是常量數值,如 1、2;也可以是一個常量表達式,如 2+2 ;要是字元型的常量時,需要加單引號‘’。但不能是變數或帶有變數的表示式,如 a * 2
(3)case 匹配後,執行匹配塊裡的程式程式碼,如果沒有遇見 break 會繼續執行下一個的 case 塊的內容,直到遇到 break 語句或者 switch 語句塊結束
(4)可以把功能相同的 case 語句合併起來,如:

case '一':
case '二':
System.out.println("你好");//當變數是一或者二時候,都輸出你好。

(5)default 塊可以出現在任意位置,也可以省略。
8、Java中進行使用者輸入

/*
使用Scanner工具類來獲取使用者輸入的資訊
Scanner類位於java.util包中,使用時需要匯入此包
步驟:
(1)匯入java.util.Scanner
 (2)建立Scanner物件
 (3)接受並儲存使用者輸入的值
*/
import java,unil.Scanner;
Scanner input=new Scanner(System.in);
int score=input.nextIntz();
nextInt //輸入整數
next  //輸入字串
nextdou  //輸入小數

9、關於陣列
(1)宣告陣列,分配空間,賦值,處理陣列中的資料。
(2)前三步可以合到一起

int []scores={78,94,84,68}  //建立一個長度為4 的整形陣列,並給他賦值
//它等價於
int []scores=new int []{78,94,84.68}// 第二個[]裡必須為空,不可指定長度。

(3)前兩步合併(宣告+分配空間)

int scores[]=new int[5]  //宣告一個分配五個空間的整形陣列

(4)總之左面都是int []scores就好。
10 、使用 Arrays 類操作 Java 中的陣列
(1)Arrays 類是 Java 中提供的一個工具類,在 java.util 包中。該類中包含了一些方法用來直接運算元組,比如可直接實現陣列的排序、搜尋等。import.jav.util.Arrays
(2)Arrays.sort(陣列名)對陣列進行排序。
(3)Arrays.toString(陣列名)。把陣列元素以字串形式輸出,若是多個元素,則元素之間用,或者空格隔開。比如:

String[] hobbies = { "sports", "game", "movie" };
System.out.println(   Arrays.toString(hobbies)         );
//結果是:
[sport,game,movie]

(4)利用foreach運算元組。我們分別使用 for 和 foreach 語句來遍歷陣列。
在這裡插入圖片描述

結果是一樣的。
結構:
foreach(變數型別 變數名字:陣列名){
結構體}
11、二維陣列
(1)結構:在這裡插入圖片描述
或者是:在這裡插入圖片描述
(2)舉例子:
在這裡插入圖片描述
(3)賦值
在這裡插入圖片描述
或者在這裡插入圖片描述
12、帶形參的方法
(1)方法的引數可以是基本資料型別,如 int、double 等,也可以是引用資料型別,如 String、陣列等。比如:
在這裡插入圖片描述
實參是不需要表明型別的。
(2)
在這裡插入圖片描述
注意這裡return後的寫法。不需要加括號。
13、函式過載
判斷方法過載的依據:
(1) 必須是在同一個類中
(2)方法名相同
(3) 方法引數的個數、順序或型別不同(三個條件,其中順序這個是C++裡面沒有的)
(4) 與方法的修飾符或返回值沒有關係