![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Python |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Como criar e usar interfaces em seus programas JavaQuantidade de visualizações: 12490 vezes |
|
Muitos estudantes de Java torcem o nariz quando nós, professores e instrutores, tocamos no assunto de interfaces. Definitivamente este não é um tópico fácil de entender ao primeiro contato. Comecemos com uma analogia simples. É sabido que é cada vez maior o número de softwares sendo desenvolvidos em equipes, ou seja, o projeto do software é desmembrado e suas funcionalidades são implementadas por grupos diferentes de programadores. Quando estamos desenvolvendo software em grupos de programadores, é comum desenvolvermos partes que dependem do trabalho de um outro grupo. E, nem sempre podemos esperar que uma parte da qual dependemos fique pronta para só então progredirmos. Para isso, um contrato entre os grupos de programadores é firmado. E este contrato é o que chamamos de interface. Suponhamos que em um determinado momento meu grupo está desenvolvendo código que depende da parte de impressão, sendo desenvolvida por outro grupo. Todos se reúnem e decidimos quais funcionalidades a classe de impressão terá e quais métodos públicos serão disponibilizados. Feito isso, uma interface contendo a assinatura destes métodos é disponibilizada para todos e o desenvolvimento continua. Mais tarde, quando a classe de impressão estiver sendo desenvolvida, ela poderá implementar a interface anteriormente disponibilizada e tudo está resolvido. Sendo assim, uma interface na linguagem de programação Java é um tipo referência, similar a uma classe. A diferença é que uma interface pode conter apenas constantes e assinaturas e métodos. Não há a implementação dos corpos dos métodos. Além disso, interfaces não podem ser instanciadas usando new. Veja o que acontece quando tentamos fazer isso (lembre-se de que List é interface):
import java.util.*;
public class Estudos{
public static void main(String args[]){
// cria um objeto da interface List
List lista = new List();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:6: java.util.List is abstract;
cannot be instantiated
List lista = new List();
^
1 error
Interfaces devem ser implementadas por classes ou extendidas por outras interfaces. Agora, um detalhe interessante. Se você verificar a API do Java, verá que a interface List é implementada pelas classes AbstractList, ArrayList, LinkedList e Vector. Desta forma, o código anterior pode ser modificado para:
import java.util.*;
public class Estudos{
public static void main(String args[]){
// cria um objeto da interface List
List lista = new ArrayList();
}
}
Este código compila normalmente e fortalece nossa discussão a respeito da interface de impressão. O sistema inteiro pode fazer referências a uma interface e, para que ele funcione da forma esperada, só precisamos fornecer a classe que implementa a interface no momento de instanciar os objetos. Isso demonstra que o nome de uma interface pode ser usado em qualquer lugar no qual um tipo da classe que a implementa seja necessário. Vamos ver agora como criar uma interface chamada Pessoa. Veja:
public interface Pessoa{
public void setNome(String nome);
public String getNome();
}
Salve esta interface como Pessoa.java e a compile. Pronto! Esta interface já pode ser usada no sistema, contanto que todos do grupo tenham concordado com as assinaturas dos métodos. Agora observe uma classe Cliente que implementa esta interface:
public class Cliente implements Pessoa{
private String nome;
private int idade;
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
}
Salve este código como Cliente.java e o compile. O primeiro detalhe a observar é o uso da palavra-chave implements para mostrar que a classe implementa a interface Pessoa. Note também que a classe fornece implementação para todos os métodos da interface. Não seguir esta regra geraria o seguinte erro de compilação:
Cliente.java:1: Cliente is not abstract and
does not override abstract method getNome() in
Pessoa
public class Cliente implements Pessoa{
^
1 error
Em resumo, uma interface define um protocolo de comunicação entre dois objetos e pode conter, além das assinaturas dos métodos, constantes. Neste caso todas estas constantes serão implicitamente public, static e final. Mesmo que estes modificadores sejam omitidos. |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como retornar elementos presentes no primeiro vetor e não presentes no segundo vetor em JavaScript usando o objeto SetQuantidade de visualizações: 1773 vezes |
|
Este é um código muito interessante de ser feito em JavaScript. Dados dois arrays a e b, temos que retornar os números que estão presentes no primeiro array, mas que não estão presentes no segundo array. Este código pode ser escrito usando diversas abordagens. Nesta dica mostrarei como resolvê-lo usando um objeto Set, adicionado à linguagem JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6. Vamos ao código então:
<html>
<head>
<title>O objeto Set do JavaScript</title>
</head>
<body>
<script type="text/javascript">
// primeiro vetor
var a = [4, 8, 1, 23, 65];
// segundo vetor
var b = [23, 8, 90, 3, 7];
// vetor resultante
var c = [];
// criamos um objeto Set e guardamos nele os
// elementos do segundo vetor
var set = new Set();
for (var i = 0; i < b.length; i++){
set.add(b[i]);
}
// agora varremos o primeiro vetor e usamos
// o método has() do objeto Set para verificar se
// o valor não está contido nele
for (var i = 0; i < a.length; i++){
if(!set.has(a[i])){
c.push(a[i]);
}
}
document.writeln("Primeiro vetor: " + a);
document.writeln("<br>Segundo vetor: " + b);
document.writeln("<br>Resultado: " + c);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Primeiro vetor: 4, 8, 1, 23, 65 Segundo vetor: 23, 8, 90, 3, 7 Resultado: 4, 1, 65 Note que os valores 4, 1 e 65 estão presentes no primeiro array mas não estão presentes no segundo. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover quebras de linhas de uma string - Como usar o método replaceAll() da classe String para remover quebras de linha de um texto - RevisadoQuantidade de visualizações: 8 vezes |
Nesta dica eu mostro como podemos usar o método replaceAll() da classe String para remover quebras de linha de uma palavra, frase ou texto. Veja:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
String original = "Programar em Java\n é mais fácil do\n que você pensa.";
// vamos exibir a String original
System.out.println("Original: " + original);
// agora vamos remover as quebras de linha
String nova = original.replaceAll("[\\n]", "");
// vamos exibir a String sem as quebras de linha
System.out.println("Sem quebras de linha: " + nova);
System.exit(0);
}
}
Este código exibirá o seguinte resultado: Original: Programar em Java é mais fácil do que você pensa. Sem quebras de linha: Programar em Java é mais fácil do que você pensa. Esta dica foi revisada e atualizada para o Java 8. |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial de Java - Como usar a instrução condicional if e if...else do JavaQuantidade de visualizações: 54584 vezes |
Instruções if e if...else permitem executar trechos de códigos baseado em condições. Veja um exemplo:
public class Estudos{
public static void main(String args[]){
int valor = 5;
if(valor > 3)
System.out.println("Valor maior que 3");
}
}
Neste programa, a instrução
System.out.println("Valor maior que 3");
será executada somente se o teste (valor > 3) for verdadeiro. Observe que a expressão de teste deverá sempre ser do tipo boolean (true ou false). Neste exemplo temos apenas uma instrução a ser executada. Isso dispensa o uso das chaves ao redor do bloco de códigos. Se o bloco contiver mais de uma instrução, as chaves são necessárias. Veja:
public class Estudos{
public static void main(String args[]){
int valor = 5;
if(valor > 3){
System.out.println("Valor maior que 3");
System.out.println("O valor é: " + valor);
}
}
}
A instrução if...else (se...senão) é usada quando queremos fornecer um caminho alternativo ao código. Veja:
public class Estudos{
public static void main(String args[]){
int valor = 1;
if(valor > 3)
System.out.println("Valor maior que 3");
else
System.out.println("Valor menor que 3");
}
}
Você pode ainda usar if...else if...else (se...senão se...senão). Veja:
public class Estudos{
public static void main(String args[]){
int valor = 3;
if(valor > 3)
System.out.println("Valor maior que 3");
else if(valor < 3)
System.out.println("Valor menor que 3");
else
System.out.println("Valor é igual a 3");
}
}
|
Java ::: Dicas & Truques ::: Internacionalização e Localização (Internationalization, i18n, Localization, l10n) |
Como usar os construtores da classe Locale em seus programas JavaQuantidade de visualizações: 10123 vezes |
|
A classe Locale, na versão 1.6 do Java, apresenta 3 construtores. Aprender a usá-los corretamente trará muito mais flexibilidade aos seus códigos. Veja o primeiro construtor: Locale(String language) Este construtor requer como argumento um código de língua válido, ou seja, um dos códigos de duas letras minúsculas definidos pelo ISO-639. Assim, "pt" é para o português, "en" para o inglês, e assim por diante. Veja:
import java.util.*;
import java.text.*;
public class Estudos{
public static void main(String args[]){
// criamos um locale para o Brasil
Locale localeBR = new Locale("pt");
// vamos obter a data e hora atual
Calendar agora = Calendar.getInstance();
// vamos formatar de acordo com o formato de
// data longa no português brasileiro
DateFormat df = DateFormat.getDateInstance(
DateFormat.FULL, localeBR);
// vamos exibir o resultado
System.out.println(df.format(agora.getTime()));
}
}
Veja o segundo construtor: Locale(String language, String country) Este construtor requer a língua (language) e o país (country). O argumento country deve ser um código de país válido, ou seja, um dos códigos de duas letras maiúsculas definidos pelo ISO-3166. Assim, "BR" é para o Brasil, "PT" para Portugal, "US" para United States, e assim por diante. Este construtor que aceita o código da língua e o código do país é o mais frequentemente usado, uma vez que Brasil e Portugal possuem o mesmo código de língua, mas códigos de paises diferentes. Além disso, há países cujas regiões falam línguas diferentes, por exemplo, o Canadá. Veja um exemplo:
import java.util.*;
import java.text.*;
public class Estudos{
public static void main(String args[]){
// criamos um locale para o Brasil
Locale localeBR = new Locale("pt", "BR");
// vamos obter a data e hora atual
Calendar agora = Calendar.getInstance();
// vamos formatar de acordo com o formato de
// data longa no português brasileiro
DateFormat df = DateFormat.getDateInstance(
DateFormat.FULL, localeBR);
// vamos exibir o resultado
System.out.println(df.format(agora.getTime()));
}
}
Vejamos agora o terceiro construtor: Locale(String language, String country, String variant) Este construtor requer a língua, o país e a variante de localização. O argumento variante é um código específico relacionado ao fornecedor do sistema ou browser. Por exemplo: WIN para Windows, MAC para Macintosh, etc. Este último construtor não é usado comumente, razão pela qual o exemplo de seu uso fica pendente até a próxima revisão desta dica. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Java - Estruturas de Dados em Java - Como obter o nó com menor valor em uma árvore binária de busca em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





