Download 10 - Methods in Java/004 Variable Length Arguments_en.srt from Tan115/java-development-for-beginners-learnit: direct link, hf CLI and curl.
- Browser
- Download file 4.53 kB
-
https://huggingface.co/Tan115/java-development-for-beginners-learnit/resolve/main/10%20-%20Methods%20in%20Java/004%20Variable%20Length%20Arguments_en.srt
- Command line
-
hf download 'hf://Tan115/java-development-for-beginners-learnit/10 - Methods in Java/004 Variable Length Arguments_en.srt'
-
curl -L -o '004 Variable Length Arguments_en.srt' https://huggingface.co/Tan115/java-development-for-beginners-learnit/resolve/main/10%20-%20Methods%20in%20Java/004%20Variable%20Length%20Arguments_en.srt
4.53 kB
| 1 | |
| 00:00:00,000 --> 00:00:00,000 | |
| Hello team. | |
| 2 | |
| 00:00:00,000 --> 00:00:04,000 | |
| Today we will discuss what are variable length arguments in Java. | |
| 3 | |
| 00:00:04,000 --> 00:00:06,000 | |
| Let's start from the problem statement. | |
| 4 | |
| 00:00:06,000 --> 00:00:11,000 | |
| You want to create method, but you don't know how much arguments will be passed to that method. | |
| 5 | |
| 00:00:11,000 --> 00:00:16,000 | |
| There can be different business cases, but let's simplify and pretend that you need to create method | |
| 6 | |
| 00:00:16,000 --> 00:00:22,000 | |
| which will some numbers, but you don't know how much numbers will be passed to this method. | |
| 7 | |
| 00:00:22,000 --> 00:00:27,000 | |
| To not create method which returns sum of two numbers, and another method which returns sum of three | |
| 8 | |
| 00:00:27,000 --> 00:00:31,000 | |
| numbers, and so on, you create one method with variable length arguments. | |
| 9 | |
| 00:00:31,000 --> 00:00:33,000 | |
| The syntax is simple. | |
| 10 | |
| 00:00:33,000 --> 00:00:36,000 | |
| You need to specify type of arguments, right? | |
| 11 | |
| 00:00:36,000 --> 00:00:38,000 | |
| Ellipses and variable name. | |
| 12 | |
| 00:00:38,000 --> 00:00:41,000 | |
| Inside the method you can treat this variable as array. | |
| 13 | |
| 00:00:42,000 --> 00:00:46,000 | |
| This syntax will allow you to pass different amount of arguments to the method. | |
| 14 | |
| 00:00:46,000 --> 00:00:51,000 | |
| Here you can see that I pass five integers and here I pass just one argument. | |
| 15 | |
| 00:00:51,000 --> 00:00:55,000 | |
| In both cases this method is called and result is returned. | |
| 16 | |
| 00:00:55,000 --> 00:01:00,000 | |
| You can even change the way how you declare a main method instead of specifying that the main method | |
| 17 | |
| 00:01:00,000 --> 00:01:06,000 | |
| takes an array of strings, we can say that the main method can work with variable length arguments | |
| 18 | |
| 00:01:06,000 --> 00:01:10,000 | |
| of type string declaration like this is also possible. | |
| 19 | |
| 00:01:10,000 --> 00:01:15,000 | |
| Important thing to flag here is that variable length arguments should be declared as last parameter | |
| 20 | |
| 00:01:15,000 --> 00:01:16,000 | |
| in the method. | |
| 21 | |
| 00:01:17,000 --> 00:01:22,000 | |
| For example, this method declaration will produce compilation error because the variable argument type | |
| 22 | |
| 00:01:22,000 --> 00:01:25,000 | |
| int of the method must be the last parameter. | |
| 23 | |
| 00:01:25,000 --> 00:01:31,000 | |
| Because during runtime, JVM should know when int arguments are finished and strings are started, and | |
| 24 | |
| 00:01:31,000 --> 00:01:36,000 | |
| when we adjusted the method declaration, everything is fine and there is no compilation error. | |
| 25 | |
| 00:01:37,000 --> 00:01:41,000 | |
| Variable length argument always should be declared as the last parameter in the method. | |
| 26 | |
| 00:01:41,000 --> 00:01:47,000 | |
| You already saw real life example of variable length argument, but probably didn't pay enough attention. | |
| 27 | |
| 00:01:47,000 --> 00:01:50,000 | |
| Do you remember lesson about string formatting? | |
| 28 | |
| 00:01:50,000 --> 00:01:56,000 | |
| Method format takes variable length arguments as a parameter, because we never know how much format | |
| 29 | |
| 00:01:56,000 --> 00:01:59,000 | |
| specifiers will be present in string, which we need to format. | |
| 30 | |
| 00:02:00,000 --> 00:02:04,000 | |
| That's all what I wanted to share with you regarding variable length arguments. | |
| 31 | |
| 00:02:04,000 --> 00:02:08,000 | |
| Now let's recap what you have learned about methods in this section. | |
| 32 | |
| 00:02:08,000 --> 00:02:10,000 | |
| You learned how to declare and call methods. | |
| 33 | |
| 00:02:10,000 --> 00:02:14,000 | |
| You understand what method signature is and how we can overload methods. | |
| 34 | |
| 00:02:14,000 --> 00:02:20,000 | |
| Now you understand that both reference and primitive types of data in Java are passed by values. | |
| 35 | |
| 00:02:20,000 --> 00:02:26,000 | |
| During the method invocation, we wrote recursive methods and learn what variable length arguments are. | |
| 36 | |
| 00:02:26,000 --> 00:02:28,000 | |
| Let's take a look at your homework now. | |
| 37 | |
| 00:02:29,000 --> 00:02:32,000 | |
| Your homework primarily consists of coding exercises. | |
| 38 | |
| 00:02:32,000 --> 00:02:38,000 | |
| Now when you know how to write custom methods, how to use loops, arrays, and primitive types of data, | |
| 39 | |
| 00:02:38,000 --> 00:02:41,000 | |
| our tasks might become a little more complicated. | |
| 40 | |
| 00:02:41,000 --> 00:02:45,000 | |
| I tried to describe homework with as much details as I could. | |
| 41 | |
| 00:02:45,000 --> 00:02:47,000 | |
| Try to solve these tasks. | |
| 42 | |
| 00:02:47,000 --> 00:02:52,000 | |
| I will share with you source code of the solution for these tasks, but try to solve them by yourself | |
| 43 | |
| 00:02:52,000 --> 00:02:53,000 | |
| first. | |
| 44 | |
| 00:02:53,000 --> 00:02:56,000 | |
| Thanks a lot for your attention and see you in the next lesson. | |