1. Maringi argumentasi
Lan saiki kesenengan diwiwiti. Sampeyan bisa uga wis ngerti saka metode kaya ngono System.out.println()
, kita bisa ngirim argumen menyang metode. Sawise kita mlebu ing metode kasebut, kita deleng minangka paramèter. Nyatane, paramèter nambah banget keuntungan sing kita entuk saka nggawe lan nggunakake metode.
Kepiye cara ngumumake metode kanthi paramèter? Iku bener cukup prasaja:
public static void name(parameters)
{
method body
}
Where name
jeneng unik saka cara lan method body
makili printah sing nggawe cara. Lan parameters
minangka placeholder kanggo paramèter metode, dipisahake karo koma. Ayo diterangake cithakan iki kanthi luwih rinci:
public static void name(Type1 name1, Type2 name2, Type3 name3)
{
method body
}
Tuladha:
Kode | Panjelasan |
---|---|
|
Cara kasebut print diumumake kanthi parameter:String str |
|
Cara kasebut print diumumake kanthi rong paramèter:String str int count |
|
Cara kasebut write diumumake kanthi rong paramèter:int x int y |
Yen kita ora pengin cara duwe paramèter, kita mung ninggalake kurung kosong.
Parameter minangka variabel khusus ing sawijining metode. Kanthi bantuan, sampeyan bisa ngirim macem-macem nilai kanggo metode kasebut nalika diarani.
Contone, ayo nulis metode sing nampilake senar teks kaping pirang-pirang.
Sampeyan wis ngerti carane nulis kode kanggo nampilake senar ing layar kaping pirang-pirang. Nanging string apa sing kudu dicithak? Lan ping pira? Sing apa kita kudu paramèter kanggo.
Kode sing nindakake iki bakal katon kaya iki:
Kode | Panjelasan |
---|---|
|
Kita ngumumake printLines metode kasebut kanthi paramèter ing ngisor iki: String text , int count Cara nampilake text count kaping String Kita nelpon printLines metode kanthi macem-macem paramèter |
Saben cara diarani, paramèter kasebut diwenehi nilai sing dilewati, lan mung banjur miwiti nglakokaké perintah ing cara kasebut.
2. Argumentasi
Aku kaya kanggo tarik manungsa waé sethitik liyane kanggo nelpon cara karo paramèter.
Nilai sing diterusake menyang metode kasebut biasane diarani argumen nalika diterusake menyang metode kasebut.
Ayo ndeleng conto liyane:
Kode | Panjelasan |
---|---|
|
Kita ngumumake printLines metode kasebut kanthi paramèter ing ngisor iki: String text , int count Cara nampilake String text count kaping Kita nelpon printLines metode kanthi argumen ing ngisor iki:text = "Hi"; count = 10; text = "Bye"; count = 20; |
Nalika printLines
cara kasebut pisanan diarani, paramèter kasebut diwenehi nilai ing ngisor iki: String text = "Hi", int count = 10
.
Nalika printLines
cara kasebut diarani kaping pindho, paramèter kasebut diwenehi nilai sing beda: String text = "Bye", int count = 20
.
Parameter ora luwih lan ora kurang saka variabel sing diwenehi nilai tartamtu nalika metode diarani. Nilai-nilai "Hi"
, "Bye"
, 10
, lan 20
dhewe diarani argumen."
3. Konflik jeneng variabel nalika nelpon cara
Variabel bisa digunakake minangka argumen metode. Iki prasaja lan bisa dingerteni, nanging bisa nyebabake sawetara kesulitan. Ayo bali menyang conto sing padha, nanging wektu iki kita bakal mindhah argumen menyang variabel sing kapisah:
Kode | Panjelasan |
---|---|
|
Kita ngumumake printLines metode kasebut kanthi paramèter ing ngisor iki: String text , int count Cara nampilake String text count kaping Kita nelpon printLines metode kanthi argumen ing ngisor iki:text = str; count = n; |
Supaya adoh, apik banget: kita duwe str
variabel. Nilai kasebut ditugasake menyang text
parameter nalika metode kasebut diarani. Kita duwe n
variabel. Nilai kasebut ditugasake menyang count
parameter nalika metode kasebut diarani." Nganti saiki, kabeh wis jelas.
Saiki ayo ngganti jeneng variabel kita ing main
metode:
Kode | Panjelasan |
---|---|
|
Kita ngumumake printLines metode kasebut kanthi paramèter ing ngisor iki: String text , int count Cara nampilake String text count kaping Kita nelpon printLines metode kanthi argumen ing ngisor iki:text = text; count = count; |
Pay manungsa waé kanggo rong perkara
Pisanan: kita duwe variabel kanthi jeneng sing padha ing macem-macem cara. Iki minangka variabel sing beda-beda (kita sengaja nggambarake kanthi nggunakake warna sing beda). Kabeh kerjane padha karo conto sadurunge, ing ngendi variabel ing main
metode kasebut dijenengi str
lan n
.
Kapindho: Ora ana kedadeyan gaib nalika metode kasebut diarani. Parameter kasebut mung diwenehi nilai argumen. Preduli saka apa iku nomer, strings, variabel, utawa ekspresi.
Sawise ngganti jeneng variabel ing metode utama, ora ana sing diganti. Padha variabel beda ing cara beda sadurunge, lan supaya padha tetep. Ora ana hubungan sihir antarane variabel text
lan text
.
4. Maringaken referensi kanggo cara
Muga-muga sampeyan ngerti kabeh saka pawulangan sadurunge, amarga saiki kita bakal mriksa maneh argumentasi kanggo metode, mung kita bakal nyilem luwih jero.
Kaya sing wis dingerteni, sawetara variabel Java ora nyimpen nilai kasebut dhewe, nanging minangka referensi, yaiku alamat blok memori sing ana nilai kasebut. Iki carane variabel string lan variabel array bisa digunakake.
Nalika sampeyan nemtokake variabel array liyane menyang variabel array, apa sing kedadeyan? Bener. Loro variabel kasebut wiwit ngrujuk menyang papan sing padha ing memori:
Lan apa sing kedadeyan yen salah sawijining variabel kasebut minangka parameter metode?
Kode | Panjelasan |
---|---|
|
Cara printArraySum ngetung jumlah nomer ing larik liwati lan nampilake ing layar |
Persis kedadeyan sing padha: data
parameter kasebut bakal ngemot referensi menyang area memori sing padha karo months
variabel kasebut. Nalika metode kasebut diarani, ana tugas sing prasaja: .data = months
Lan wiwit loro variabel nuduhake area memori sing padha nyimpen integer, banjur cara printArraySum
ora mung bisa maca nilai saka Uploaded, nanging uga ngganti!
Contone, kita bisa nulis cara dhewe sing ngisi array rong dimensi kanthi nilai sing padha. Iki bisa uga katon:
Kode | Panjelasan |
---|---|
|
Cara kasebut fill ngulang saben sel ing array rong dimensi sing dilewati lan ditugasake value . Kita nggawe array rong dimensi. Kita ngisi kabeh array kanthi nomer kasebut 8 . |
5. Metode kanthi jeneng sing padha
Saiki ayo bali menyang jeneng metode maneh.
Standar Jawa mbutuhake kabeh cara ing kelas sing padha duwe jeneng unik. Ing tembung liyane, iku mokal kanggo ngumumake rong cara identik jeneng ing kelas padha.
Nalika cara dibandhingake kanggo padha, ora mung jeneng sing dianggep, nanging uga jinis paramèter ! Elinga yen jeneng paramèter ora dianggep . Tuladha:
Kode | Panjelasan |
---|---|
|
Telung cara iki minangka cara sing beda . Padha bisa diumumake ing kelas sing padha. |
|
Saben limang cara iki dianggep beda . Padha bisa diumumake ing kelas sing padha. |
|
Cara loro iki dianggep padha , tegese ora bisa diumumake ing kelas sing padha. |
Yagene sawetara cara dianggep padha , nanging liyane beda ? Lan kenapa jeneng parameter ora dianggep nalika nemtokake keunikan metode?
Yagene keunikan perlu banget? Masalahe yaiku nalika kompiler nyusun program, mesthine kudu ngerti cara sing sampeyan pengin nelpon ing papan apa wae.
Contone, yen sampeyan nulis , compiler pinter lan bakal gampang nganakke sing arep nelpon cara kene karo parameter.System.out.println("Hi")
println()
String
Nanging yen sampeyan nulis , kompiler bakal weruh telpon menyang metode kanthi parameter.System.out.println(1.0)
println()
double
Nalika metode diarani, compiler njamin yen jinis argumen cocog karo jinis paramèter. Iku ora mbayar manungsa waé kanggo jeneng bantahan. Ing Jawa, jeneng parameter ora mbantu compiler nemtokake cara kanggo nelpon. Lan mulane dheweke ora dianggep nalika nemtokake keunikan metode.
Jeneng metode lan jinis paramèter kasebut diarani tandha metode . Tuladhane,sum(int, int)
Saben kelas kudu duwe metode kanthi teken unik tinimbang metode kanthi jeneng unik.