Variables (Numbers)
În programare vrem adesea să stocăm lucruri ca să le folosim mai târziu. Cel mai simplu exemplu: numere. În Java, înainte de a stoca ceva, trebuie să-i spunem limbajului ce fel de valoare vrem să stocăm. Asta se numește tip
public class Main {
public static void main(String[] args) {
int varsta = 18;
int x = 1;
System.out.println(varsta);
System.out.println(x);
}
}
int este tipul pentru numere întregi (1, 2, 100, -20, 0). Îi spunem lui Java: "sunt pe cale să stochez un număr întreg, iar numele lui este varsta"
Java este strict cu tipurile: vrea mereu să știe ce fel de valoare pui într-o variabilă. Avantajul este că Java poate prinde multe greșeli înainte ca programul să ruleze măcar
Putem face calcule cu numere
public class Main {
public static void main(String[] args) {
int a = 2;
int b = 6;
int c = a + b;
System.out.println(c);
}
}
Cu semnul =, Java calculează mai întâi ce este în dreapta, apoi stochează rezultatul în variabila din stânga. Deci c = a + b stochează 8 în c
Clasica incrementare cu 1
public class Main {
public static void main(String[] args) {
int n = 10;
n = n + 1;
System.out.println(n);
}
}
Java se uită la n + 1, vede 10 + 1 = 11, și stochează 11 înapoi în n
Java are chiar și o scurtătură pentru asta
public class Main {
public static void main(String[] args) {
int n = 10;
n++;
System.out.println(n);
}
}
n++ este același lucru cu n = n + 1. Foarte des întâlnit în Java
Pentru numere cu zecimale (precum 3.14 sau 1.75), int nu este suficient. Folosim double
public class Main {
public static void main(String[] args) {
double pi = 3.14159;
int k = 33;
System.out.println(pi + k);
}
}
Ieșire
36.14159
Rezultatul este un double pentru că am amestecat un int cu un double
Important: dacă încerci să stochezi o zecimală într-un int, Java va refuza
public class Main {
public static void main(String[] args) {
int x = 3.14; // eroare
}
}
Încearcă. Citește eroarea. Java ne protejează de pierderea accidentală a părții zecimale
O mică surpriză care prinde pe toată lumea. Încearcă asta
public class Main {
public static void main(String[] args) {
int a = 7;
int b = 2;
System.out.println(a / b);
}
}
Poate te-ai aștepta la 3.5. Dar vei vedea 3. De ce? Pentru că atunci când împărțim un int la un int, Java ne dă înapoi tot un int, aruncând zecimalele. Ca să obținem 3.5, avem nevoie de cel puțin un double
public class Main {
public static void main(String[] args) {
double a = 7;
int b = 2;
System.out.println(a / b);
}
}
Acum vedem 3.5. Ține minte asta, este un bug foarte des întâlnit la începători
Misiune: Legitimația Ofițerului
Comandantul Cortez are nevoie de o legitimație nouă tipărită. Setează valorile corecte pentru varsta și inaltime, apoi afișează linia completă de pe ecuson.
- Setează
varstala57 - Setează
inaltimela1.67 println-ul de la final construiește deja mesajul cu +, asigură-te doar că variabilele conțin valorile corecte
Intrare (deja setat în partea de sus a codului tău; schimbă valorile ca să testezi):
varsta: vârsta ofițerului (int)inaltime: înălțimea ofițerului în metri (double)
Exemplu
Cu varsta = 57 și inaltime = 1.67, programul tău ar trebui să afișeze
Ma numesc Cortez, am 57 ani si inaltimea de 1.67 m