i'm newbie ,i just started learning the basics of java. how much time-give or take- would it take to have working knowledge of java? how much ican learn on my own studying 4h a day?

It's impossible to say since study time to a working knowledge of programming varies greatly from person to person and "working knowledge" is such a nebulous term. Can you be more specific?

Welcome to the wonderful world of code, there is no set-time for when one learns a programming language. It's not like learning to cook popcorn, it takes alot of practice, studying, and hard work to learn. Even then, after years of experience one still doesn't know everything about a specific programming language. For example, if you speak English you may think you know everything about it, but open a dictionary and you're sure to encounter something you never even seen. With that in mind, I would personally suggest not starting with Java as a programming language. I would start with Python, it is simpler in syntax, powerful, multi-platform, general in terms of use, and within' a small amount of time you will build confidence with the programming fundamentals. Once you feel confident enough to go into a more "strict" language such as Java, go ahead and do so. Java, is a great language for one to go into after learning the basic logic and syntax shared by all programming languages. Now the next question is; how do you learn? are you a visual, auditory, or tactile learner? Do you like learning from videos, books, or by jumping right in, and doing trial and error? With that said, I suggest that you start by reading; Learn Python The Hardway by Zed A. Shaw. good luck =D
these are all suggestions of course
EDIT: why did I get downvoted for offering valid information?

I don't really get the down vote either!

I have to disagree with Java being harder to learn though. While I'm not overly familiar with Python, once a language is learned, no matter which, all other languages are similar enough to learn.

@Jacek, I agree with deceptikon in that it is impossible to say how much and how quick you learn at 4 hours per day. If you keep up that pace I'm sure you will learn a lot. What are you learning from, a book or online? No matter which source you are learning from, be thorough and don't skip ahead. I did that while at university and found myself behind even though my intention was to skip ahead.

I never said that learning Java was hard, I just suggested that a beginning programmer should start with a language that isn't nearly as syntax 'nit-picky' as Java and worry more about the programming fundamentals and how the logic of code works. Instead of where to put a semi-colon and where not to put the semi colon.

Instead of where to put a semi-colon and where not to put the semi colon.

As opposed to where to put a space and where not to put a space? ;) All real programming languages are nitpicky about syntax, just in different ways. Regardless of which language you learn, you have to learn the syntax and apply it correctly.

But syntax is by far the simplest part of any programming language, almost to the point of being irrelevant as a learning curve metric.

here it is.i want to learn C# and gathering the informations i'v got sugestion that first i should learn object oriented programing and good way to start would be java because it will be highly usefull when studying C# so that is roughly way i'm into java.as i say before i'm newbie i know what programers do(i think) what i do not know is the"how".

Get some books, try out some basic programming like display the ever popular "Hello World" and keep moving forward from there. Use this site a lot, here's a helpful link to read.

I have a book called Starting Out with Java by Gaddis Muganda which I have found to be very useful, unfortunately it is rather expensive but I've referred to it many times.

i have some god material from java programing center and other sites and i'v got few tutorials to but i will gladly recive any sugestions that may helo my to learn.you sayd yourself ,it will not be easy.

thank you all for your input & in the future i'm going to ask for much more because i'll keep at it however difficult it may be so dont be suprised.

Just remember Jacek, no question is a stupid question!

i want to learn C# ...

Then maybe Java isn't the way to do that. The languages are almost identical, but the vast libraries that you use with them are totally different (.net vs Java API). Learn one language and you have 90%+ of the other (either way), but about 100% of the time spent on one library will be wasted when it comes to the other. Given that learning a decent subest of either library is hugely bigger than learning either language, I would advise that the best way to learn c#/.net is just is just to do that, and don't get distracted into Java.
On the other hand I think there is much merit in pbj.codez's suggestion that you start with something easier to get the basics of programming - Python, or maybe even JavaScript.

thank you James,i understand.i need some clarification.the languages are ruled by the same logic and their syntax varies very litle so as you sugested it might be easyer for my to start with Python but this is where i'm relly lost:are C,c#,and C plus are subset ofthe same language and if so way will someone sugested C# as the best to learn when from what i learned lately the one mostly in use is Cplus,so are they kind of the same language? object oriented programing is fundamental ,i understand is fundamental in any C.will Python give me the same base as java and do i take C# or C plus as the most widely used? you will forgive me the naive questions but has been so many sugestions that i'v got a bit lost so now i'll stick with one-you people. i have not wasted much time yet but dont want to lose any more.please help.and thank's Stuugie i'll remember that.

Sorry, no real time now, but briefly...
C is a low-level language that keeps you close to the hardware and is perfect for writing operating systems or real-time games etc. Not much used for applications now (too hard). It is not object-oriented.
C++ is a kind of object-oriented upgrade of C that (in my opinion) combines the worst features of both, and is a dead end (others may disagree).
C# and Java are very similar proper object-oriented languages.
c# is mainly used on Windows where it works with Microsoft's .net libraries.
Jave is used for cross-platform applications (runs on Windows/Linux etc) and uses it's own cross-platform libraries.
Either C# or Java wopuld be a good way to go if you want to be an application developer.

thank's James.i have taken sugestion of pbj.codez and had a look on Python as you agreed with him,i think that's what i'll do, start at the begining and progres from there.links aded there are very usefull so thanks pbj.codez.each yourney start's with first step.anyway,thak you all for patience and understanding.cheers!

No problem, if you need any help, feel free to post your attempt, and I am sure that the community here at Daniweb will lend a hand. =D

C++ is a kind of object-oriented upgrade of C that (in my opinion) combines the worst features of both, and is a dead end

Wow, wasn't expecting that one.

I would also recommend python as a starting langauge as the way it is written is very much like pseudo code.

Maybe I was being a bit glib when I wrote that... here's a more considered version:

C++ is an attempt to graft object-oriented features onto C without compromising C's detailed control over memory usage. In my opinion that just makes it even harder to use, and near impossible to get 100% right. For low-level programming it's more difficult than C, and for application programming it's a nightmare compared to c# or Java. Others may disagree.

i see,thank's.i had a look yesturday on Python,there are some good pointers on cmd line so i think this is the way to go for me, and then continue to more complicated thinks.i'm going to return to java after i'll the get the basics under my belt.two years should give me descent knowledge of programing i think,likewhat does what and way?and wider perspective on programing in general.but first thinks first,the Ptython so wish me luck.cheers!

In two years you should be able to get really proficient (certainly good enough to be employed) in at least one major area of programming.