javaSE-day04--ArrayList基本用方法、類內定義方法和方法過載、靜態方法static(類的方法)、工具方法(static)的定義和使用
ArrayList基本用方法
package day04;
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<Integer>();
//向ArrayList中新增資料
a.add(1);
a.add(2);
a.add(3);
//讀取ArrayList中的資料
int a1 = a.get(0);
int a2 = a.get(2);
System.out.println(a1+","+a2);
System.out.println("-----------");
//遍歷ArrayList
for(int i = 0;i<a.size();i++) {
System.out.println(a.get(i));
}
System.out.println("-----------");
//刪除ArrayList中的資料
a.remove(0);
for(int i = 0;i<a.size();i++) {
System.out.println(a.get(i));
}
System.out.println("------");
//修改數值
a.set(0, 5);
System.out.println(a);
}
}
總結:
操作物件類似於陣列
<>中填入泛型引數:要裝入的資料型別。Integer、String等或者自己建立的類的物件
ArrayList:是一種集合資料型別,可以有任意多個資料,長度可以改變。
a.add()新增的是元素。 a.get()、a.remove() 引數都是索引。a.set(x,y) x為索引值,y為具體數值。
獲得ArrayList的方法用:a.size();
類內定義方法和方法過載
package day04;
public class Function {
int a;
int b;
//沒有引數,有返回值
public int getSum() {
return this.a + this.b;
}
//帶引數且有返回值的方法
public int sum(int a,int b) {
return a+b;
}
//沒有返回值的發方法,返回值型別為void
public void say() {
System.out.println("i miss you");
}
//帶引數但沒有返回值的方法.同名方法,但是引數列表不一樣,叫做方法過載
public void say(String name) {
System.out.println(name+"i miss you");
}
//帶有多個引數但沒有返回值型別
public void say(String a,String b) {
System.out.println(a+"miss"+b);
}
}
package day04;
public class FunctionDemo {
public static void main(String[] args) {
Function a = new Function();
a.a = 50;
a.b = 30;
//呼叫無參,有返回值方法
System.out.println(a.getSum());
//呼叫有參,有返回值發方法
int aa = a.sum(5,9);
System.out.println(aa);
//呼叫無參,無返回值方法
a.say();
//呼叫有參、無返回值方法
a.say("xx ");
//呼叫多個引數但沒有返回值方法
a.say("xx "," yy");
}
}
總結:
方法:用來封裝一段邏輯
方法格式:public 返回值型別 方法名(){//邏輯}
同名方法,但是引數列表不一樣,叫做方法過載。
在類中定義方法,在main中用物件呼叫方法。
通過呼叫靜態方法來排序並列印
package day04;
import java.util.ArrayList;
public class Arraylist {
//對list進行排序
public static void sort(ArrayList<Integer> list) {
for(int i = 0;i < list.size()-1;i++) {
for(int j = 0;i < list.size()-1-j;j++) {
if(list.get(j) > list.get(j+1)) {
int temp = list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, temp);
}
}
}
}
//列印list
public static void print(ArrayList<Integer> aa){
for(int i =0;i<aa.size();i++) {
System.out.println(aa.get(i));
}
}
}
package day04;
import java.util.ArrayList;
pblic class ArraylistTest {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(8);
list.add(58);
list.add(45);
list.add(35);
list.add(78);
list.add(84);
//呼叫排序
Arraylist.sort(list);
//呼叫列印
Arraylist.print(list);
}
}
總結:
普通類需要生成一個類物件才能呼叫函式:Arraylist bb = new Arraylist(); bb.sort(list); bb.print(list);
和具體得物件沒有任何關係可以用靜態方法來定義。靜態方法,就可以直接用類名呼叫,稱為類得方法。
工具方法的定義和使用
package day04;
import java.util.ArrayList;
public class ListUtils {
// 類方法:對list排序
public static void sort(ArrayList<Integer> list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0; i < list.size() - 1 - j; j++) {
if (list.get(j) > list.get(j + 1)) {
int temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
}
// 類方法:求最大值
public static int getMax(ArrayList<Integer> list) {
int temp = list.get(0);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) > temp) {
temp = list.get(i);
}
}
return temp;
}
// 類方法:求最小值
public static int getMin(ArrayList<Integer> list) {
int temp = list.get(0);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) < temp) {
temp = list.get(i);
}
}
return temp;
}
//類方法:求平均值
public static float getAvg(ArrayList<Integer> list) {
float temp = 0;
for(int i = 0;i < list.size();i++) {
temp +=list.get(i);
}
temp = temp/list.size();
return temp;
}
}
package day04;
import java.util.ArrayList;
public class ListUtilsTest {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(85);
list.add(87);
list.add(65);
list.add(95);
list.add(47);
list.add(54);
list.add(58);
//呼叫類發方法排序
ListUtils.sort(list);
System.out.println(list);
//呼叫類方法求最大值
int a = ListUtils.getMax(list);
System.out.println("最大值:"+a);
//呼叫類方法求最小值
int b = ListUtils.getMin(list);
System.out.println("最小值:"+b);
//呼叫類方法求平均值
float c = ListUtils.getAvg(list);
System.out.println("平均值:"+c);
}
}
總結:
將不涉及到物件呼叫,只是對資料進行處理,可以定義為工具類;
工具類中不封裝資料屬性;
使用類方法的類名來呼叫其封裝的靜態方法;
相關文章
- static靜態方法的使用
- ES6中類的靜態方法=> static 的使用
- Java方法02:方法的定義和呼叫Java
- 面向1-類和物件-方法、new的定義和使用物件
- 方法的作用和定義
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- scala----常用方法 類的定義
- C++ 類方法解析:內外定義、引數、訪問控制與靜態方法詳解C++
- 類的靜態屬性和方法
- 14 #### 方法分類與使用場景(繫結、靜態、類方法)
- UVM transaction 定義 方法和用法(未完)
- [Python 基礎] Python 例項方法、靜態方法和類方法詳解 (包含區別和用法)Python
- 一起Talk IOS吧(第十四回 類中方法的定義和使用)iOS
- 方法的定義面試題面試題
- SpringBoot static 靜態方法獲取 yml 配置檔案Spring Boot
- Java的方法靜態方法Java
- Day17方法的定義和呼叫
- Python - 物件導向程式設計 - 例項方法、靜態方法、類方法Python物件程式設計
- 『無為則無心』Python物件導向 — 58、類方法和靜態方法Python物件
- IDEA2020.2版本設定類和方法的自定義註釋模板Idea
- StringBuffer類的delete()方法和deleteCharAt()方法的區別delete
- 找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args)AI
- Sanic static() 方法/函式函式
- 介面定義和抽象方法_hehe.base.10.1抽象
- [Vue] 如何定義全域性的方法?Vue
- php定義常量方法的區別PHP
- java 陣列的定義(宣告)方法Java陣列
- Dcat Admin::script定義的方法無法使用
- Python常見面試題006 類方法、類例項方法、靜態方法有何區別?Python面試題
- python入門基礎(14)--類的屬性、成員方法、靜態方法以及繼承、過載Python繼承
- python建立類和類方法Python
- 靜態方法和例項方法的區別以及如何恰當使用
- 方法的通用格式 定義方法要做到兩個明確
- Android自定義View之requestLayout方法和invalidate方法AndroidView
- Android自定義View之invalidate方法和postInvalidate方法AndroidView
- Socket類的getInputStream方法與getOutputStream方法的使用
- Spring JPA 定義查詢方法Spring
- 靜態工廠方法和例項工廠方法