Solved

Differentiate between function in Java and C

Posted on 2011-02-19
15
869 Views
Last Modified: 2012-05-11
Please tell me the easiest way  to differentiate functions in C and Java.

Also, if a function signature is of the form  "return_type function_name()", is it is sufficient to conclude that it is a C function?

Does the function "toCharArray()" exist in C/C++?

Thanks!
0
Comment
Question by:dshrenik
  • 11
  • 3
15 Comments
 
LVL 47

Accepted Solution

by:
for_yan earned 417 total points
ID: 34935955
Java method should have in 100% of cases type in the signature or
the word "void"

If signature does not have return type unless it is cnstructor - that is C function
0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 417 total points
ID: 34935963
Also this convention - starting word lower case - other words upper case - this is typical for Java, like toCharArray(). I guess in C standard functions
are mostly in lower case. Does not mean that someone might not write
some C funvtion folloing Java naming tradition - just one
name is not enough to guarantee that it is either C or Java
0
 
LVL 47

Expert Comment

by:for_yan
ID: 34935971
Of course  you cannot conclude that

return_type function_name()

is always C function

there maybe any number of Java Methods
like that, say,

float my_function()

You need to have the context.

One very imporatnt difference that in Java all methods
should be within a class, whereas in C++ there may be
functions and methods not within any class

0
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 47

Expert Comment

by:for_yan
ID: 34935984

I think in C++ there is a function ToCharArray():
http://msdn.microsoft.com/en-us/library/system.string.tochararray%28v=vs.71%29.aspx

But still toCharArra() - starting with lower case looks more like Java to me.
Of course you cannot rely on such things - no one prevents someone to
write in C function with such name
0
 

Author Comment

by:dshrenik
ID: 34935989
Thanks for the detailed explanations.

Can you tell me if "len = s.Length" is C or Java?
0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 417 total points
ID: 34935994
if s is a string then s.length is not Java, Java would be s.length()

On the other hand if s is array, then Java will have s.length - without parentheses
0
 
LVL 47

Expert Comment

by:for_yan
ID: 34936000
I think one simple way is to look at the top of the program - in C you'll usually
see a bunch of "include"'s, in Java - a bunch of "import"'s
0
 

Author Comment

by:dshrenik
ID: 34936009
s is an array.

Is "s.Length" in Java? (L is in caps)

I have access only to the function code...
0
 

Author Comment

by:dshrenik
ID: 34936013
Do all Java functions need the qualifier "public" / "private", etc?
0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 417 total points
ID: 34936014
Now iit is all lower case, but it will have parentheses in the end -
this means it is a method
0
 
LVL 47

Expert Comment

by:for_yan
ID: 34936024
No, nota ll of them need it - they have no access qualifie - that is called
"default" access - just you may write

float sqrt1(float x){...}

0
 
LVL 47

Expert Comment

by:for_yan
ID: 34936033
it is return type which is mandatory in Java - even if returns nothing it should have "void" in frtont; I guess in C - if it returns nothing "void" is just good practice but not an error
0
 
LVL 47

Expert Comment

by:for_yan
ID: 34936038
But one exception is that constructor in the class has no return type - but its name should be identical to the name of the class - so if compiler ebcounetrs declaration of method which has no return type and does not match exactly the class name where it finds this method - then Java compiler will report an error
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 83 total points
ID: 34936810
>>Is "s.Length" in Java? (L is in caps)

That looks like .NET (in which case it could be C# - as could the rest)
0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 417 total points
ID: 34936819
.NET may apply either to C or to C#. It may be C# which is in general much closer to Java than C
Yes, in C# it really looks like length of the string is shown this way:
http://msdn.microsoft.com/en-us/library/system.string.length.aspx
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
even odd program using while loop 3 60
designing in object programming 12 94
Selenium docs api java index 3 48
Finding Divisors 5 20
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The viewer will learn how to implement Singleton Design Pattern in Java.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question