Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes JavaQuantidade de visualizações: 12281 vezes |
|
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro: Código para Livro.java:
package estudos;
public class Livro {
// variáveis privadas
private String titulo; // título do livro
// variável estática que permitirá definir um
// identificador único para cada livro
private static int id;
// construtor da classe Livro
public Livro(){
// vamos incrementar a variável estática
Livro.id++;
}
// método que permite obter o id do livro
public int getId(){
return Livro.id;
}
// método que permite definir o título do livro
public void setTitulo(String titulo){
this.titulo = titulo;
}
// método que permite obter o título do livro
public String getTitulo(){
return this.titulo;
}
}
Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação: Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos criar um objeto da classe Livro
Livro a = new Livro();
a.setTitulo("Programando em Java 2");
// vamos exibir os dados do livro
System.out.println("Id: " + a.getId());
System.out.println("Titulo: " + a.getTitulo());
// vamos criar mais um livro
Livro b = new Livro();
b.setTitulo("A biblia do C/C++");
// vamos exibir os dados do livro
System.out.println("Id: " + b.getId());
System.out.println("Titulo: " + b.getTitulo());
// e mais um livro aqui
Livro c = new Livro();
c.setTitulo("PHP + MySQL");
// vamos exibir os dados do livro
System.out.println("Id: " + c.getId());
System.out.println("Titulo: " + c.getTitulo());
}
}
Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro.id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: System.out.println(Livro.id); |
JavaScript ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators) |
JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScriptQuantidade de visualizações: 1470 vezes |
|
O operador de bits & (E/AND sobre bits) da linguagem JavaScript é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0. Para quem gosta de Lógica Matemática, ou a Tabela Verdade da Lógica de Boole, vai se lembrar do conectivo "^", que diz que a proposição resultante da conjunção só será verdadeira quando as proposições simples individuais forem verdadeiras. O operador de bits & do JavaScript é similar ao conectivo "^" da Lógica Proposicional. Vamos analisar os seguintes valores binários: a) 0101 (5 decimal) b) 0100 (4 decimal) Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado: 0101 0100 ---- 0100 Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em JavaScript agora. Observe o seguinte trecho de código:
<html>
<head>
<title>Manipulação de Bits em JavaScript</title>
</head>
<body>
<script type="text/javascript">
var a = 5;
var b = 4;
var c = a & b;
// exibe o resultado (em binário e em decimal)
document.writeln("a = " + obterBits(a) + " (" + a + ")");
document.writeln("<br>b = " + obterBits(b) + " (" + b + ")");
document.writeln("<br>a & b = " + obterBits(c) + " (" + c + ")");
// função auxiliar que converte um decimal em sua representação em bits
function obterBits(valor){
var mascara = 1 << 31; // 10000000 00000000 00000000 00000000
var buffer = ""; // um buffer para guardar os bits dos bytes
for(var i = 1; i <= 32; i++){
// compara os bits individuais dos dois valores inteiros
if((valor & mascara) == 0){
buffer = buffer + "0";
}
else{
buffer = buffer + "1";
}
valor = valor << 1; // desloca uma posição para a esquerda
// Cada troca à esquerda corresponde à multiplicação do
// valor por 2
if(i % 8 == 0){ // completou um byte?
buffer = buffer + " ";
}
}
return buffer;
}
</script>
</body>
</html>
Ao executar este código teremos o seguinte resultado:
a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)
|
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string do Java usando o método substring() e um laço forQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos usar o método substring() da classe String, combinado com o laço for, para contar as ocorrências de uma substring em uma string da linguagem Java. Note que usamos também os métodos length() e equals() para completar a tarefa. Veja o código Java completo para o exemplo:
package estudos;
public class Estudos{
public static void main(String[] args){
// vamos criar uma string representando uma frase
String frase = "Programar em Java só é melhor que programar em Java";
// a substring que vamos pesquisar
String sub = "Java"; // ocorrências de "Java"
// quantidade de ocorrências
int cont = 0;
// um laço for que vai de 0 até o tamanho da primeira string menos
// o tamanho da segunda string - 1
for(int i = 0; i < (frase.length() - sub.length() + 1); i++){
String res = frase.substring(i, (i + sub.length()));
// encontramos a substring mais uma vez?
if(res.equals(sub)){
cont++;
}
}
System.out.println("A frase contém " + cont + " ocorrências de " + sub);
// fecha o programa
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: A frase contém 2 ocorrências de Java |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar uma lista Python ao final de outra usando o método extend()Quantidade de visualizações: 8066 vezes |
|
A função extend() do objeto List da linguagem Python nos permite adicionar todos os elementos de uma determinada lista ao final de outra lista. É claro que qualquer objeto que fornece uma forma de iteração pode ser passado ao método, incluindo uma List, um Set, uma Tuple, etc. Veja um trecho de código no qual criamos duas listas de inteiros e adicionamos todos os elementos da segunda lista ao final da primeira: """ Este exemplo mostra como adicionar os elementos de uma lista ao final de outra """ def main(): # cria uma lista de inteiros valores1 = [2, 5, 12, 2, 3] print(valores1) # cria uma lista de pontos-flutuantes valores2 = [4.3, 6.43, 8.1] print(valores2) # insere a segunda lista no final da primeira valores1.extend(valores2) # exibe o resultado final print(valores1) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [2, 5, 12, 2, 3] [4.3, 6.43, 8.1] [2, 5, 12, 2, 3, 4.3, 6.43, 8.1] |
Nossas 20 dicas & truques de programação mais populares |
|
MySQL - Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQL GoLang - Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
PHP - Como inserir um determinado número de zeros antes de um número em PHP usando a função sprintf() C - Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear MySQL - Como usar joins no MySQL |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





