{"id":1326,"date":"2018-01-27T18:37:27","date_gmt":"2018-01-27T18:37:27","guid":{"rendered":"https:\/\/manualjavaoracle.wordpress.com\/?p=1326"},"modified":"2018-03-06T13:13:19","modified_gmt":"2018-03-06T18:13:19","slug":"sentencia-switch","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=1326","title":{"rendered":"Sentencia &#8211; switch"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1395 alignnone\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java121.png?w=300\" alt=\"\" width=\"269\" height=\"122\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java121.png 351w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java121-300x136.png 300w\" sizes=\"(max-width: 269px) 100vw, 269px\" \/><\/p>\n<p><span style=\"color: #000000;\">La sentencia switch se utiliza para seleccionar una de entre m\u00faltiples alternativas.\u00a0<span style=\"font-size: 14.928px;\">Al contrario de la sentencia if-else que s\u00f3lo podemos indicar dos alternativas, maneja un n\u00famero finito de posibilidades. Las sentencia switch es especialmente \u00fatil cuando la selecci\u00f3n se basa en el valor de una variable simple o de una expresi\u00f3n denominada\u00a0<strong>expresi\u00f3n de control o selector.\u00a0<\/strong>El valor de esta expresi\u00f3n puede ser de tipo int o char, pero no de tipo float ni double.<\/span><\/span><!--more--><\/p>\n<h2><span style=\"color: #000000;\"><strong>Sintaxis<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 switch(expresion o selector)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 {<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0case etiqueta1:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sentencia1<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 . . .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0case etiqueta2:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sentencia2<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 . . .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0case etiqueta_n:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sentencia_n<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0default:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sentencias;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><\/p>\n<p><span style=\"color: #000000;\">La sentencia switch indica al compilador la l\u00ednea de c\u00f3digo a ejecutar. El programa ejecuta la sentencia switch y salta a la l\u00ednea etiquetada en el valor correspondiente al valor de la expresi\u00f3n o selector. Por ejemplo, si la expresi\u00f3n toma el valor 5, es decir case 5.\u00a0<strong>La mayor\u00eda de las etiquetas suelen ser simples valores int o char<\/strong>, como &#8216;3&#8217;, &#8216;4&#8217;, o &#8216;5&#8217;. Si la expresi\u00f3n toma un valor que no coincide con ninguna de las etiquetas, el programa salta a l\u00ednea etiquetada con default. La etiqueta<strong> default<\/strong> es opcional, si se omite y no hay coincidencia de etiquetas, el programa salta a la sentencia siguiente a switch. La sentencia\u00a0<strong>break\u00a0<\/strong> produce una salida de la sentencia switch; sin ella, la ejecuci\u00f3n del programa continuar\u00eda en la siguiente sentencia case. Una de las mejores aplicaciones de switch es sustituir a if anidadas y en la realizaci\u00f3n de men\u00fas.\u00a0<span style=\"color: #000080;\"><a style=\"color: #000080;\" href=\"https:\/\/www.manualjava.net\/?p=1148\">(Ver Sentencia-if\/else)<\/a><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0switch(operador)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 case &#8216;-&#8216;:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0resultado = x-y;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLa resta es: \u00bb + resultado);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 case &#8216;+&#8217;:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0resultado = x+y;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLa suma es: \u00bb + resultado);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 case &#8216;*&#8217;:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0resultado = x*y;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLa multiplicaci\u00f3n es: \u00bb + resultado);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 case &#8216;\/&#8217;:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0resultado = x\/y;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLa divisi\u00f3n es: \u00bb + resultado);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0break;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 default:<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abresultado no valido\u00bb);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0}<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Regla<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">La sentencia switch e if-else. Si se puede utilizar una sentencia u otra, la regla usual es emplear switch si existen tres o m\u00e1s opciones.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Precauci\u00f3n<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">La sentencia switch es muy propensa a la producci\u00f3n de errores debido a que en los casos de selecci\u00f3n de m\u00faltiples alternativas, si se olvida a\u00f1adir una sentencia <strong>break\u00a0<\/strong>al final de una sentencia case, la ejecuci\u00f3n fallar\u00e1, aunque el compilador no emitir\u00e1 un mensaje de error y por lo tanto, se ir\u00e1 a la siguiente sentencia case. Por esta raz\u00f3n debe extremar las precauciones en el uso de switch.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La sentencia switch se utiliza para seleccionar una de entre m\u00faltiples alternativas.\u00a0Al contrario de la sentencia if-else que s\u00f3lo podemos indicar dos alternativas, maneja un n\u00famero finito de posibilidades. Las sentencia switch es especialmente \u00fatil cuando la selecci\u00f3n se basa en el valor de una variable simple o de una expresi\u00f3n denominada\u00a0expresi\u00f3n de control o &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=1326\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1395,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1326"}],"collection":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1326"}],"version-history":[{"count":3,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1326\/revisions"}],"predecessor-version":[{"id":2701,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1326\/revisions\/2701"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/1395"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}