Passing Parameters by ValuesThe power of a method is its ability to wo dịch - Passing Parameters by ValuesThe power of a method is its ability to wo Việt làm thế nào để nói

Passing Parameters by ValuesThe pow


Passing Parameters by Values
The power of a method is its ability to work with parameters. You can use println to print any string and max to find the maximum between any two int values. When calling a method, you need to provide arguments, which must be given in the same order as their respective parameters in the method specification. This is known as parameter order association. For example, the following method prints a message n times:

public static void nPrintln(String message, int n) {
for (int i = 0; i < n; i++)
System.out.println(message);
}



You can use nPrintln("Hello", 3) to print "Hello" three times. The nPrintln("Hello", 3) statement passes the actual string parameter, "Hello", to the parameter, message; passes 3 to n; and prints "Hello" three times. However, the statement nPrintln(3, "Hello") would be wrong. The data type of 3 does not match the data type for the first parameter, message, nor does the second parameter, "Hello", match the second parameter, n.

Caution


The arguments must match the parameters in order, number, and compatible type, as defined in the method signature. Compatible type means that you can pass an argument to a parameter without explicit casting, such as passing an int value argument to a double value parameter.




When you invoke a method with a parameter, the value of the argument is passed to the parameter. This is referred to as pass-by-value. If the argument is a variable rather than a literal value, the value of the variable is passed to the parameter. The variable is not affected, regardless of the changes made to the parameter inside the method. We will examine an interesting scenario in the following example, in which the parameters are changed in the method but the arguments are not affected.

Listing 5.3 is a program that demonstrates the effect of passing by value. The program creates a method for swapping two variables. The swap method is invoked by passing two arguments. Interestingly, the values of the arguments are not changed after the method is invoked. The output of the program is shown in Figure 5.5.


Figure 5.5. The contents of the arguments are not swapped after the swap method is invoked.




--------------------------------------------------------------------------------

[Page 136]

Listing 5.3. TestPassByValue.java

1 public class TestPassByValue {
2 /** Main method */
3 public static void main(String[] args) {
4 // Declare and initialize variables
5 int num1 = 1;
6 int num2 = 2;
7
8 System.out.println("Before invoking the swap method, num1 is " +
9 num1 + " and num2 is " + num2);
10
11 // Invoke the swap method to attempt to swap two variables
12 swap(num1, num2);
13
14 System.out.println("After invoking the swap method, num1 is " +
15 num1 + " and num2 is " + num2);
16 }
17
18 /** Swap two variables */
19 public static void swap(int n1, int n2) {
20 System.out.println(" Inside the swap method");
21 System.out.println(" Before swapping n1 is " + n1
22 + " n2 is " + n2);
23
24 // Swap n1 with n2
25 int temp = n1;
26 n1 = n2;
27 n2 = temp;
28
29 System.out.println(" After swapping n1 is " + n1
30 + " n2 is " + n2);
31 }
32 }




Before the swap method is invoked (line 12), num1 is 1 and num2 is 2. After the swap method is invoked, num1 is still 1 and num2 is still 2. Their values are not swapped after the swap method is invoked. As shown in Figure 5.6, the values of the arguments num1 and num2 are passed to n1 and n2, but n1 and n2 have their own memory locations independent of num1 and num2. Therefore, changes in n1 and n2 do not affect the contents of num1 and num2.


Figure 5.6. The values of the variables are passed to the parameters of the method.




--------------------------------------------------------------------------------

[Page 137]
Another twist is to change the parameter name n1 in swap to num1. What effect does this have? No change occurs because it makes no difference whether the parameter and the argument have the same name. The parameter is a variable in the method with its own memory space. The variable is allocated when the method is invoked, and it disappears when the method is returned to its caller.

Note


For simplicity, Java programmers often say passing an argument x to a parameter y, which actually means passing the value of x to y.



