For the
Long x = 250;
That won't work. Java uses Autoboxing, which casts automatically from the Object representative class to the primitive type. As for the other ones, int's are just the primary number type used. Longs, well at least for what I use them most often for, are used for dates and times only. Integers on the other hand are used by default for everything else.
If you really want to get into specifics, I'm sure this will rustle your jimmies more:
float pi = 3.14; // Does not compile.
float pi = 3.14F; // Compiles
In this case as well, double takes the priority when there is a decimal involved.