Guilherme Tonello
Membro Júnior-
Posts
12 -
Cadastrado em
-
Última visita
Reputação
2-
Java Inicio de carreira e aprendizagem
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
Antes de tudo aprenda o JavaSE e o SQL, pois são as bases para as outras áreas com Java. Agora depende para qual área do Java você quer seguir: desenvolvimento de games, web, celular etc. Eu estudo a parte de web e um pouquinho de desenvolvimento de games. O maior mercado de Java se não me engano é o de Java Web, nesse você tem que possuir conhecimentos de banco de dados, linguagem sql, java se e os frameworks como hibernate, spring,thymeleaf etc. É bom possuir noções báscias de html, css e javascript também. Caso queira seguir para a área full-stack (front-end e back-end) é bom estudar muito o java e obter conhecimentos de níveis intermediários a avançados de html, css e javascript, além de seus respectivos frameworks também, como bootstrap, jquery, angular etc. Para as outras áreas com Java, recomendo dar uma pesquisada. -
Java Inicio de carreira e aprendizagem
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
Gratuitos: Curso da Universidade XTI(Reupload) - Sem certificado, mas é um dos melhores: Loiane Groner - Com certificado, mas tem que fazer pelo site dela: https://www.youtube.com/user/Loianeg Dev Dojo - Não sei se possui certificado: https://www.youtube.com/channel/UCjF0OccBT05WxsJb2zNkL4g/playlists Escola Virtual do Bradesco - Com certificado: https://www.ev.org.br/ Pagos: Existem diversos cursos pagos, mas eu recomendo o do Alex. É Java Avançado e para Web, então depois de terminar Java SE, caso queira ir para o Java EE, recomendo o do Alex: https://www.javaavancado.com/formacao-java-web-profissional/index.html?hsrc=cG9ydGFsamE%3D -
Java Gostaria de entender o que é camelcase
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
Isso mesmo, você pode ter uma variável com os seguintes nomes: nOME Sobrenome CaSaDo Enfim, é possível, porém deixa o código vamos dizer que poluído. Regra para nomes são apenas para não utilizar números no começo de variáveis/classes/métodos e pacotes. Tem mais algumas regrinhas, mas se a IDE não indicar erro ao nomear uma variável/classe/método/pacote etc, quer dizer que o nome pode ser usado. -
Java Gostaria de entender o que é camelcase
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
O nome pode ser o que você quiser, mas existem as convenções pra deixar com um padrão de estilização e facilitar a leitura, é como uma ABNT do Java. O método é um comando ou um conjunto de comandos que permite que facilite na hora de digitar códigos, evitando ter que digitar várias coisas iguais ou parecidas, se você já estudou javascript, pode-se considerar que o método é uma função. Classe é onde você digita seu código, ou seja o arquivo do código fonte do teu projeto. Variável é um valor que você define e que pode ser utilizado para vários fins. -
Java Gostaria de entender o que é camelcase
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
Bom, métodos são representados com (). Por exemplo, no autocomplete do eclipse é possível ver isso. Usando uma classe de exemplo, no caso a classe Exemplo: public class Exemplo { int numero = 10; //define uma variável numero com o valor 10 public void imprimir() { //início do método imprimir, nesse caso com uma assinatura nula System.out.println("Imprimiu..."); //comandos desse método } //fim do método imprimir public static void main(String[] args) { //início do método de execução do programa java Exemplo e = new Exemplo(); //criando um objeto do tipo dessa classe System.out.println(e.numero); //imprimindo o número definido lá em cima e.imprimir(); //chamando o método criado lá em cima } //fim do método main } Como você pode ver, os métodos possuem os parênteses, permitindo assim diferenciá-los de variáveis. No Eclipse, ao usar Ctrl+Espaço aparece uma tela para auto completar o seu código. Nela é possível ver as informações: http://prntscr.com/n0nmff É possível ver o nome, o tipo/retorno e a classe que pertence. Por exemplo, vemos que numero é uma variável por não possuir os '()', vemos também que é do tipo int e pertence a classe Exemplo. Também é possível ver que imprimir é um método por possuir os '()' depois do nome, vemos que ele não possui um tipo de retorno pois está void vemos também que ele está na classe Exemplo -
Java Gostaria de entender o que é camelcase
Guilherme Tonello respondeu ao tópico de MugenShion em Java/Android SDK
Recomendo estudar sobre convenções do Java: https://www.devmedia.com.br/convencoes-de-codigo-java/23871 Basicamente o camel case faz com que as variáveis/métodos sejam definidas com letras minúsculas e caso seja uma palavra composta a primeira letra de cada palavra será maiúsculas, exceto a primeira. Para variáveis, dá-se nomes do que elas representam, para métodos, utiliza-se verbos na hora de dar o nome. Exemplos: - nome - sobrenome - nomeCompleto - nomeDoPai - nomeDaMae - dividir() - fazerRaizQuadrada() Para constantes, o nome é todo em maiúsculo e para separar as palavras usa-se underline(_). Exemplos: - ALTURA - SEXO_MASCULINO - SEXO_FEMININO - DINHEIRO_NA_CONTA_DO_BANCO //dinheiro na conta do banco constante é triste kkkkk Agora, em relação a sua outra dúvida: Para nome das classes, normalmente é um substantivo e segue uma regra bem semelhante a camel case. Porém diferentemente da camel case que a primeira letra é minúscula, utiliza-se uma letra maiúscula. Exemplos de nomes de classes: - Matematica - Cachorro - Galinha - Fazenda - Pessoa - ContaBancaria - ContaConjunta Variável é o mesmo que uma constante, porém a informação que ela armazena pode variar. Exemplo: int a = 10; //a vale 10 a += 11; //agora a vale 21 Já em uma constante: final int A = 10; //A vale 10 e não pode ser alterado A += 11; //ocorre erro Funções no Java são chamadas de métodos. Todo método possui seus modificadores, tipo de retorno e alguns possuem parâmetros(ou assinatura). Pode haver métodos com o mesmo nome, porém seus parâmetros devem ser diferentes. Exemplos: public double soma(double a, double b) { return a + b; } public double soma(double a) { //pode ocorrer, pois a assinatura é: (double a), sendo assim diferente de: (double a, double b) return a+a; } O retorno pode ser qualquer um, nesse caso eu utilizei o double. Para não haver tipo de retorno utiliza-se void. Exemplo: public void exemploDeMetodoSemRetorno() { System.out.println("Método imprimindo na tela."); } Você pode criar métodos com os mesmos nomes de variáveis(e vice-versa), mas não é recomendado fazer isso, pois pode causar confusão na hora de chamar o método ou a variável. Dar nomes não utilizando a convenção não causa erro, mas não deixa seu código em um padrão de estilização, o que pode causar problemas para outros visualizarem seu código. -
Exercício com classes e vetor JAVA
Guilherme Tonello respondeu ao tópico de LumberBr em Java/Android SDK
Eu fiz aqui agora pouco com Arrays, mas não testei. Classe Agenda: public class Agenda { private Contato[] contatos; public void adicionarContato(Contato contato) { for (int i = 0; i < contatos.length; i++) { //percore o array de contatos if (contatos[i] == null) { //checa se a posição percorrida é nula contatos[i] = contato; //se for nula, essa posição agora é marcada com um novo contato contatos[i].estaNaAgenda = true; System.out.println("Contato " + contato.getNome() + " adicionado"); //notifica a adição de um contato break; //sai do loop } } } public void removerContato(Contato contato) { for (int i = 0; i < contatos.length; i++) { //percorre o array de contatos if (contatos[i] == contato) { //checa se a posição percorrida é o contato desejado contatos[i].estaNaAgenda = false; //o for abaixo faz com que os outros elementos do array sejam reposicionados for (int k = i; k < contatos.length - 1; k++) contatos[k] = contatos[k+1]; System.out.println("Contato " + contato.getNome() + " removido"); //informa sobre a remoção do contato break; //sai do loop } } } public boolean buscarContato(String nome) { //usei boolean para retornar se o contato existe ou não boolean estado = false; //define uma variável estado, por padrão false try { //tenta executar o seguinte código for (int i = 0; i < contatos.length; i++) { //percorre o array if (contatos[i].getNome().equals(nome)) { //verifica se o nome do elemento corrente é igual ao nome definido estado = contatos[i].estaNaAgenda; //define a variável estado break; //sai do loop } } } catch (Exception erro) { //captura um erro se houver return false; //retorna false se houver um erro inesperado } return estado; //retorna o se ele está ou não na agenda } public Agenda(int contatosMaximo) { //construtor da classe Agenda com parâmetro para definir o número máximo de contatos contatos = new Contato[contatosMaximo]; //define o número máximo de contatos conforme o número passado na assinatura } } Classe Contato: public class Contato { private String nome, email; public boolean estaNaAgenda; public Contato(String nome, String email) { this.nome = nome; this.email = email; } public String getNome() { return this.nome; } public String getEmail() { return this.email; } } Método main para executar seu programa: public static void main(String[] args) { Contato jose = new Contato("José", "[email protected]"); //crio o meu contato Contato joao = new Contato("João", "[email protected]"); Agenda contatos = new Agenda(10); //crio minha agenda com um suporte para no máximo 10 contatos contatos.adicionarContato(joao); //adiciono o João contatos.adicionarContato(jose); //adiciono o contato criado anteriormente System.out.println("O contato José existe? " + contatos.buscarContato("José")); //busco se ele existe, nesse caso imprime true, pois eu acabei de adicionar ele contatos.removerContato(jose); //removo o contato criado anteriormente System.out.println("O contato João existe? " + contatos.buscarContato("João")); System.out.println("O contato José existe? " + contatos.buscarContato("José")); //busco novamente pelo José, aqui imprime false, pois eu acabei de removê-lo } -
Exercício com classes e vetor JAVA
Guilherme Tonello respondeu ao tópico de LumberBr em Java/Android SDK
Eu fiz utilizando as classes Map e HashMap. Provavelmente você ainda não aprendeu, mas é basicamente o seguinte, elas possuem uma chave, e a chave possui um valor. Nesse caso eu utilizei a chave como o nome. Aqui um vídeo que pode ajudar você com isso: Código da classe Agenda: import java.util.HashMap; import java.util.Map; public class Agenda { private Map<String, String> contatos; public String buscarContato(String nome) { return (contatos.containsKey(nome)) ? "Esse contato existe" : "Esse contato não existe"; } public void deletarContato(Contato contato) { contatos.remove(contato.nome, contato.email); } public void adicionarContato(Contato contato) { contatos.put(contato.nome, contato.email); } public Agenda() { contatos = new HashMap<>(); } } Código da classe Contato: public class Contato { public String nome, email; public Contato(String nome, String email) { this.nome = nome; this.email = email; } public Contato(String nome) { this.nome = nome; } } Código da classe para executar: public class ExecutarContatoEAgenda { public static void main(String[] args) { Contato jose = new Contato("José", "[email protected]"); Agenda agenda = new Agenda(); agenda.adicionarContato(jose); System.out.println(agenda.buscarContato("José")); agenda.deletarContato(jose); System.out.println(agenda.buscarContato("José")); } } Não é o que você pediu, mas pode te dar algumas ideias. -
Java Inserção de Imagens em JLabels
Guilherme Tonello respondeu ao tópico de Apollo Scriper em Java/Android SDK
Eu peguei de um projeto meu de quando estava aprendendo a biblioteca swing, aqui está funcionando normalmente. package labels; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class LabelImagem extends JFrame /*transforma essa classe em uma janela*/ { public LabelImagem() { super("Imagem em label"); //chama o construtor de JFrame e adiciona um título na janela ImageIcon icon = new ImageIcon(getClass().getResource("fotos/holo_foto.png")); //define a imagem JLabel imagem = new JLabel(); //cria a label imagem.setIcon(icon); //coloca a imagem na label getContentPane().add(imagem); //adiciona a label no container da janela setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //operação de fechamento setSize(300, 300); //tamanho da janela, 300x300 (nesse caso é o mesmo tamanho da foto que eu estou usando, mas pode ser diferente também) setResizable(false); //impede de redimensionar a janela setVisible(true); //deixa a janela visível } public static void main(String[] args) { new LabelImagem(); //chama o construtor da minha classe e abre a janela } } Fotos: - Estrutura do projeto: http://prntscr.com/mvxzgb - Foto da janela: http://prntscr.com/mvy0da Só mais uma coisa. Se você está iniciando seus estudos em Java, eu recomendo que utilize as interfaces gráficas mais para o final, depois de ver Serialização, pacote nio, herança. Pelo visto você já sabe de herança pois estou vendo o 'extends'. Enfim, recomendo estudar outras coisas antes de janelas mas é apenas uma recomendação minha, estude da maneira que for melhor para você. -
Java POO com java imprimir informação IMC
Guilherme Tonello respondeu ao tópico de AlexandreViana30 em Java/Android SDK
Coloca com interface gráfica usando JOptionPane. É bem simples e deixa mais bonito. Você também pode adicionar um tratamento de exceções pra quando o usuário digitar algo que não seja número enviar uma mensagem para ele. -
Java os arrays , portugol, java
Guilherme Tonello respondeu ao tópico de Carolina_antunes09 em Java/Android SDK
Você pode criar um array e colocar as temperaturas nele. Depois você pode usar o laço for para armazenar a soma das variáveis e por fim dividir pelo tamanho do array, assim obtendo a média. Para obter os valores máximo e mínimo existem várias maneiras, uma delas é usando a classe Arrays. Arrays.stream(ARRAY).max().getAsDouble(); //retorna o valor máximo em double(caso o array seja de double) de um array Arrays.stream(ARRAY).min().getAsDouble(); //retorna o valor mínimo em double(caso o array seja de double) de um array //Substitua ARRAY pelo nome do seu array -
Java Limitar entrada de dados à duas casas decimais Programação Java
Guilherme Tonello respondeu ao tópico de Francine Guimarães em Java/Android SDK
Eu não utilizo muito essa área do Java, mas existem as classes utilizadas para formatação. Dentre elas há a DecimalFormat. Como exemplo eu fiz um pequeno trecho de código que formata um número pra uma casa decimal: public static void main(String[] args) { System.out.print("Digite um número: "); //pede para o usuário digitar um número Scanner s = new Scanner(System.in); //cria um objeto com a classe Scanner double dados = s.nextDouble(); //manda o usuário digitar um número e guarda ele em uma variável DecimalFormat formatador = new DecimalFormat(".#"); //cria um formatador com uma casa decimal /* faz com que o número não seja arredondado(não tenho certeza se isto está correto) */ formatador.setRoundingMode(RoundingMode.FLOOR); System.out.println(formatador.format(dados)); //formata o número eliminando as outras casas } Exemplos: http://prntscr.com/mvmc5t http://prntscr.com/mvmcau http://prntscr.com/mvmclb Você também pode explorar o RegEx (expressões regulares) Aqui um vídeo sobre isso:
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais