Zu 1) Wenn Du innerhalb einer Funktion eine Variable als static deklarierst, bleibt der Wert bis zum nächsten Aufruf erhalten, ist allerdings im Gegensatz zur globalen Variable nur innerhalb der Funktion bekannt. Im code sieht das z.B. so aus:
Code:
static int x;
zu 2) Dazu ließt Du Dir am besten mal das Kapitel "Casting - implizit und explizit" auf dieser Seite durch. (Zuerst rechts auf Inhaltsverzeichnis klicken).

Gruß,
askazo