0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Đi qua các thông số của giá trịSức mạnh của một phương pháp là khả năng để làm việc với tham số. Bạn có thể sử dụng println để in bất kỳ chuỗi và max để tìm tối đa giữa bất kỳ hai int giá trị. Khi gọi một phương pháp, bạn cần phải cung cấp đối số, mà phải được đưa ra theo thứ tự dưới dạng tham số tương ứng của họ trong đặc tả phương pháp. Điều này được gọi là tham số thứ tự Hiệp hội. Ví dụ, các phương pháp sau đây in một lần n tin nhắn:công tĩnh void nPrintln (thông điệp String, int n) {} cho (int tôi = 0; tôi < n; i ++) System.out.println(Message);}Bạn có thể sử dụng nPrintln ("Hello", 3) để in "Hello" ba lần. NPrintln ("Hello", 3) tuyên bố đi các tham số chuỗi thực tế, "Xin chào", để các tham số, tin nhắn; Pass 3 đến n; và in "Hello" ba lần. Tuy nhiên, tuyên bố nPrintln (3, "Hello") sẽ là sai lầm. Loại dữ liệu 3 không khớp với loại dữ liệu cho các tham số đầu tiên, tin nhắn, cũng không để tham số thứ hai, "Xin chào", phù hợp với các tham số thứ hai, n.Thận trọng Các đối số phải phù hợp với các tham số trong trật tự, số và tương thích loại, như được định nghĩa trong chữ ký phương pháp. Tương thích loại có nghĩa là bạn có thể vượt qua một cuộc tranh cãi với một tham số mà không có rõ ràng đúc, chẳng hạn như đi qua một cuộc tranh cãi int giá trị vào một tham số tăng gấp đôi giá trị. Khi bạn gọi một phương pháp với một tham số, giá trị của các đối số được thông qua vào tham số. Điều này được gọi là vượt qua bởi giá trị. Nếu các đối số là một biến chứ không phải là một giá trị chữ, giá trị của biến được thông qua vào tham số. Biến không ảnh hưởng, bất kể những thay đổi các tham số trong các phương pháp. Chúng ta sẽ xem xét một kịch bản thú vị trong ví dụ sau đây, trong đó các thông số được thay đổi trong các phương pháp nhưng các đối số không bị ảnh hưởng.Danh sách 5.3 là một chương trình chứng tỏ có hiệu lực của đi qua của giá trị. Chương trình tạo ra một phương pháp để trao đổi hai biến. Phương pháp trao đổi được kích hoạt bằng cách đi qua hai đối số. Điều thú vị, các giá trị của các đối số không thay đổi sau khi các phương pháp được gọi. Đầu ra của chương trình được hiển thị trong hình 5.5.Con số 5.5. Nội dung của các đối số không đổi chỗ sau khi trao đổi phương pháp được gọi.--------------------------------------------------------------------------------[Trang 136]Danh sách 5.3. TestPassByValue.java 1 công cộng lớp TestPassByValue {} 2 / ** chính phương pháp * / 3 công tĩnh void main (String [] args) {} 4 / / tuyên bố và khởi tạo biến 5 int num1 = 1; 6 int num2 = 2; 7 8 System.out.println ("Trước khi gọi các phương pháp trao đổi, num1 là" + 9 num1 + "và num2 là" + num2);1011 / / gọi phương pháp trao đổi để cố gắng để trao đổi hai biến12 trao đổi (num1, num2);1314 System.out.println ("Sau khi gọi các phương pháp trao đổi, num1 là" +15 num1 + "và num2 là" + num2);16 }1718 /** Swap two variables */19 public static void swap(int n1, int n2) {20 System.out.println(" Inside the swap method");21 System.out.println(" Before swapping n1 is " + n122 + " n2 is " + n2);2324 // Swap n1 with n225 int temp = n1;26 n1 = n2;27 n2 = temp;2829 System.out.println(" After swapping n1 is " + n130 + " n2 is " + n2);31 }32 } Before the swap method is invoked (line 12), num1 is 1 and num2 is 2. After the swap method is invoked, num1 is still 1 and num2 is still 2. Their values are not swapped after the swap method is invoked. As shown in Figure 5.6, the values of the arguments num1 and num2 are passed to n1 and n2, but n1 and n2 have their own memory locations independent of num1 and num2. Therefore, changes in n1 and n2 do not affect the contents of num1 and num2.Figure 5.6. The values of the variables are passed to the parameters of the method. --------------------------------------------------------------------------------[Page 137]Another twist is to change the parameter name n1 in swap to num1. What effect does this have? No change occurs because it makes no difference whether the parameter and the argument have the same name. The parameter is a variable in the method with its own memory space. The variable is allocated when the method is invoked, and it disappears when the method is returned to its caller.Note For simplicity, Java programmers often say passing an argument x to a parameter y, which actually means passing the value of x to y.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!

Đi qua các tham số của các giá trị
Sức mạnh của một phương pháp là khả năng làm việc với các thông số. Bạn có thể sử dụng println in bất kỳ chuỗi ký tự và tối đa để tìm ra tối đa giữa bất kỳ hai giá trị int. Khi gọi một phương thức, bạn cần cung cấp lập luận, mà phải được đưa ra trong cùng một thứ tự như các thông số tương ứng của họ trong các đặc điểm kỹ thuật phương pháp. Điều này được biết đến như hiệp hội để tham số. Ví dụ, các phương pháp sau đây in một thông báo n lần: public static void (nhắn String, int n) {nPrintln for (int i = 0; i <n; i ++) System.out.println (tin nhắn);} Bạn có thể sử dụng nPrintln ("Hello", 3) in "Hello" ba lần. Các nPrintln ("Hello", 3) tuyên bố vượt qua các tham số chuỗi thực tế, "Hello", các tham số, tin nhắn; đi 3 đến n; và in "Hello" ba lần. Tuy nhiên, tuyên bố nPrintln (3, "Hello") sẽ là sai lầm. Các kiểu dữ liệu của 3 không phù hợp với các kiểu dữ liệu cho tham số đầu tiên, thông điệp, cũng không có tham số thứ hai, "Hello", phù hợp với tham số thứ hai, n. Chú ý các đối số phải phù hợp với các thông số theo thứ tự, số, và loại tương thích , như được định nghĩa trong chữ ký phương pháp. Tương thích loại có nghĩa là bạn có thể vượt qua một đối số cho một tham số mà không đúc rõ ràng, chẳng hạn như đi qua một tham số int giá trị cho một tham số giá trị gấp đôi. Khi bạn gọi một phương pháp với một tham số, giá trị của các đối số được truyền vào tham số. Điều này được gọi là pass-by-value. Nếu đối số là một biến chứ không phải là một giá trị văn chương, các giá trị của biến được truyền vào tham số. Biến không bị ảnh hưởng, bất kể những thay đổi được thực hiện cho các tham số bên trong phương pháp. Chúng tôi sẽ xem xét một kịch bản thú vị trong các ví dụ sau đây, trong đó các thông số được thay đổi trong phương pháp này nhưng các đối số không bị ảnh hưởng. Listing 5.3 là một chương trình mà chứng tỏ hiệu quả của truyền theo giá trị. Chương trình này tạo ra một phương pháp để trao đổi hai biến. Các phương pháp trao đổi được gọi bằng cách đi qua hai đối số. Điều thú vị là, các giá trị của các đối số không thay đổi sau khi phương pháp này được gọi. Các đầu ra của chương trình được thể hiện trong hình 5.5. Hình 5.5. Nội dung của các đối số không đổi sau khi các phương pháp trao đổi được gọi. ----------------------------------- --------------------------------------------- [Trang 136] Liệt kê 5.3. TestPassByValue.java 1 public class TestPassByValue {2 / ** Phương pháp chính * / 3 static void main (String [] args) {công 4 // Khai báo và khởi tạo các biến 5 int num1 = 1; 6 int num2 = 2; 7 8 Hệ thống .out.println ("Trước khi gọi phương thức trao đổi, num1 là" + 9 num1 + "và num2 là" + num2); 10 11 // Gọi phương thức hoán đổi để cố gắng để trao đổi hai biến 12 swap (num1, num2); 13 14 System.out.println ("Sau khi gọi phương thức trao đổi, num1 là" + 15 num1 + "và num2 là" + num2); 16} 17 18 / ** Swap hai biến * / 19 public static void swap (int n1, n2 int) {20 System.out.println (" tInside phương pháp trao đổi"); 21 System.out.println (" t tBefore swapping n1 là" + n1 22 + "n2 là" + n2); 23 24 // Swap n1 n2 với 25 int temp = n1; 26 n1 = n2; 27 n2 = temp; 28 29 System.out.println (" t tAfter swapping n1 là" + n1 30 + "n2 là" + n2); 31} 32} Trước khi các phương pháp trao đổi được gọi (dòng 12), num1 và num2 là 1 là 2. Sau khi các phương pháp trao đổi được gọi, num1 vẫn là 1 và num2 vẫn là 2. giá trị của họ không đổi sau khi Phương pháp trao đổi được gọi. Như thể hiện trong hình 5.6, các giá trị của các đối số num1 và num2 được thông qua với n1 và n2, nhưng n1 và n2 có bộ nhớ vị trí của riêng mình độc lập của num1 và num2. Do đó, những thay đổi trong n1 và n2 không ảnh hưởng đến nội dung của num1 và num2. Hình 5.6. Các giá trị của các biến được truyền cho các tham số của phương thức. ------------------------------------ -------------------------------------------- [Trang 137] xoắn khác là thay đổi tên tham số n1 trong trao đổi để num1. Hiệu lực, điều này không có? Không có thay đổi xảy ra bởi vì nó làm cho không có sự khác biệt cho dù các tham số và đối số có cùng tên. Các tham số là một biến trong các phương pháp với không gian bộ nhớ riêng của mình. Các biến được phân bổ khi phương thức được gọi, và nó biến mất khi phương thức này được trả lại cho người gọi của nó. Lưu ý Để đơn giản, lập trình viên Java thường nói truyền một đối số x để một y tham số, đó thực sự có nghĩa là đi qua các giá trị của x để y.


























































































đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: