{"id":91137,"date":"2022-10-11T13:04:34","date_gmt":"2022-10-11T18:04:34","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/"},"modified":"2022-10-11T13:04:34","modified_gmt":"2022-10-11T18:04:34","slug":"hur-man-skriver-en-for-loop-i-java","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/","title":{"rendered":"Hur man skriver en for Loop i Java"},"content":{"rendered":"<div>\n<p>Slingor \u00e4r mycket kraftfulla programmeringsverktyg som kommer att slutf\u00f6ra en upps\u00e4ttning instruktioner tills ett villkor \u00e4r uppfyllt.  De \u00e4r v\u00e4ldigt praktiska och borde vara ett av de f\u00f6rsta programmeringskoncepten du l\u00e4r dig.  Det finns m\u00e5nga olika typer av slingor, men <strong>f\u00f6r<\/strong> loopar \u00e4r utan tvekan en av de mest anv\u00e4ndbara looparna.<\/p>\n<h2 id=\"the-for-loop-in-java\"><span class=\"ez-toc-section\" id=\"For_Loop_i_Java\"><\/span>  For Loop i Java<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For loops kommer att forts\u00e4tta att exekvera ett kodblock tills ett villkor \u00e4r uppfyllt.  Det \u00e4r viktigt att notera att en for-loop kontrollerar tillst\u00e5ndet i b\u00f6rjan av loopen, inte slutet.  Det betyder att om villkoret \u00e4r uppfyllt kommer loopen inte att starta.<\/p>\n<p>F\u00f6r loop syntax \u00e4r liknande \u00f6ver programmeringsspr\u00e5k.  S\u00e5 om du har skapat en for loop i ett annat programmeringsspr\u00e5k, kommer en Java for loop att se bekant ut.  Men om du inte alls \u00e4r bekant med Java, rekommenderas det att du l\u00e4ser en nyb\u00f6rjarhandledning innan du l\u00e4r dig avancerade \u00e4mnen som f\u00f6r loopar.<\/p>\n<pre>for([statement1]; [condition]; [statement2]){<br\/>\/\/code to execute each loop<br\/>}<\/pre>\n<p>Nyckelordet <strong>f\u00f6r<\/strong> indikerar en for-loop.  Villkoret som avg\u00f6r hur l\u00e4nge slingan kommer att forts\u00e4tta finns mellan konsolerna.<\/p>\n<p>Den f\u00f6rsta satsen k\u00f6rs en g\u00e5ng n\u00e4r for-slingan initieras;  villkoret definierar n\u00e4r slingan ska sluta.<\/p>\n<p>Den andra satsen exekveras i slutet av varje loop.  Semikolon markerar slutet p\u00e5 <strong>uttalande 1<\/strong> och tillst\u00e5ndet.<\/p>\n<p>Vanligtvis anv\u00e4nds satserna f\u00f6r att skapa en r\u00e4knare och villkoret stoppar slingan n\u00e4r r\u00e4knaren n\u00e5r ett specifikt nummer.  Slutligen placeras koden som exekveras i varje slinga mellan de krulliga parenteserna.<\/p>\n<pre>public class Main{<br\/>public static void main(String[] args) {<br\/>for(int i = 1; i &lt; 4; i++){<br\/>System.out.print(i);<br\/>}<br\/>}<br\/>}<br\/>\/\/Output: 123<br\/><\/pre>\n<p>I exemplet ovan skriver for-slingan ut v\u00e4rdet p\u00e5 <strong>i<\/strong>.  Nyckelordet <strong>f\u00f6r<\/strong> initierar slingan.  Variabeln <strong>i<\/strong> \u00e4r initialt satt till 1. Villkoret kontrollerar om <strong>i<\/strong> \u00e4r fyra eller fler.  Detta \u00e4r inte fallet, s\u00e5 v\u00e5r loop k\u00f6rs.  Slingkoden skriver ut v\u00e4rdet p\u00e5 <strong>i<\/strong>, vilket fortfarande \u00e4r 1 vid det h\u00e4r laget.<\/p>\n<p>N\u00e4r loopkoden \u00e4r klar, <strong>i<\/strong> \u00f6kas med ett och loopen b\u00f6rjar igen.  I slutet av den tredje slingan, <strong>i<\/strong> \u00f6kas till fyra.  N\u00e4r n\u00e4sta loop b\u00f6rjar \u00e4r v\u00e5rt villkor uppfyllt, s\u00e5 loopen stannar.<\/p>\n<h3 id=\"nested-for-loop\"><span class=\"ez-toc-section\" id=\"Kapslad_for_loop\"><\/span>Kapslad f\u00f6r loop<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u00e4r du v\u00e4l f\u00e5tt kl\u00e4m p\u00e5 en for-loop b\u00f6r du f\u00f6rs\u00f6ka skapa en kapslad f\u00f6r-loop.  Det h\u00e4r \u00e4r n\u00e4r du har en for-loop inuti en annan for-loop.  Detta \u00e4r en avancerad teknik eftersom det kan vara sv\u00e5rt att f\u00f6rst\u00e5 hur de tv\u00e5 slingorna kommer att interagera.  Ett bra s\u00e4tt att visualisera hur kapslade f\u00f6r loopar fungerar \u00e4r att skapa f\u00f6ljande m\u00f6nster med en kapslad f\u00f6r loop.<\/p>\n<pre>*<br\/>**<br\/>***<\/pre>\n<p>F\u00f6r att skapa detta beh\u00f6ver vi en slinga f\u00f6r att kontrollera hur m\u00e5nga stj\u00e4rnor som skrivs ut p\u00e5 varje rad, och en annan slinga f\u00f6r att kontrollera hur m\u00e5nga linjer som ska skapas.  N\u00e4r du \u00e4r ny p\u00e5 Nested for loops kan det vara sv\u00e5rt att avg\u00f6ra vilken loop som \u00e4r den inre loopen.  I det h\u00e4r fallet \u00e4r slingan som skriver ut stj\u00e4rnorna den inre slingan.  Vi beh\u00f6ver den slingan f\u00f6r att k\u00f6ras varje g\u00e5ng en ny linje skapas.<\/p>\n<p>N\u00e4r du skapar en kapslad loop, var f\u00f6rsiktig n\u00e4r du v\u00e4ljer namnet p\u00e5 dina r\u00e4knarvariabler.  \u00c4ven om programmerare ofta anv\u00e4nder en generisk <strong>i<\/strong> r\u00e4knare, att anv\u00e4nda generiska r\u00e4knare blir f\u00f6rvirrande n\u00e4r flera loopar interagerar.<\/p>\n<pre>for(int lineCounter = 1; lineCounter &lt; 4; lineCounter++){<br\/>for(int starCounter = 1; starCounter &lt;= lineCounter; starCounter++){<br\/>System.out.print(\"*\");<br\/>}<br\/>System.out.print(\"<br\/>\");<br\/>}<\/pre>\n<p>L\u00e5t oss g\u00e5 igenom det h\u00e4r exemplet f\u00f6r att b\u00e4ttre f\u00f6rst\u00e5 hur det fungerar.<\/p>\n<p>V\u00e5r f\u00f6rsta loop \u00e4r att r\u00e4kna hur m\u00e5nga rader vi g\u00f6r.  Efter att slingan har k\u00f6rts tre g\u00e5nger kommer den att stanna.<\/p>\n<p>N\u00e4sta loop \u00e4r lite mer komplex.  Denna loop styr hur m\u00e5nga stj\u00e4rnor som skrivs ut p\u00e5 varje rad.  I v\u00e5rt m\u00f6nster vill vi ha samma antal stj\u00e4rnor som radnumret.  Den f\u00f6rsta raden har en stj\u00e4rna, den andra tv\u00e5 och den tredje tre.  S\u00e5 vi vill att den slingan ska skriva ut lika m\u00e5nga stj\u00e4rnor som v\u00e5r nuvarande radr\u00e4knare.<\/p>\n<p>Efter att v\u00e5r stj\u00e4rnslinga \u00e4r klar skapar linjeslingan en ny linje genom att skriva ut <strong>n<\/strong>, vilket \u00e4r kommandot f\u00f6r en ny rad.<\/p>\n<h3 id=\"infinite-loops\"><span class=\"ez-toc-section\" id=\"Oandliga_loopar\"><\/span>O\u00e4ndliga loopar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En av farorna med att koda alla typer av loopar \u00e4r att du av misstag kan skapa en o\u00e4ndlig loop.  Det h\u00e4r \u00e4r slingor som aldrig slutar.  \u00c4ven om det finns fall d\u00e5 en o\u00e4ndlig slinga beh\u00f6vs, skapas de i allm\u00e4nhet av en slump n\u00e4r slingans tillst\u00e5nd inte \u00e4r noggrant planerat.  I dessa fall kommer programmet att forts\u00e4tta att k\u00f6ras tills du tvingar det att st\u00e4ngas.<\/p>\n<p>F\u00f6r att skapa en o\u00e4ndlig loop kan du anv\u00e4nda f\u00f6ljande syntax:<\/p>\n<pre>for(;;){<br\/>\/\/code that never stops looping<br\/>}<\/pre>\n<h2 id=\"using-a-for-loop-with-an-array\"><span class=\"ez-toc-section\" id=\"Anvanda_en_For_Loop_med_en_Array\"><\/span>  Anv\u00e4nda en For Loop med en Array<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ett vanligt s\u00e4tt att anv\u00e4nda en for-loop \u00e4r att iterera genom en array.  Om du till exempel vill skriva ut alla str\u00e4ngar i en array kan du inte bara s\u00e4ga<\/p>\n<pre>System.out.print([array]);<\/pre>\n<p>Detta kommando skulle skriva ut information om arrayen, inte inneh\u00e5llet i arrayen.  F\u00f6r att skriva ut inneh\u00e5llet i arrayen m\u00e5ste du skriva ut varje enskilt element i arrayen.  Detta skulle vara tidskr\u00e4vande att koda, men du kan skapa en for-loop f\u00f6r att g\u00e5 igenom varje element.<\/p>\n<pre>String[] words = {\"Hello\", \" \", \"World\", \"!\"};<p>for(int i = 0; i &lt; words.length; i ++){<br\/>System.out.print(words[i]);<br\/>}<\/p><\/pre>\n<p>Kom ih\u00e5g att arraypositioner b\u00f6rjar p\u00e5 noll, inte en, s\u00e5 vi vill att v\u00e5r loop ska b\u00f6rja p\u00e5 noll.  V\u00e5r f\u00f6rsta slinga kommer att skrivas ut <strong>Hej<\/strong>, kommer den andra slingan att skriva ut ett mellanslag och s\u00e5 vidare.  Efter den fj\u00e4rde slingan kommer v\u00e5r r\u00e4knare att \u00f6kas till fyra, vilket inte \u00e4r mindre \u00e4n l\u00e4ngden p\u00e5 arrayen, som ocks\u00e5 \u00e4r fyra.  Detta kommer att stoppa slingan.<\/p>\n<p>Produktion:<\/p>\n<pre>Hello World!<\/pre>\n<h3 id=\"for-each-loop\"><span class=\"ez-toc-section\" id=\"For_varje_slinga\"><\/span>F\u00f6r varje slinga<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u00c4ven om du kan anv\u00e4nda en for-loop f\u00f6r att iterera \u00f6ver en array, \u00e4r det l\u00e4ttare att anv\u00e4nda en f\u00f6r varje loop.  Dessa slingor \u00e4r designade speciellt f\u00f6r arrayer.  A f\u00f6r varje slinga kommer att g\u00e5 igenom varje element i en array och exekvera kod.  F\u00f6r varje loop har en n\u00e5got annorlunda syntax.  Nyckelordet <strong>f\u00f6r<\/strong> anv\u00e4nds fortfarande, men ett villkor \u00e4r inte specificerat.<\/p>\n<pre>for([dataType] [arrayElement] : [array]){<br\/>\/\/code to be executed<br\/>}<\/pre>\n<p>V\u00e5rt tidigare exempel kan skrivas om som en f\u00f6r varje slinga med hj\u00e4lp av denna syntax:<\/p>\n<pre>String[] words = {\"Hello\", \" \", \"World\", \"!\"};<p>for(String word : words){<br\/>System.out.print(word);<br\/>}<\/p><\/pre>\n<p>Slingan startas med nyckelordet <strong>f\u00f6r<\/strong>.  Vi specificerar sedan att data i v\u00e5r array \u00e4r str\u00e4ngar.  D\u00e4refter v\u00e4ljer vi ett variabelnamn f\u00f6r att referera till elementen i arrayen n\u00e4r vi itererar genom slingan.  I det h\u00e4r fallet anv\u00e4nde vi <strong>ord<\/strong>.  Detta f\u00f6ljs av ett kolon och namnet p\u00e5 arrayen vi vill iterera igenom.  Nu, inne i v\u00e5r loop, m\u00e5ste vi bara anv\u00e4nda variabeln <strong>ord<\/strong> f\u00f6r att referera till varje element i arrayen.<\/p>\n<h2 id=\"when-to-use-a-for-loop\"><span class=\"ez-toc-section\" id=\"Nar_ska_man_anvanda_en_For_Loop\"><\/span>  N\u00e4r ska man anv\u00e4nda en For Loop<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For Loops \u00e4r fantastiska verktyg som kan spara dig mycket kodning.  De \u00e4r den b\u00e4sta typen av loop att anv\u00e4nda n\u00e4r du vet exakt hur m\u00e5nga g\u00e5nger du vill att din loop ska k\u00f6ras.  Du kan till och med \u00f6ka komplexiteten f\u00f6r loopar genom att kapsla dem.<\/p>\n<p>Kapslade f\u00f6r loopar \u00e4r s\u00e4rskilt praktiska n\u00e4r du arbetar med flerdimensionella arrayer.  F\u00f6r loopar \u00e4r l\u00e4tta att l\u00e4ra sig och en viktig f\u00e4rdighet f\u00f6r nyb\u00f6rjare.  Denna teknik kommer s\u00e4kerligen att r\u00e4dda dig fr\u00e5n att koda on\u00f6dig repetitiv kod.<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Jennifer Seaton (21 artiklar publicerade)<br \/><\/strong><\/p>\n<p>J. Seaton \u00e4r en vetenskapsskribent som specialiserat sig p\u00e5 att bryta ner komplexa \u00e4mnen.  Hon har en doktorsexamen fr\u00e5n University of Saskatchewan;  hennes forskning fokuserade p\u00e5 att anv\u00e4nda spelbaserat l\u00e4rande f\u00f6r att \u00f6ka elevernas engagemang online.  N\u00e4r hon inte arbetar hittar du henne n\u00e4r hon l\u00e4ser, spelar tv-spel eller tr\u00e4dg\u00e5rdsarbete.<\/p>\n<p>                            Mer fr\u00e5n Jennifer Seaton<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#For_Loop_i_Java\" >For Loop i Java<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#Kapslad_for_loop\" >Kapslad f\u00f6r loop<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#Oandliga_loopar\" >O\u00e4ndliga loopar<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#Anvanda_en_For_Loop_med_en_Array\" >Anv\u00e4nda en For Loop med en Array<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#For_varje_slinga\" >F\u00f6r varje slinga<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#Nar_ska_man_anvanda_en_For_Loop\" >N\u00e4r ska man anv\u00e4nda en For Loop<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skriver-en-for-loop-i-java\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>Slingor \u00e4r mycket kraftfulla programmeringsverktyg som kommer att slutf\u00f6ra en upps\u00e4ttning instruktioner tills ett villkor \u00e4r uppfyllt. De \u00e4r v\u00e4ldigt praktiska och borde vara ett av de f\u00f6rsta programmeringskoncepten du l\u00e4r dig. Det finns m\u00e5nga olika typer av slingor, men f\u00f6r loopar \u00e4r utan tvekan en av de mest anv\u00e4ndbara looparna. For Loop i Java [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":91138,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[27,6155,810,163,2239],"class_list":["post-91137","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-hur","tag-java","tag-loop","tag-man","tag-skriver"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=91137"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/91138"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=91137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=91137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=91137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}