It's the same. The full version from which both of your versions are derived is this:
val f: Int => String = (x: Int) => "Dude:" + x
Section 6.23 of the language specification says that if the expected type of the parameters is known, then you can omit the type of the parameters in your anonymous function, which results in this:
val f: Int => String = (x) => "Dude:" + x
Then, quoting the specification: "In the case of a single untyped formal parameter, (x ) => e can be abbreviated to x => e." Which will result in this:
val f: Int => String = x => "Dude:" + x
... which is your first version.
However, if you do specify the types of the parameters in your anonymous function, in most cases Scala will be able to infer the type of your anonymous function, so there is no need to specify the type of the function explicitly. That doesn't mean it's wrong to do so. It's just redundant. So if you would drop the type definition of the variable holding your anonymous function, you get your second definition.
val f = (x: Int) => "Dude:" + x
You would expect that - given this - it should also be possible to define your function like this:
scala> val f: Int => String = x: Int => "Dude:" + x
<console>:1: error: identifier expected but string literal found.
val f: Int => String = x: Int => "Dude:" + x
^
However, this will confuse the compiler. (The specification says something about it. I just haven't been able to find it yet.) If you do want to specify the parameter type of your anonymous function (as I said, there is not reason to do it), and you feel like omitting the parentheses, then this will work:
val f: Int => String = { x: Int => "Dude:" + x }