I found the follwoing statements from SAP help
Initialization event can be used to initialize the input fields of the standard selection screen.
This event keyword defines an event block whose event is triggered by the ABAP runtime environment during the flow of an executable program, directly after LOAD-OF-PROGRAM and before the selection screen processing of any existing standard selection screen.
Now my doubt is if a program doesn't have a selection screen does Initialization event would still get called?
yes it will call initialization even if it doesnt have any selection screen fields.
DATA a TYPE i.
WRITE a .
a = 9.
a = 10.
now answer will be 10 and 9.
So the value for A will be 10 first which is set in intialization event.