I would go for C#. It is a very modern language with some nice features. It is closley tied to the net framework, but that does not tie you into using windows os.
The net framework theoreticaly will work with any os.
I would also choose c#,unless i wanted to port my program to Linux.
If you know c++ then C# will not be difficult to learn,but there is a lot to learn for .net framework.All these classes and methods make me dizzy.
+you have msdn,which provides info about everything so dont worry about getting stuck anywhere.
Java can be used on all major OS's. Both are good to learn. C is also important for microcontrollers. And learning VHDL or Verilog of some kind of HDL is almost as important to learn since FPGA's and other types of programmable integrated circuits are big and getting bigger in electrical engineering.
so far i think that you must learn C language instead of java because its easy and have lot of applications on the other hand java is even case sensitive and may bother you rest of it is up to you
Java can be used on all major OS's. Both are good to learn. C is also important for microcontrollers. And learning VHDL or Verilog of some kind of HDL is almost as important to learn since FPGA's and other types of programmable integrated circuits are big and getting bigger in electrical engineering.