{"id":565,"date":"2019-05-22T21:01:03","date_gmt":"2019-05-23T00:01:03","guid":{"rendered":"http:\/\/lucianodev.com.br\/blog\/?p=565"},"modified":"2019-05-22T21:04:09","modified_gmt":"2019-05-23T00:04:09","slug":"instrucoes-uteis-e-praticas-parte-2-operador-ternario","status":"publish","type":"post","link":"https:\/\/lucianodev.com.br\/blog\/instrucoes-uteis-e-praticas-parte-2-operador-ternario\/","title":{"rendered":"Instru\u00e7\u00f5es \u00fateis e pr\u00e1ticas: Parte #2 (Operador tern\u00e1rio)"},"content":{"rendered":"<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>Ol\u00e1 Pessoal,<\/p>\n<p>Este aqui \u00c9 MAIS UM POST (O segundo para ser mais preciso) onde falarei sobre mais uma instru\u00e7\u00e3o \u00fatil e pr\u00e1tica, tamb\u00e9m muito utilizada por programadores que simplificam de forma clara comandos condicionais: O operador tern\u00e1rio. Esse operador \u00e9 bastante utilizado em linguagens baseadas em C\/C++, C#, Java, PHP e etc. Vamos conhecer:<\/p>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<h2>O Operador Tern\u00e1rio<\/h2>\n<p>Para entendermos esse operador vamos imaginar a seguinte situa\u00e7\u00e3o: Suponhamos que voc\u00ea esteja escrevendo uma estrutura condicional onde uma vari\u00e1vel \u201cx\u201d receber\u00e1 um valor de acordo com uma condi\u00e7\u00e3o estabelecida. Vejamos essa condi\u00e7\u00e3o expressa no bloco de comandos abaixo:<\/p>\n<pre class=\"lang:c# decode:true\">if(y &gt; 4)\r\n x = 0;\r\nelse\r\n x = 1<\/pre>\n<p>Pelo o que podemos ver uma instru\u00e7\u00e3o condicional aparente simples, mas que poderia ser simplificado usando o operador tern\u00e1rio. Esse operador segue a seguinte sintaxe:<\/p>\n<pre class=\"lang:c# decode:true \">&lt;vari\u00e1vel&gt; = (&lt;condi\u00e7\u00e3o&gt;)?&lt;valor se verdadeiro&gt;:&lt;valor se falso&gt;;<\/pre>\n<p>Conforme podemos ver acima, o operador tern\u00e1rio ocupa somente uma \u00fanica linha de c\u00f3digo. Com isso, se substituirmos a express\u00e3o condicional mostrada anteriormente pelo uso do operador tern\u00e1rio teremos o seguinte resultado:<\/p>\n<pre class=\"lang:c# decode:true \">x = (y&gt;4)?0:1;<\/pre>\n<p>Bem mais simples n\u00e3o?<\/p>\n<p>Vejamos abaixo algumas demonstra\u00e7\u00f5es do uso do operador tern\u00e1rio:<\/p>\n<pre class=\"lang:default decode:true \">\/\/Operador tern\u00e1rio\r\nsituacao = (Media &gt;=7)? \"APROVADO\": \"REPROVADO\";\r\n\r\n\/\/Equivale a:\r\nif(media &gt; 7)\u00a0\r\n situacao = \"APROVADO\";\r\nelse\u00a0\r\n situacao = \"REPROVADO\";<\/pre>\n<p>Vejamos mais uma demonstra\u00e7\u00e3o:<\/p>\n<pre class=\"lang:default decode:true \">\/\/Operador tern\u00e1rio\r\nbonus_salarial = (salario &lt; 500.00)? salario * 0.3 : (salario &lt; 800.00)? salario * 0.2: salario * 0.1;\r\n\r\n\/\/Equivale a:\r\nif(salario &lt; 500.00)\u00a0\r\n bonus_salarial = salario * 0.3;\r\nelse \r\n if(salario &lt; 800.00)\u00a0 \r\n   bonus_salarial = salario * 0.2;\r\n else\u00a0 \r\n   bonus_salarial = salario * 0.1;<\/pre>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<h2>Quando o operador tern\u00e1rio N\u00c3O PODE SER USADO?<\/h2>\n<p>O operador tern\u00e1rio \u00e9 usado somente em express\u00f5es condicionais cujo objetivo e atribuir simplesmente um valor para uma vari\u00e1vel, que ser\u00e1 diferente em cada condi\u00e7\u00e3o l\u00f3gica, <strong>N\u00c3O PODENDO SER UTILIZADO<\/strong> em outra situa\u00e7\u00e3o mais.<\/p>\n<p>Vejamos abaixo algumas condi\u00e7\u00f5es em que o operador tern\u00e1rio <strong>N\u00c3O PODE SER USADO<\/strong>:<\/p>\n<pre class=\"lang:default decode:true\">\/\/Execu\u00e7\u00e3o de m\u00e9todos (fun\u00e7\u00f5es) sem retorno (void)\r\nif(salario &lt; 800.00)\u00a0 \r\n Console.WriteLine(\"Voc\u00ea tem direito ao reajuste\");\r\nelse \r\n Console.WriteLine(\"Voc\u00ea n\u00e3o tem direito ao reajuste\")<\/pre>\n<pre class=\"lang:default decode:true \">\/\/Execu\u00e7\u00e3o de mais de uma instru\u00e7\u00e3o por condi\u00e7\u00e3o\r\nif(conexao_banco = null) {\u00a0 \r\n conexao_banco = new SQLConnection(connectionString);\r\n conexao_banco.Open();\u00a0 \r\n}\r\nelse {\u00a0\r\n\u00a0 Console.WriteLine(\"Conex\u00e3o atual ser\u00e1 encerrada\");\r\n  conexao_banco.Close(); \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Bom pessoal, por hoje \u00e9 s\u00f3. Em breve estarei postando mais dicas de uso de instru\u00e7\u00f5es parecidas como essa, que aceleram muito o processo de codifica\u00e7\u00e3o, de uma forma muito pr\u00e1tica\u00a0 e simples.<\/p>\n<p>Se voc\u00ea achou legal este POST compartilhe com seus amigos, pois dicas como essa s\u00e3o de grande import\u00e2ncia.<\/p>\n<p>Um forte abra\u00e7o para todos<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 Pessoal, Este aqui \u00c9 MAIS UM POST (O segundo para ser mais preciso) onde falarei sobre mais uma instru\u00e7\u00e3o \u00fatil e pr\u00e1tica, tamb\u00e9m muito utilizada por programadores que simplificam&hellip;<\/p>\n","protected":false},"author":1,"featured_media":566,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,16,3],"tags":[],"class_list":["post-565","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algoritmo","category-java","category-programacao"],"_links":{"self":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/comments?post=565"}],"version-history":[{"count":4,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/565\/revisions"}],"predecessor-version":[{"id":570,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/565\/revisions\/570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media\/566"}],"wp:attachment":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media?parent=565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/categories?post=565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/tags?post=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}