MyMethod(x as integer, Optional y as integer)
In the above example, the keyword Optional makes the "y" parameter optional. If only one parameter is passed, y will have the default value for an integer which is zero. You can also include the default value if you want it to be different that the default value for the data type you are using:
MyMethod(x as integer, Optional y as integer = 5)
When you provide a default value, the Optional keyword is, well, optional. But it's good to use it because it makes your code a bit more explicit.
You can even have the same parameter use two different data types by making two methods with the same name but with different parameters. For example:
Foo(x as integer)
Foo(x as boolean)
Both methods can have their own code or you could have one call the other. So as you can see, there's a lot you can do with parameters.