Saturday, April 11, 2009

Java Lesson 1 - Hello World from Java using Eclipse

I was informed na better if magstat muna ko sa basics in java instead of jumping to J2EE kagad. So I'll be putting the J2EE posts on hold. Next time ko na ituloy 'pag oks na tayo sa basics. :)

For our setup, same lang ng sa J2EE Lesson 1 post ko. Pero since Java na lang 'to, you don't have to do Tomcat installation and configuration. So ang gagawin na lang ay:

1. Donwload JDK and Eclipse
2. Instalation
3. Configuration (except step 6)

Actually, pwedeng hindi na gawin ang configuration na part. Kasi gagana naman ang eclipse kahit walang configuration na JAVA_HOME. Pero paki gawa na din kasi we'll be needing it sa ibang lessons.

After nyo magawa yung steps above, to na ang next steps natin:

1. Run Eclipse
2. You'll be greeted with this window:
Just click 'Ok'. Sinasabi lang nyan kung san yung 'workspace'. Yung 'workspace' eh yung folder kung san mapapalagay yung mga Java projects.
3. Lalabas 'tong window na to:
Just click yung 'workbench na icon. Yung ung icon na nagsosolo sa right side.
4. Go to 'File' -> 'New' -> 'Other' -> 'Java' -> 'Java Project'. Kagaya nito:
5. Click 'Next'.
6. Sa 'Project Name:' na field, lagay nyo lang 'HelloWorldSample'
7. May lalabas na window:
Just click 'Yes'
8. Go to 'File' -> 'New' -> 'Class'
9. Sa name field, lagay nyo lang 'HelloWorld' at sa 'Package' naman, 'com.pinoyjavatutorial'
10. Put a check on 'public static void main(String [] args). Magiging ganto yung hitsura ng window:
11. By doing that, gagawa na ang eclipse ng class natin at yung package.
12. Lagay nyo to sa loob ng 'main' na method: 'System.out.println("Hello World from Java!");' So magiging ganto yung code ng 'HelloWorld.java':

package com.pinoyjavatutorial;
public class HelloWorld {
/**
* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Hello World from Java!");

}


}


13. Sa 'Package Explorer' na window, right click on 'HelloWorld.java'. Then go to 'Run As' -> 'Java Application'. Parang ganto:

14. You'll be ask if you want to save, just click 'Ok'
15. May lalabas na 'Hello World from Java' na string sa baba. Highlighted in a red box sa baba:
Ok, here's the fun part. I'll explain what the code does. :)

The first line:

package com.pinoyjavatutorial;
- This states that this class is going to be put in a 'package' or folder/s named 'com.pinoyjavatutorial'. Actually kahit anong pangalan to. So instead of 'com.pinoyjavatutorial', pwede nyo paltan ng kahit ano like 'myfirsteclipseproject' or 'daiIchiProject' at kung ano-ano pa.

public class HelloWorld {
- To naman, it states that this is a public class named 'HelloWorld'. Since 'HelloWorld' yung name ng class, dapat ang filename nya ay 'HelloWorld' din. We don't have to worry na dapat same ang filename at name ng class kasi eclipse takes care of that.
-yung 'public' naman, it declares na 'public' yung type ng 'access modifier' nya. More on Access modifiers sa mga next lessons. Basta tandaan lang na kapag 'public', magagamit ang class na ito ng iba pang classes at java applications.
- yung 'class', it just states na class yung type nya.

/**
* @param args

*/

- Comment lang to which means na hindi to babasahin ng compiler. Multi-line comment ito. Which means anything between '/**' at '*/' ay i-ignore ng compiler. Medyo special na comment to kasi Javadoc comment to. Ang mga javadoc comment ay ginagamit na para sa documentation purposes. Saka na natin i-explore ang javadoc kasi basics muna tayo.


public static void main(String[] args) {
- yung 'public' dito ay same lang nung 'public' kanina na inexplain ko. It just means na pwede gamitin tong method na to ng iba pang java classes.
- ang ibig sabihin ng 'static' na keyword dito ay hindi pwedeng magkaroon ng ibang instantance ng method na 'to. Baka mapaisip kayo, ano ba ang instance? Lalo na kung galing kayo sa Turbo C (hindi C++ ha) na language or sa iba pang procedural languages (hindi object-oriented programming language) eh medyo mapapaisip kayo kasi walang instance concept sa mga languages na yun. If i-explain ko kagad ang about sa mga instance eh makakalito lang. Let's discuss that pag dun na tayo sa pag gamit ng ibang mga classes. Nga pala, ang 'static' ay isa din Access modifier kagaya ng 'public'.
-the 'void' keyword means it won't return any value. Madi-discuss natin to pag gumagamit na tayo ng iba pang classes.
-'main' yung name ng method natin. Sya yung starting point. Similar sya sa 'main' ng C/C++. Bale pag niload ang 'HelloWorld' eh yung 'main' method ang hahanapin ng JVM.
-'String[] args', bale nag declare lang tayo ng string object na ang name ay 'args'. Minsan instead of 'args', 'argv' ang ginagamit ng ibang programmers. Kaya magiging 'String[] argv' sya. Ok lang kahit ano sa dalawa. Name lang naman yan. Kahit nga paltan ko yan ng 'kahitAnongVariable' eh oks lang din. Nilagay nga pala dun ang 'String[] args' kasi it means na yung method na 'main' ay pwedeng mag-accept ng argument na string ang type.
- Kindly note na since ang 'public' ay access modifier kagaya ng 'static', pwedeng 'static public void main(String[] args)'. Pero sa usual convention, its 'public static' and not 'static public'.

// TODO Auto-generated method stub
- Comment lang din to. Single line comment ang type nito. Ibig sabihin ng single line ay tong line lang na to ang i-ignore ng compiler. Yung next na line ay i-e-execute ng compiler.

System.out.println("Hello World from Java!");

- To way para mag print sa standard output. Yung '"Hello World from Java!"' eh yung ipi-print sa standard output.

I hope I was able to properly explain our first Java application. It's a little non-sense kasi wala naman sya ginagawa talaga na magagamit natin ng matino. Pero start pa lang kasi kaya I'm just building the concepts pati ang pag-gamit ng eclipse. Kaya nga maraming mga parts ang briefly explained lang at sa next na post na yung in-depth discussion para dun.

2 comments:

  1. sir, bali yung args sa
    public static void main(String[] args) {

    variable siya noh..kahit anong name pwede..

    bali pwede rin siyang ganito diba..
    public static void main(String args[]) {

    hehe talagang inexplain mo pa talaga yung code noh sir..

    ReplyDelete
  2. pwede din po yan sir. gagana pa din po yan. ;)

    ReplyDelete