Estruturas de Controle Nativas (SEMPRE USAREMOS)
Kodificando | blogkodificando@gmail.com
E aê galera!
Hoje vou falar um pouco sobre algumas funções nativas do
JAVA
.
Preparei um vídeo e aqui vai ele. Mas se você preferir ter informações mais rápidas, segue o post! xD
Falaremos um pouco sobre as funções if, else, switch, while, do while, for e foreach
IF ELSE: A função if é bem simples. Sua utilização é da seguinte forma:
if (condição) {...} else {...}
Onde vemos que o parâmetro 'condição' é a comparação que faremos para que o bloco {...} seja executado ou não. Como assim?! Bem, é melhor mostrar um exemplo.
int numero = 12; if (numero == 5) { System.out.println("O número é igual a 5"); } else if (numero == 78) { System.out.println("O número é igual a 78"); } else if (numero == 12) { System.out.println("O número é igual a 12"); } else { System.out.println("O número é diferente de 5, 78 e 12"); }
SWITCH: O switch é uma função para tratar simultaneamente vários valores enumerados. Ou seja, posso tomar um valor e compará-lo com vários outros valores tomando uma decisão diferente para cada valor.
Sua utilização se dá assim:
switch(valor) {
case talValor:
façaAlgumaCoisa();
break;
façaOutraCoisa();
break;
valorDiferenteDosAnteriores();
break;
}
Vemos que o valor será comparado várias vezes e a função chamada será aquela onde o caso (case) é igual ao valor. Vamos exemplificar?
int valor = 100; switch(valor) { case 12: System.out.println("O valor é igual a 12"); break; case 85: System.out.println("O valor é igual a 85"); break; case 56: System.out.println("O valor é igual a 56"); break; default: System.out.println("O valor é diferente de 12, 85 e 56"); break; }
A saída desse código será "O valor é diferente de 12, 85 e 56"
WHILE: O while é um laço de repetição que recebe uma só condição como parâmetro. Basicamente se passa um parâmetro de parada e um bloco a ser executado enquanto aquela condição não for satisfeita. Assim:
while(condição) {façaAlgumaCoisa();
façaOutraCoisa();
termineUmaIteraçãoDoLaço():
}
Vemos no exemplo, que enquanto a condição for satisfeita, as três funções (métodos) dentro do bloco serão executadas. Vamos mostrar um código funcional.
int i = 50; while (i > 0) { System.out.println("O número " + i + " é maior do que 50!"); i--; }
No exemplo acima teremos que o bloco executado rodará enquanto o inteiro i for maior que zero, decrementando o i porque do contrário criaríamos um laço infinito.
DO WHILE: Enquanto o while roda um código verificando inicialmente a condição de entrada, o do while obriga o processamento a executar seu bloco pelo menos uma vez. Sua utilização se dá da seguinte forma:
do {façaUmaCoisa();
façaOutraCoisa();
} while (condição);
Bem, o bloco será executado pelo menos uma vez garantindo assim que os métodos façaUmaCoisa() e façaOutraCoisa() sejam chamados no mínimo uma vez. Como no exemplo:
int a = 0; do { a++; if (a == 5) { a = 10; } } while (a != 10);
No exemplo acima, o laço será executado enquanto o inteiro a for diferente de 10. Quando o inteiro a for igual a cinco, o próprio programa mudará seu valor para 10 e então sua execução será finalizada.
FOR: O for é um laço de repetição que realiza incrementos ou decrementos em algum 'contador'. Podemos usá-lo assim:
for (int a = 0; a < 10; a++) {chameUmMetodo();
chameOutroMetodo():
}
Vemos que, como parâmetro, é passado um inteiro que tem seu valor incrementado. Enquanto esse inteiro satisfazer a condição de ser menor que dez, teremos o bloco do for executado.
for (int i = 0; i < 30; i++) { System.out.println("Oi, eu ainda sou menor que trinta!\nMeu valor é: " + i): }
FOREACH: Como o próprio nome já diz o foreach é um laço que se repete para cada valor. Mas como utilizá-lo? Usamos o foreach em conjunto com algum vetor de dados, um array. O foreach é a estrutura mais utilizada em qualquer contexto visto que estamos sempre mexendo com vários dados em nossas aplicações. Assim:
int numeros[] = {45, 30, 21, 102, 105};for (int numero : numeros) {
System.out.println(numero);
}
Nessa utilização o for percorrerá o vetor de números e para cada número do array, será impresso seu valor. Vamos exemplificar.
String nomes[] = {"Acesse", "o", "Blog", "Kodificando!"}; for (String nome : nomes) { System.out.println(nome); }
7/20/2014 06:11:00 PM
Padrão de escrita MVC
Kodificando | blogkodificando@gmail.com
Bom dia, boa tarde, boa noite galera!
Hoje vou falar um pouquinho sobre MVC. É de comer?! Não, mas pode garantir o seu sustento xD
No ramo da programação temos muitas normalizações que são adotadas pra facilitar a vida do programador e a manutenção no seu código. Por exemplo, quando você entra numa empresa pra trabalhar com programação, você perceberá bem rápido que um determinado padrão de codificação é adotado para facilitar o entendimento do código pela equipe. Um desses padrões é o MVC (Model, View, Controller) e esse padrão é mais amplamente adotado por todos por causa da sua simplicidade e eficácia.
Os nossos pacotes poderiam ficar organizados como na imagem. Não se preocupem com o br.com no momento, porque é apenas uma nomenclatura para quem se acostuma a desenvolver para o ambiente web xD
Como os pacotes são bem definidos e tem função específica, fica fácil achar e corrigir problemas no nosso código. Mas vamos ao que interessa. Como funciona esse padrão?
Basicamente é como na imagem, onde o usuário enxerga a visão, através de um comando ele invoca um método do controlador, o controlador manipula o modelo alterando seus valores, o modelo é atualizado e "avisa" a visão que seus dados foram alterados e por fim a visão é renderizada novamente mostrando ao usuário os dados alterados.
Simples né? No começo NÃO mas depois que se pega a prática, você consegue fazer mais nada sem adotar o padrão MVC!! Mas como isso funciona em
Não é atoa que o padrão se chama MVC porque primeiramente vamos escrever nossa classe model em seguida a view e por último, se comunicando com ambas as classes, escreveremos a classe controller. Então mãos a obra.
Queremos fazer um cadastro de automóveis. Hã?! Tá, não queremos, mas vai ser o exemplo. Então começaremos com o modelo do nosso sistema, que é o........ Automóvel! Isso mesmo, você tá começando a entender a translação da realidade em negócio no mundo Java.
Agora vamos fazer a classe de visão do nosso sistema, que basicamente será a classe..... Tela! É isso aê, se vamos enxergar o sistema, precisa ser por uma tela né... A classe Tela vai precisar pegar um novo valor de automóvel, uma nova marca, e listar os automóveis cadastrados.
Beleza, agora podemos concluir o projeto criando nosso controlador, cujo nome é..... Controlador! É, pro controlador não precisa muita firula não, fica mais compreensível se você coloca um nome simples para que saibam que é ali que a "mágica" acontece. O controlador precisa pedir um novo cadastro ao usuário e exibir a lista de carros. Então vamos lá.
Com o método main pronto, podemos rodar nosso código e se você tiver algum problema com a compilação ou qualquer dúvida vai poder postar aqui e eu responderei o quanto antes. No próximo post vamos falar de orientação a objetos e polimorfismo. Ao final, nosso projeto estará como na imagem.
JAVA?
Se você ainda não conseguiu enxergar, se liga só que aí vai um exemplo.Não é atoa que o padrão se chama MVC porque primeiramente vamos escrever nossa classe model em seguida a view e por último, se comunicando com ambas as classes, escreveremos a classe controller. Então mãos a obra.
Queremos fazer um cadastro de automóveis. Hã?! Tá, não queremos, mas vai ser o exemplo. Então começaremos com o modelo do nosso sistema, que é o........ Automóvel! Isso mesmo, você tá começando a entender a translação da realidade em negócio no mundo Java.
package br.com.kodificando.model;Se você não sabe pra que servem os métodos get/set não se preocupe. São apenas para mudar os valores dos atributos da classe e para resgatar esses valores. Qualquer dúvida, comente no post e eu responderei com urgência.
//Classe Automóvel
public class Automovel {
String marca; // A marca do nosso Automóvel
Double preco; // O preço do nosso Automóvel
// Nosso construtor...
public Automovel() {}
/* Métodos get/set */
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}
Agora vamos fazer a classe de visão do nosso sistema, que basicamente será a classe..... Tela! É isso aê, se vamos enxergar o sistema, precisa ser por uma tela né... A classe Tela vai precisar pegar um novo valor de automóvel, uma nova marca, e listar os automóveis cadastrados.
package br.com.kodificando.view;
import java.util.List;
import java.util.Scanner;
import br.com.kodificando.model.Automovel;
public class Tela {
String novaMarca; // Marca que será cadastrada
Double novoPreco; // Preço que será cadastrado
Scanner leitor; // Leitor de dados
/**
* Exibe uma tela de cadastro para um novo automóvel.
* O novo automóvel possui uma marca e um preço
*/
public void exibaTelaDeCadastro() {
leitor = new Scanner(System.in);
System.out.print("Marca do automóvel: "); // Exibe texto para usuário
this.novaMarca = leitor.nextLine(); // Captura a marca digitada pelo usuário
System.out.print("Preço do automóvel: "); // Exibe texto para usuário
this.novoPreco = (Double) leitor.nextDouble(); // Captura o preço do usuário
}
/**
* Exibe a lista da automóveis para o usuário
* Recebe um parâmetro {@code automoveis} que é a lista a ser exibida
* @param automoveis Lista de automóveis a ser exibida
*/
public void exibaListaDeAutomoveis(List<automovel> automoveis) {
for (Automovel automovel : automoveis) {
System.out.println("Marca: " + automovel.getMarca());
System.out.println("Preço: " + automovel.getPreco() + "\n");
}
}
/* Métodos get/set */
public String getNovaMarca() {
return novaMarca;
}
public void setNovaMarca(String novaMarca) {
this.novaMarca = novaMarca;
}
public double getNovoPreco() {
return novoPreco;
}
public void setNovoPreco(double novoPreco) {
this.novoPreco = novoPreco;
}
}
Beleza, agora podemos concluir o projeto criando nosso controlador, cujo nome é..... Controlador! É, pro controlador não precisa muita firula não, fica mais compreensível se você coloca um nome simples para que saibam que é ali que a "mágica" acontece. O controlador precisa pedir um novo cadastro ao usuário e exibir a lista de carros. Então vamos lá.
package br.com.kodificando.controller;Está tudo pronto. Pra rodar falta apenas uma coisa! O método main. Mas onde ficaria esse método? Obviamente não seria nas nossas classes. Precisamos criar um pacote e uma classe apenas para o método main e separá-lo do restante do código.
import java.util.ArrayList;
import java.util.List;
import br.com.kodificando.model.Automovel;
import br.com.kodificando.view.Tela;
public class Controlador {
List<Automovel> automoveis; // Lista de automóveis
Tela tela; // Tela do usuário
public Controlador() {
automoveis = new ArrayList<>(); // Inicializando a lista
tela = new Tela(); // Inicializando a tela
}
/**
* Realiza um novo cadastro
* exibindo a tela de cadastro para o usuário
*/
public void facaNovoCadastro() {
tela.exibaTelaDeCadastro();
Automovel automovel = new Automovel();
automovel.setMarca(tela.getNovaMarca());
automovel.setPreco(tela.getNovoPreco());
automoveis.add(automovel);
}
/**
* Exibe a lista de carros cadastrados para o usuário
*/
public void exibaListaDeAutomoveis() {
tela.exibaListaDeAutomoveis(automoveis);
}
}
package br.com.kodificando.main;
import br.com.kodificando.controller.Controlador;
public class Main {
public static void main(String[] args) {
// Criando um controlador
Controlador controlador = new Controlador();
// Vamos cadastrar e exibir cinco carros
for (int i = 0; i < 5; i++) {
controlador.facaNovoCadastro();
controlador.exibaListaDeAutomoveis();
}
}
}
Com o método main pronto, podemos rodar nosso código e se você tiver algum problema com a compilação ou qualquer dúvida vai poder postar aqui e eu responderei o quanto antes. No próximo post vamos falar de orientação a objetos e polimorfismo. Ao final, nosso projeto estará como na imagem.
6/15/2014 01:04:00 PM
Instalando ECLIPSE IDE
Kodificando | blogkodificando@gmail.com
Hoje vou mostrar pra vocês qual IDE utilizaremos durante o desenvolvimento das aplicações no BLOG. A IDE utilizada será o ECLIPSE KEPLER e eu montei um vídeo tutorial mostrando a instalação e a função de cada parte do eclipse. Espero que gostem e espero que mandem dúvidas, sugestões ou críticas!
No próximo post falarei um pouco sobre Orientação a Objetos. Não perca.
Até mais!!!
6/08/2014 05:53:00 PM
Configurando JAVA | JDK nos SOs Windows e Linux
Kodificando | blogkodificando@gmail.com
Boa noite!
Como prometido, vamos configurar o
JDK
no Windows e no Linux. Preparei duas video-aulas pra vocês e também disponibilizarei dois arquivos explicando o passo a passo para aqueles que não tem tempo de assistir as video-aulas.
Qualquer dúvida, entrem em contato o mais rápido possível. Estarei aqui pra ajudar.
6/01/2014 01:43:00 AM
Programa básico em JAVA
Kodificando | blogkodificando@gmail.com
Boa noite galera!
Hoje vou exibir o primeiro vídeo do Blog! Espero que gostem. Nele farei apenas um simples programa, exibindo como se compila um programa pela command line do WINDOWS e depois como executá-lo. Para isso usei o editor de texto Sublime Text 2 e seu link está na descrição do vídeo.
Por favor, enviem críticas, sugestões e dúvidas. Podem enviar pro meu e-mail mesmo. Juro que respondo o quanto antes. Um grande abraço e não percam o próximo post. Vou falar sobre a configuração do ambiente para desenvolvimento JAVA xD
5/26/2014 12:03:00 AM
Primeiros Passos
Kodificando | blogkodificando@gmail.com
Boa noite!
Já que vamos estudar
JAVA
aqui então é melhor saber como a coisa realmente anda, funciona, é executada, etc... Bem, vamos entender quem são os responsáveis por pegar um texto cheio de palavras estranhas e transformá-lo em um programa que roda no seu computador!
Todo aplicativo
JAVA
roda sobre uma JVM (famosa Java Virtual Machine) e quem realiza esse trabalho é o JRE (Java Runtime Environment) desde que nosso texto estranho (código) tenha sido compilado pelo JDK (Java Development Kit). Então vamos entender como cada um funciona separadamente.
JVM: A máquina virtual JAVA tem a responsabilidade de traduzir seu código em tempo de execução para o Sistema Operacional em uso. Ela literalmente pega seu código (bytecodes) em execução e chama as exatas bibliotecas de execução do Sistema Operacional para executá-lo. Como essas bibliotecas variam de S.O. para S.O., a JVM fica incumbida da correta tradução xD
JRE: O ambiente de execução JAVA cuida especificamente de rodar seu código, para tanto ele usa a JVM!!! (SIM, instalando o JRE você estará instalando a JVM automaticamente xD)Para tanto ele é composto de várias bibliotecas com várias interfaces JAVA.
JDK: O kit de desenvolvimento JAVA é responsável por ler nosso código e gerar o bytecode que será executado pelo JRE e traduzido para o PC com a JVM. É a principal ferramenta do desenvolvedor, inclusive a única necessária para fazer qualquer coisa a partir do zero, uma vez que com ele podemos compilar e executar nosso código.
Bem pessoal, por enquanto é só. No próximo post já iniciarei um programa bem básico exibindo como funciona na prática a execução de um código JAVA. Por isso não percam!!! ;D
Deixo aqui o fluxo analisado hoje em formato de diagrama, e por favor, enviem críticas, sugestões e dúvidas.
5/24/2014 11:47:00 PM
HelloKodificando
Kodificando | blogkodificando@gmail.com
Se vamos falar de
Ao longo de cada post, terei prazer em receber críticas, sugestões e dúvidas. Por isso sempre deixarei meu contato.
JAVA
então é melhor começar com o pé direito. E todo mundo sabe que sem nosso amado tão escrito HelloWorld
as coisas podem sair de controle. Quero dar as boas vindas a todos os leitores, e os mais sinceros agradecimentos.Ao longo de cada post, terei prazer em receber críticas, sugestões e dúvidas. Por isso sempre deixarei meu contato.
package kod;
public class HelloKodificando {
public static void main(String[] args) {
System.out.println("Hello Kodificando!");
}
}
5/24/2014 01:51:00 AM
Assinar:
Postagens
(
Atom
)