JAVA中Arrays類:使用之前需要在程序前面加上
import java.util.Arrays;
一、Arrays類中包含的方法:
1、數組排序語法:
方法:Arrays.sort(<數組名>);
sort()是Arrays類的一個排序方法,默認爲升序。
2、數組搜索語法:
方法:Arrays.binarySearch(<數組名>,<關鍵字>);
Arrays.binarySearch()是Arrays類的搜索方法,查找目標數據在數組中的位置。
3、數組的打印:Arrays.toString(數組名):
二、foreach語句
1、語句格式:
foreach的語句格式:
for(元素類型t 元素變量x : 遍歷對象obj){
引用了x的java語句;
}
並不是所有的數組都可以使用foreach語句。
三、方法
1、此處的方法也就類似於C/C++中的類中的成員函數,只是名字不同,基本規則相同,若學過C語言或者C++便很容易理解。
2、無參無返回值方法,有參無返回值方法,無參有返回值方法,有參有返回值方法,這四種方法的用法,以及方法中的重載。
無參無返回值用法:
public class HelloWorld {
public static void main(String[] args) {
// 創建對象,對象名爲hello
HelloWorld hello = new HelloWorld();
hello.showMyLove();
// 調用方法
}
/*
* 定義無參無返回值的方法
*/
public void showMyLove() {
System.out.println("我愛你!");
}
}
有參無返回值方法:public class HelloWorld {
public static void main(String[] args) {
// 創建對象,對象名爲hello
HelloWorld hello = new HelloWorld();
// 調用方法,傳入兩門課程的成績
hello.calcAvg(94, 81);
}
/*
* 功能:計算兩門課程考試成績的平均分並輸出平均分
* 定義一個包含兩個參數的方法,用來傳入兩門課程的成績
*/
public void calcAvg(int a,int b){
double c = (a+b)/2.0;
System.out.println("平均分:"+ c);
}
有參有返回值方法:
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores={79,52,98,81};
//調用方法,傳入成績數組,並獲取成績的個數
int count= hello.sort(scores);
System.out.println("共有"+count+"個成績信息!");
}
/*
* 功能:將考試成績排序並輸出,返回成績的個數
* 定義一個包含整型數組參數的方法,傳入成績數組
* 使用Arrays類對成績數組進行排序並輸出
* 方法執行後返回數組中元素的個數
*/
public int sort( int[] scores){
Arrays.sort(scores);
System.out.println(Arrays.toString(scores));
//返回數組中元素的個數
return scores.length;
}
}
方法的重載:
public class HelloWorld {
public static void main(String[] args) {
String name="mooc";
int age=18;
// 創建對象
HelloWorld hello = new HelloWorld();
// 調用無參的方法
hello.print();
// 調用帶有一個字符串參數的方法
hello.print(name);
// 調用帶有一個整型參數的方法
hello.print(age);
}
public void print() {
System.out.println("無參的print方法");
}
public void print(String name) {
System.out.println("帶有一個字符串參數的print方法,參數值爲:" + name);
}
public void print(int age) {
System.out.println("帶有一個整型參數的print方法,參數值爲:" + age);
}
}
四、類和對象
1、可以看成是創建JAVA對象的模板。其定義與C++中類的定義類似,對照着學會簡單一點,但不要把兩者看成完全一樣。
2、類中的構造方法,相當於構造函數
五、JAVA中static使用
1、靜態方法:
public class HelloWorld {
public static void print(){
//使用static關鍵字聲明靜態方法
System.out.println("歡迎您訪問我的博客!");
}
public static void main(String[] args){
//直接使用類名調用靜態方法
HelloWorld.print();
//也可以通過對象名調用,推薦使用類名調用的方式
HelloWorld demo = new HelloWorld();
demo.print();
}
}
2、靜態方法可以直接調用同類中的靜態變量,但不能直接調用同類中的非靜態變量public class HelloWorld {
String name = "愛博客";//非靜態變量name
static String hobby = "web";//靜態變量hobby
public static void print(){
//使用static關鍵字聲明靜態方法
System.out.println("歡迎您訪問我的博客!"+name);
//上面那句話錯誤,不能直接調用靜態變量
System.out.println("歡迎您訪問我的博客!"+hobby);
//可以直接調用靜態變量
}
public static void main(String[] args){
}
}
3、如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然後通過對象來訪問非靜態變量。
public class HelloWorld {
String name;
public static void print(){
//使用static關鍵字聲明靜態方法
HelloWorld hello = new HelloWorld();
System.out.println("歡迎您訪問我的博客!"+hello.name);
//可以調用靜態變量
}
public static void main(String[] args){
}
}
4、 在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量
public class HelloWorld {
String name;
static String hobby = "愛博客";
public static void print(){
//使用static關鍵字聲明靜態方法
HelloWorld hello = new HelloWorld();
System.out.println("歡迎您訪問我的博客!"+hello.name);
//可以調用靜態變量
}
public void show(){
//普通成員方法可以直接訪問非靜態變量和靜態變量
System.out.println(name);
System.out.println(hobby);
}
public static void main(String[] args){
}
}
5、靜態方法中不能直接調用非靜態方法,需要通過對象來進行訪問靜態方法
public class HelloWorld {
String name;
static String hobby = "愛博客";
public static void print(){
//使用static關鍵字聲明靜態方法
HelloWorld hello = new HelloWorld();
System.out.println("歡迎您訪問我的博客!"+hello.name);
//可以調用靜態變量
}
public void show(){
//普通成員方法可以直接訪問非靜態變量和靜態變量
System.out.println(name);
System.out.println(hobby);
}
public static void main(String[] args){
//普通成員方法必須通過對象來調用
HelloWorld hello = new HelloWorld();
hello.show();
//可以直接調用靜態方法
print();
}
}