a) Variabile de instanță.
MyClass.metodaDeInstanta(); // ilegal
1. Votare. Se citește de la tastatură vârsta unei persoane. Elaborați un program care va afișa:
- „Are drept de vot”, dacă persoana are 18 ani sau mai mult;
- „Nu are drept de vot”, în caz contrar.
2. Admitere la facultate. Se citește de la tastatură nota unui candidat la examen.
Elaborați un program care va afișa:Elaborați un program care va afișa:
- „Admis”, dacă nota este mai mare sau egală cu 5;
- „Respins”, dacă nota este mai mică decât 5.
3. Reducere la magazin. Un client cumpără produse în valoare de X lei. Dacă suma depășește 500 lei, se acordă o reducere de 10%. Elaborați un program care va permite citirea de la tastatură a sumei de bani cheltuită după care va afișa mărimea reducerii aplicată urmată de suma finală de plată.
4. Temperatura camerei. Se citește de la tastatură temperatura camerei. Elaborați un program care:
- dacă temperatura este sub 18°C va afișa mesajul „Pornește încălzirea”.
- dacă temperatura este peste 28°C va afișa mesajul „Pornește aerul condiționat”.
- va afișa „Temperatura este confortabilă” pentru oricare altă valoare a temperaturii.
5. Semafor pietonal. Se citește de la tastatură culoarea semaforului (roșu, galben, verde).
Elaborați un program care va afișa:Elaborați un program care va afișa:
- „Așteaptă”, dacă semaforul este roșu;
- „Fii atent, urmează schimbarea”, dacă semaforul este galben;
- „Traversează strada”, dacă semaforul este verde.
6. Factura la energie electrică. Se citește de la tastatură consumul de energie electrică al unei gospodării (în kWh). Elaborați un program care va calcula și afișa costul facturii după următoarele reguli:
- Dacă consumul este până la 100 kWh, prețul unui kWh este 2 lei;
- Dacă consumul este între 101 și 300 kWh, prețul unui kWh este 3 lei;
- Dacă consumul este mai mare de 300 kWh, prețul unui kWh este 4 lei.
Programul va afișa: consumul, tariful aplicat și suma finală de plată.
7. Nota finală la un curs. Se citesc de la tastatură 3 note ale unui elev: nota la test, nota la proiect și nota la examen. Media finală se calculează astfel: 30% testul, 30% proiectul, 40% examenul. Dacă media finală este:
- ≥ 8, afișați mesajul „Rezultat excelent”;
- între 5 și 7.99, afișați mesajul „Rezultat satisfăcător”;
- < 5, afișați mesajul „Rezultat nesatisfăcător”.
8. Impozitul pe venit. Se citește de la tastatură venitul anual al unei persoane.
Impozitul se calculează progresiv, după cum urmează:
- pentru venituri de până la 20.000 lei → se aplică o taxă de 5%;
- pentru venituri între 20.001 și 50.000 lei → pentru primii 20.000 se aplică 5%, iar pentru restul 10%;
- pentru venituri de peste 50.000 lei → pentru primii 20.000 se aplică 5%, pentru următorii 30.000 se aplică 10%, iar pentru restul 15%.
Programul va afișa: venitul, valoarea impozitului și venitul net după impozitare.
9. Determinarea celei mai bune oferte de transport. O persoană dorește să cumpere un bilet de transport pentru o lună. Se citesc de la tastatură:
- prețul unui bilet per călătorie,
- numărul de călătorii planificate într-o lună,
- prețul unui abonament lunar.
Elaborați un program care va calcula costul total pentru bilete individuale și îl va compara cu abonamentul lunar. Programul va afișa:
- „Mai avantajos este abonamentul lunar”, dacă acesta e mai ieftin;
- „Mai avantajoase sunt biletele individuale”, în caz contrar;
- „Costurile sunt egale”, dacă cele două variante au același preț.
10. Sistem de notare pentru permis auto. Se citește de la tastatură viteza cu care circulă o mașină și limita de viteză pe sectorul de drum. Se calculează depășirea vitezei și se acordă penalizări astfel:
- dacă viteza este până la limita legală, afișează „Conduci regulamentar”;
- dacă depășirea este de până la 10 km/h, afișează „Avertisment”;
- dacă depășirea este între 11 și 30 km/h, afișează „Amendă 500 lei”;
- dacă depășirea este de peste 30 km/h, afișează „Suspendarea permisului pentru 30 de zile”.
11. Calculator pentru bilete la cinema. Se citesc de la tastatură vârsta spectatorului și ziua săptămânii (ex.: Luni, Marți, etc.). Prețul biletului se stabilește după reguli:
- Bilet standard = 100 lei;
- Dacă spectatorul are sub 12 ani, are reducere de 50%;
- Dacă spectatorul are peste 60 de ani, are reducere de 30%;
Programul va calcula și afișa prețul final al biletului.
Succes!
❤️
Instrucțiunea if-else
Sintaxă:
|
if (expresie)
{ ... lista
instrucțiuni } else { ... lista
instrucțiuni } |
Semantică:
Se
evaluează expresia dintre paranteze care trebuie sa returneze o valoare
booleană. Dacă ea returnează true
atunci se execută lista de instrucțiuni din corpul if. Dacă ea returnează false se execută lista de instrucțiuni else.
Exemplu:
|
int x = 4; if( x % 2 == 0 ) x = 100; else x = 1000; |
❗ Instrucțiunea if poate avea mai multe forme:
Instrucțiunea switch-case
Sintaxă:
|
switch (expresie) { case valoare_particulara1 : <
expresie 1 > break; case valoare_particulara2 : <
expresie 2 > break; … default : < expresie > } |
Semantică:
Execuţia
instrucțiunii switch începe întotdeauna prin evaluarea expresiei
dintre parantezele rotunde. Această expresie trebuie să fie de tipul caracter,
octet, întreg scurt sau întreg. Selectorul instrucțiunii switch poate fi și de tip String începând cu versiunea Java 7.
După evaluarea
expresiei se trece la compararea valorii rezultate cu valorile particulare
specificate în etichetele case din interiorul blocului de instrucțiuni. Dacă una
dintre valorile particulare este egală cu valoarea expresiei, se execută
instrucțiunile începând de la eticheta case corespunzătoare acelei valori în jos, până
la capătul blocului. Dacă nici una dintre valorile particulare specificate nu
este egală cu valoarea expresiei, se execută instrucțiunile care încep cu
eticheta default, dacă aceasta există.
Este important ca fiecare expresie de tip case să
fie terminată cu instrucțiunea break deoarece aceasta asigura ieșirea din
structură.
Notă!
1.
Constantele
case trebuie să fie de același tip ca
și selectorul.
2.
Nu
pot exista 2 constante case cu
același nume.
3.
Cel
mult o constantă poate fi asociată unui selector.
Exemplu switch cu selector de tip int:
public class Main{
public static void main(String[] args) {
int selector = 2;
switch(selector){
case 1:
System.out.println("Valoarea este egala cu 1");
break;
case 2:
System.out.println("Valoarea este egala cu 2");
break;
case 3:
System.out.println("Valoarea este egala cu 3");
break;
case 4:
System.out.println("Valoarea este egala cu 4");
break;
default:
System.out.println("Valoarea nu aparține intervalului");
}
}}
Rezultat:
public class Main{
public static void main(String[] args) {
int selector = 6;
switch(selector){
case 2:
case 4:
case 6:
case 8:
System.out.println("Numar par");
break;
default:
System.out.println("Numar impar");
}
}}
Rezultat:
Notă! Într-un switch, dacă nu pui break, programul continuă să execute și instrucțiunile din cazurile următoare. Acest comportament se numește fall-through.
Poate fi util pentru a grupa cazuri similare, dar dacă uiți break din greșeală, programul poate produce rezultate neașteptate.
Exemplu switch cu selector de tip String:
public class Main{
public static void main(String[] args) {
String luna = "Iunie";
switch (luna) {
case "Iunie":
case "Iulie":
case "August":
System.out.println("E vară");
break;
default:
System.out.println("Nu e vară");
}
}}
În Java, un tip de date enumerare (numit și enum) este un tip de date special utilizat pentru a defini o colecție de constante cu nume.
Enum-urile sunt introduse în Java începând cu versiunea 5 și sunt utilizate pentru a reprezintă un set fix de valori, cum ar fi zilele săptămânii, lunile anului, stările unui obiect etc.
Ele oferă o modalitate sigură și clară de a lucra cu un grup de constante înrudite.
Reguli:De asemenea, putem crea variabile de tipuri de enumerare și pot fi utilizate în cadrul altor instrucțiuni Java cum ar fi switch.
De exemplu:
|
În Java există 2 tipuri generale de date:
Constantele reprezintă un spațiu de memorie al cărui conținut nu se schimbă după inițializare. Se declară folosind cuvântul cheie final. Este o valoare fixă, de obicei scrisă cu litere mari, pentru claritate.
Dacă încerci să schimbi valoarea unei constante, Java va genera eroare de compilare:
PI = 3.14; // Eroare!
Clasa stă de fapt la baza programării orientate e obiecte, pe ea este construit întregul limbaj Java, deoarece clasa definește obiectul.
O clasă reprezintă un șablon sau un tip de bază pentru crearea obiectelor. Este un tip abstract de date definit de programator. Atunci când definim o clasă nouă creăm un nou tip de date.Prima parte din declarația unei clase o constituie modificatorii de acces care sunt opționali. După numele clasei putem specifica, dacă este cazul, faptul că respectiva clasă este subclasă a unei alte clase cu numele nume_super_clasă, sau/şi că implementează una sau mai multe interfeţe ale căror nume trebuie separate prin virgulă.
Exemplu de declarație de clasă:
- static: indică că variabila este variabilă de clasă şi nu de instanță;De exemplu: static int varClasa; int varInstanta;- final: indică faptul că valoarea variabile nu poate fi modificată, declararea constantelor;De exemplu: final double PI = 3.14;- transient – folosit pentru a specifica dacă variabila membră participă în procesul de serializare sau nu (detalii tema ,,Serializarea obiectelor’’)
int metoda(){ return 1; // corect
}int metoda(){ return 1.5; //eroare
}int metoda(){ return (int)1.5;
}
denumire_Obiect.variabilă;denumire_Obiect.numeMetoda();
elev1.nume="Ion";elev1.virsta=20;elev1.bursa();elev1.setNume("Ion");