I know C and Python, but i wanted to learn Java.
Any suggestion, how should i go about it. I started reading some book, but couldn't make it out.


If you can be more specific about "couldn't make it out", that would help us.
Also there is a post in this section with many Java tutorials by thekashyap, here

Thanks, the link is very useful.

I read the syntax, its almost same a C. But i didn't get how the control flows, like what does it do, when a funtion is called etc.

I have heard, that you could write C code in Java, but that is not the efficient use of the language, so how can i efficiently code in Java.

If i know, what the problem is, its logic etc, where should i start?

How efficient is eclipse, it is neccessary, i should know eclipse, to code in Java.

Basically i am confused. :P


Go through the tutorials without using any IDE whatsoever. Once you understand all the concepts (such as classpath and the like), then you can start worrying about an IDE.

And don't try to write C code in Java.
C and Java have completely different paradigms, C being procedural and Java object oriented.

Java in fact has more similarities with Smalltalk and Delphi than it does with C.
Just about the only things that are similar to C is actually borrowed from C++ (which itself borrows it from C) and that's the block demarcation with braces and the way control structures like loops and conditional clauses are constructed.

Not that I really have a firm grasp on it yet, but the best way for me to pick up the logic and uses of the language is just to start coding and working through the errors I get.
The logic I can usually pick up after a short time, but working through the errors (with the help of the guys out here) helped with my syntax more than anything.

hmm..so i should start with writing small codes?

That is what I did. Simple little projects that did only one or two things. After I had a basic understanding of how the classes worked, I then started more complicated (to me) things.
This is where I learned the most. Implimenting arrays, Jlists, GUI and all that. I spent most of my time out here working through my problems, but once on the other side and could look back at how I started, how the problems were solved, and how it all works, I have such a better understanding.
That has always been my process for learning though, yours may be different.

For detailed information on object-oriented programming in Java, this free online book is a good resource:

It does not cover new things that have been added with 1.5 and 1.6, but it is still very relevant to the language basics.

For small code examples of all kinds of "how do I do this?" type questions, this can be helpful:

More tutorial links can be found here:

Thanks a lot. This is really helpful :)