Java - instrukcja warunkowa
Witam. W dzisiejszym poście zobaczysz jak kazać komputerowi podejmować decyzje. No to do roboty.
Jeżeli nie widziałeś poprzednich postów zobacz je. :)
Ostatnio poznaliśmy zmienne. Teraz je musimy jakoś wykorzystać. Więc napiszmy program który będzie wpuszczał po podaniu wieku na sylwestra.
Rozpiszmy najpierw jak będzie wykonywany nasz program.
- Najpierw poprosimy użytkownika o podanie wieku.
- Po podaniu przez użytkownika wieku komputer ma podjąć decyzję czy użytkownik zostanie wpuszczony. Warunkiem wejścia będzie ukończone 18 lat.
W ostatniej lekcji omówiliśmy pierwszy punkt, więc go chwilowo pominiemy. Zajmiemy się teraz podjęciem decyzji przez komputer. Aby komputer podjął decyzję należy skorzystać z tzw. ifa.
public class New{
public static void main(String[] args){
if(/*Warunek*/){
//Jeżeli warunek będzie prawdziwy wszystko co w tych klamerkach się wykona
}
}
}
Widzimy jak wygląda if, ale jak wygląda warunek i co oznacza, że jest prawdziwy???
Warunki wyglądają tak: a>=0, a==b, c!=43
Że co??? a większe równe 0. Już tłumacze w matematyce mamy taki znaczek ≥ , ale dlaczego tam jest a == b, zamiast a = b. W programowaniu jedno równa się już zajęte. Przypomnij sobie ostatnią lekcję tam przypisywaliśmy tym znakiem wartość do zmiennej i komputer by się mylił. A co to jest != ? To jest ten o znaczek ≠(czyli że liczby są różne).
A co oznacza że warunek jest spełniony??? Jeżeli będziemy mieli taki warunek a == 10, czyli jeżeli zmienna a będzie miała wartość 10 to warunek będzie spełniony. Jeżeli warunek będzie taki b != a, czyli jeżeli zmienna b będzie miała inną wartość niż zmienna a to warunek będzie spełniony.
Piszemy program
import java.util.Scanner;
public class New {
public static void main(String[] args){
Scanner odczyt = new Scanner(System.in);
System.out.print("Podaj swój wiek: ");
int wiek = odczyt.nextInt();
if(wiek >= 18)//Jeżeli wiek jest większy lub równy 18
{
System.out.println("Witam na sylwestrze.");
}
}
}
Czyli jeżeli użytkownik poda wiek większy niż 17, to komputer wita użytkownika na sylwestrze. Ale przydałoby się coś jeżeli użytkownik wprowadzi wiek mniejszy od 18.
if(wiek >= 18)
{
System.out.println("Witam na sylwestrze.");
}
if(wiek < 18)
{
System.out.println("Jesteś za młody.");
}
Ale po co wstawiać tam warunek skoro możemy powiedzieć komputerowi : "Komputer jeżeli zmienna wiek będzie większa lub równa 18 to wpuść ,w przeciwnym razie napisz, użytkownikowi że jest za młody". Czyli napisać taki kod.
import java.util.Scanner;
public class New {
public static void main(String[] args){
Scanner odczyt = new Scanner(System.in);
System.out.print("Podaj swój wiek: ");
int wiek = odczyt.nextInt();
if(wiek >= 18)//Jeżeli wiek jest większy lub równy 18
{
System.out.println("Miłego sylwestra użytkowniku");
}
else//W przeciwnym razie
{
System.out.println("Jesteś użytkowniku za młody");
}
}
}
Nasz kod jest gotowy, ale powiększymy go. Powiedzmy że jeżeli nasz użytkownik będzie miał mniej niż 18, ale więcej niż 15 to będzie mógł oglądać koncerty w telewizji. Jak będzie wyglądał kod???
import java.util.Scanner;
public class New {
public static void main(String[] args){
Scanner odczyt = new Scanner(System.in);
System.out.print("Podaj swój wiek: ");
int wiek = odczyt.nextInt();
if(wiek >= 18)//Jeżeli wiek jest większy lub równy 18
{
System.out.println("Miłego sylwestra użytkowniku");
}
else if(wiek >= 15)//W przeciwnym razie jeżeli wiek jest większy lub równy 15
{
System.out.println("Na sylwestra cię nie wpuszczę ale możesz pooglądać telewizję");
}
else//W przeciwnym razie
{
System.out.println("Jesteś użytkowniku za młody");
}
}
}
Jak ja nauczyłem się programować
Teraz powiem co według mnie jest najważniejsze w nauce programowania. W nauce programowania najważniejsze jest eksperymentowanie. A czemu tak uważam? Bo tak się nauczyłem programować. Nawet nie pamiętam, ale miałem chyba wtedy 8, 9 lat gdy dowiedziałem się że tato mojego kolegi robi zajęcia z robotyki dla kolegów syna(za darmo) . Więc poszedłem. Na początku korzystaliśmy z klocków lego mindfstorms ev3 i jego oprogramowania. Gdzieś po roku przeszliśmy do javy(I tak zamiast robotyki stało się programowanie). Po dwóch miesiącach sam zacząłem eksperymentować aż doszło do tego, że moi koledzy robili pętle a ja bawiłem się JFramami(Dojdziemy do tego nie bój się). Po prostu natrafiałem na coraz ciekawsze rzeczy i w taki magiczny sposób moi koledzy piszą w 2 językach dochodząc nieco wyżej niż pętle a ja piszę płynnie w 4 językach i nie płynnie w kilku innych (bo za mało w nich piszę). Czytam książki typu Akademia Sieci Cisco. Bo eksperymentowałem. Ja nie mówię, że jestem jakimś znawcą. Bo mam tylko 15 lat i małe doświadczenie w pisaniu programów w zespole i tak mogę wymieniać. Ale uważam że mogę przekazać jakieś podstawy. Ale według mnie najważniejsze jest eksperymentowanie. Ale wiem że znajdzie się tu wiele osób bardziej doświadczonych ode mnie i proszę właśnie o opinie na temat moich artykułów.
Przy okazji bardzo dziękuję panu J.B. za to że mnie nauczył programować. Oraz życzyć tobie odbiorco miłego sylwestra.
P.S.
Czy może to być w pl-artykuly???
Powodzenia, dąż do celu :)
Dzięki
Przyznam, że jak na 15 lat to wygląda to całkiem fajnie.
Jakie znasz jeszcze języki? Masz jakieś ciekawe projekty na koncie?
Języki w których najchętniej piszę to c++,c#,php i jak można zauważyć java, jeszcze znam htmla potrafię zrobić prostą stronę i nie za bardzo mnie to pociąga. A z projektów to w szkole mam projekt gimnazjalny a ja mając szczęści dostałem za opiekuna pana z informatyki który zaproponował zrobić stronę internetową o algorytmice(drumz.ayz.pl/algorytmy) jeszcze nie dokończone gdzieniegdzie 404. Teraz jestem w trakcie pisania aplikacji w c# kontrolującej komputer. I raz na jakiś czas się bawię silnikiem graficznym. Z tego co wie m mam również uczestniczyć jako programista w studiu mającym powstać w miejscowym liceum.
Myślę, że tak.
Dzięki