```
public class A  {
    interface Interface{
        void print();
    }
    public static void main(String[] args) {
        Interface i=()->{System.out.println("1");System.out.println("2");System.out.println("3");System.out.println("4");};
        i.print();
    }
}
output:
1
2
3
4

```

when I remove the curly brackets like this:

```
public class A  {
    interface Interface{
        void print();
    }
    public static void main(String[] args) {
        Interface i=()->System.out.println("1");System.out.println("2");System.out.println("3");System.out.println("4");
        i.print();
    }
}
output:
2
3
4
1

```

I know we have to use curly brackets when we want to implement more than 1 statement. When we remove the curly brackets application is still compiling but my question is why second statement is executed first and first statement as last? I couldn't found any explanation about this.