Hola!! C# y Java tienen muchas similitudes, no creo que uno sea más recomendable que otro (a no ser que tengas necesidades específicas). En cuanto a demanda laboral, posiblemente es mayor el número de ofertas laborales para programadores Java, sin embargo también es mayor el número de programadores y profesionales, Java, con lo cual el ratio de posibilidad de colocación sigue siendo bueno para ambos lenguajes, es decir, que no creo que por aprender uno u otro tengas más salida.
Sobre el for, do while, if, etc. son básicamente iguales entre java y C#, aunque en algunos casos hay detalles que son distintos entre uno y otro lenguaje. Pero si comprendes la lógica del for en Java, podrás aprovecharla si luego programas C# y al revés.
Sobre la pregunta ¿dejar C# por Java? pues depende de tí, el curso de java que hay en aprenderaprogramar.com es muy bueno y creo que le puede venir bien a todo quien quiera aprender programación orientada a objetos. Pero eso no significa que abandones C#, podrías seguir el curso de Java para aprender los conceptos y luego ir haciendo los ejercicios propuestos tanto en Java como en C#, de esa manera podrías hacer una comparación entre ambos lenguajes. También otra opción es aprender primero C# y luego Java, o primero Java y luego C#. Hagas lo que hagas no será tiempo perdido, porque los conocimientos que obtengas con un lenguaje podrás aprovecharlos con el otro. Saludos!!!