[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/hashfx/LearnJava/master/HelloJava.md [Back]  [Original]

i# First Program in Java (Hello, Java!)

```java
// To import everything from package directory-[java >> lang ]
import java.lang.*;  
// class name same as that of .java file
class HelloJava{  
    // main method
    public static void main(String args[]){
        System.out.println("Hello, Java!");
    }
}
```

## Import Statement

### If programmer wants to use any pre-defined class than it should be imported in the program through *import* statement

### Import statement makes the JVM go to the Java Standard Library, execute the code there and substitute the result ito the program

### In this process, no code was copied into source program; hence no wastage of memory and processor time

```powershell
"""
 To run Program from CLI
 [In: Input] :: [op: Output]
"""
[In]    javac HelloJava.java
[In]    java HelloJava.java
[op]    Hello Java
```

## class

### `class` is a keyword which is used for creating user defined datatype. Each and every java program starts its execution from `main()`

### public

+ Since `main()` method can be accessed by every java programme, hence its access specifier must be `public`

### static

+ Since `main()` method is executing only once throughout the life of entire java program and it is not called with any object hence nature of `main()` is static

### void

+ `main()` method doesn't return anything value hence its datatype is `void`

## String args[ ]

### `String` is a class and each and every `main()` method of java takes **array of objects of String class**

## println( )

### `println()` is a predefined method present in predefined class called **PrintStream** class

+ To access `println()` method, we require an object of **PrintStream** class.

+ An object of **PrintStream** class called **`out`** is created by **SunMicro System** in an another predefined class called **`System`** as a static data member.

+ Hence, to access **`println()`** and **`print()`** method, **`System`** class is used

+ In **`System.out.println()`** : **System** is **class**; **out** is **object**; **println()** is method

+ **_`static`_** **`public void main (String args[]){}`** is same as **_`public`_** **`static void main(){}`**

+ **`String args[]`** is same as **`String something_else[]`**


## Programme to display value of a variable

```java
class Display{
    public static void main(String args[]){
        int a = 100;
        System.out.println("Value of a is: " + a);
    }
}
```

### Output

```powershell
Value of a is: 100
```

## Programme to display sum of two numbers

```java
class Sum{
    public static void main(String args[]){
        int a = 10;
        int b = 80;
        int c = a + b;
        System.out.println("Sum of" + a "and" + b + "is" + c);
    }
}
```

### Output

```powershell
Sum of 10 and 80 is 90
```

### Out of the following classes, the same class will run in the name of which the program has been saved

```java
class One{
    public static void main(){
        class Two{
            public static void main(){
                // code here
            }
        }
    }
}
```

### A programme can not have Two main( ) methods in single main class

```java
class Test{
    public static void main(){
        System.out.println("First main method");
    }
    public static void main(){
        System.out.println("Second main method");
    }
}
```

### Class is a collection of data member and methods

```java
// Filename: Demo.java
class First{
    int a, b, c;
    void accept(){
        a = 100;
        b = 900;
    }
    void sum(){
        c = a + b;
    }
    void display(){
        System.out.println("Sum is " + c);
    }
}

class Demo{
    public static void main(String args[]){
        First obj1 = new First();
        obj.accept();
        obj.sum();
        obj.display();
    }
}

```

## Another way

```java
// Filename: Demo.java
class First{
    int a, b, c;  // data members
    void accept(int x, int y){  // (x, y) :: local parameters
        a = x;
        b = y;
    }
    void sum(){
        c = a + b;
    }
    void display(){
        return c;
    }
}

class Demo{
    public static void main(String args[]){
        First obj = new First();
        obj.accept(99, 1);
        obj.sum();
        System.out.println(obj.display());
    }
}

```

## Play with Java classes

```java
class Demo {
  int x;
  public static void main (String args[]){
    System.out.println(x);
  }
}

/*
Output:
Error... 
*/
```

### Note

+ ### 1 non static method can call another static method  directly if both belong to same class

+ ### 1 non static method can call another non static method directly if both belong to same class

+ ### 1 static can call another instance method (non-static) w.r.t. object

+ ### 1 instance method can call another static method directly if both belong to same class

  + ### If both methods are from different class, then calling will be w.r.t. class name

Web Proxy Viewer  |  New URL  |  Original Page