Hej alla och välkomna tillbaka! De tidigare gångerna har vi introducerat begreppet variabel och försökt definiera några grundläggande begrepp om det.
Vissa situationer tyder dock på att begreppet variabel enbart inte är tillräckligt för att lösa alla möjliga situationer som kan uppstå framför oss. Ett mycket banalt exempel kan vara att förstå om ett tal är udda eller jämnt. Vi förstår omedelbart hur begreppet variabel ensam inte kan tillåta oss att lösa detta problem, för programmering innebär trots allt att lösa problem, eller hur?
Genom historien har därför konstruktioner utvecklats och introducerats som gör att vi kan variera flödet av exekvering av själva programmet. Låt oss försöka förstå bättre.
Först och främst, låt oss se en pseudokod för att lösa problemet.
om antalet är ens gör något annars gör något annat
Du kommer omedelbart att märka att det finns två möjliga programkörningar.
Det första handlar om fallet där siffran är jämn, sedan utför du instruktionerna jag har angett, på ett mycket informellt sätt, med “gör något”. Det andra fallet är å andra sidan fallet med det udda talet, där de åtgärder som utförs är de som benämns med “gör något annat”.
Det första viktiga att säga är att de två blocken av instruktioner exekveras i en exklusiv sätt. Detta betyder att om en grupp exekveras så exekveras inte den andra, och vice versa. Denna funktion är grundläggande just för att programexekveringsflödet inte längre är ett, utan kan ha flera utvecklingar. Det finns många utvecklingar, men alla måste förutses.
Om-annas-konstruktionen
Det finns olika beslutskonstruktioner. Den första och mest grundläggande är om annat konstruera. I Java är syntaxen för att uttrycka det som följer:
if(villkor är sant){ //Instruktioner som ska utföras om villkoret är sant } else { //Instruktioner som ska utföras om villkoret är falskt }
Du kan lätt se att två grundläggande block är markerade. If-blocket och det andra blocket. Låt oss se hur stödjepunkten för hela konstruktionen är skick. Denna uppfattning introducerar oss till en ny typ av värde: den booleskt värde. I grund och botten kan tillstånd endast anta två möjliga värden: Sann eller falsk.
Vi får se nästa gång hur booleska värden fungerar.
Låt oss nu överväga lösningen på problemet som först ställdes angående udda och jämna tal.
int a = k; if(a % 2 == 0){ System.out.println(“Jämn”); } else { System.out.println(“Odd”); }
Lösningen är ganska enkel, eftersom det grundläggande skelettet i problemet är om-annat-konstruktionen. Det är upp till programmeraren att välja vad som ska infogas i de två blocken.
En liten notering om notationen jag använde: k för variabelinitieringen är ett kompakt sätt att säga att den k kan ersättas med vilket heltalsvärde som helst.
Detta exempel är idealiskt för att introducera en ny operatör: %. Denna operator låter oss beräkna resten av en division. När vi skriver a % b beräknar vi resten av divisionen av a för b. Att till exempel skriva 5 % 2 resulterar i 1, eftersom 1 är resten av divisionen mellan 5 och 2.
Om-elseif-else-konstruktionen
Ibland kan det hända att det finns ett antal förhållanden som uteslutande måste kontrolleras. Därför, med till exempel tre villkor c1, c2 och c3, kontrollera dem på ett exklusivt sätt att, om c1 är sant, varken c2 eller c3 kontrolleras. Om c2 är sant, är c3 inte markerat. Hur gor man det har?
En oerfaren läsare skulle kunna säga att en rad oms kan vara lösningen. Du kan sedan skriva en lösning som liknar följande
if(c1 sant){ // gör något }annat{ if(c2 sant){ //gör något annat }annat{ if(c3 sant){ //gör något annat } } }
Denna lösning fungerar utan en skugga av tvivel, men den är fortfarande onödigt komplex och väldigt oattraktiv.
De om-elseif-annat konstruktion kommer till vår hjälp. Låt oss se syntaxen:
if(true condition){ }else if(other true condition){ }else{ }
Så låt oss se introduktionen av ett nytt kodblock, definierat av annat om sektion. Detta avsnitt utvärderas endast om if-villkoret är falskt. Låt oss se ett möjligt exempel.
Problemet att lösa är följande: givet en variabel, skriv ut den om den representerar ett positivt tal, skriv ut strängen “noll” om dess värde är lika med noll och skriv ut dess värde multiplicerat med två om det är ett negativt värde.
En möjlig lösning är detta.
int a = k; if(a > 0){ System.out.println(a); }else if(a == 0){ System.out.println(“noll”); }else{ System.out.println(a*2); }
Som tidigare betyder a = k att k kan ersättas med vilket heltalsvärde som helst.
En fråga som kan dyka upp är: hur många fler grenar om jag kan lägga till? Svaret är: så många du vill. I allmänhet finns det en tendens att innehålla numret, eftersom koden blir oläslig och oattraktiv när den andra växer. Vi kommer att se senare att du tenderar att välja en annan lösning, som tenderar att göra koden mer läsbar och tydligare, oavsett tillväxten av de villkor som ska kontrolleras.
Om konstruera
Till sist, konstruktionen if är den elementära tegelstenen vid basen av de två som visas ovan. Konceptet är verkligen enkelt. Om ett givet villkor är sant, utför jag åtgärder och fortsätter sedan med programmets normala flöde.
Syntaxen är följande.
if(true condition){//code }
Ett möjligt exempel är följande: givet en variabel, skriv ut den och om den till och med är lägg till 1.
int a = k; om(a%2 == 0){ a = a + 1; } System.out.println(a);
Vi ser därför att det bara är möjligt att utföra operationer i vissa fall. På så sätt kan du variera programmets beteende beroende på konfigurationen av variablerna vid det givna ögonblicket.
Denna introduktion kan verka ganska teoretisk, men senare kommer vi att se några exempel som gör att vi kan se några situationer för tillämpning av detta koncept.
Lite teori: variablernas konfigurationer
Begreppet variabel konfiguration är oumbärligt att förstå för att helt förstå innebörden av vissa meningar.
När vi hänvisar till a konfigurationvi hänvisar till den uppsättning av variabler och värden som dessa variabler har vid en specifik tidpunkt för kodexekvering.
Om vi på något sätt vill representera en konfiguration av variabler kan vi använda en notation så här: { variabel1 = värdeVariabel1, variabel2 = värdeVariabel2, … , variabilen = värdeVariabilen }.
Senaste nyheterna från Hi-Tech-världen
En Java-ansats: villkorliga strukturer
Hej alla och välkomna tillbaka! De tidigare gångerna har vi introducerat begreppet variabel och försökt definiera några grundläggande begrepp om det. Vissa situationer tyder dock på att begreppet…
Java-sorteringsalgoritm: Urvalssortering
Idag ska vi analysera en sorteringsalgoritm som inte är särskilt effektiv men som ofta används inom olika områden. Vi pratar om urvalssorteringen. Låt oss ta en titt. Intuition Den…
Googles 200 viktigaste rankningsfaktorer
Domänfaktorer 1. Domänålder: Matt Cutts säger att: “Skillnaden mellan en domän som är sex månader gammal verser ett år gammal är verkligen inte så stor alls.” Med andra ord, de…
Hur man fixar överdriven MySQL CPU-användning
Vad händer om vi inser att en serie databaser som vi trodde var optimerade genom användning av index, har börjat konsumera CPU-användningstid för en server…
Hur man använder endsWith-metoden i JavaScript
I den här korta handledningen ska vi se vad endsWith-metoden, introducerad i JavaScript ES6, är och hur den används med strängar i JavaScript. EndsWith-metoden är…
Återuppringningar i JavaScript
Callback-funktioner är samma gamla JavaScript-funktioner. De har ingen speciell syntax, eftersom de helt enkelt är funktioner som skickas som ett argument till en annan funktion. Funktionen som tar emot…
Hur du utökar din apps aktiva användarbas
META: Läs vidare för att ta reda på de bästa sätten att få människor att engagera sig – och viktigast av allt, stanna kvar – i din app. BILD: https://unsplash.com/photos/ZVhbwDfLtYU (Unsplash) En mobilapp är ingenting utan användare…
Hur man skapar PDF med JavaScript och jsPDF
Att skapa dynamiska PDF-filer direkt i webbläsaren är möjligt tack vare jsPDF JavaScript-biblioteket. I den sista delen av denna artikel har vi förberett en praktisk handledning där jag…
Hur man känner igen cybervåld
Cybervåld, det vill säga våldets digitala dimension som främst drabbar kvinnor och är nära kopplat till våldet som förekommer i den “verkliga världen”, är ett växande fenomen som är…
projekt