Mostrando postagens com marcador java. Mostrar todas as postagens
Mostrando postagens com marcador java. Mostrar todas as postagens

sexta-feira, 10 de maio de 2019

Concatenando String de forma eficiênte em java

Há momentos que é necessário concatenar ("juntar") uma grande quantidade de Strings em java isso pode ser feito dentre as maneiras simples as duas listadas abaixo:


Pela junção com o operador mais +

...
String x = stringY+stringZ;
...


Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto+" Teste "+i;
        }
    }

Pelo método concat da própria classe String


String x = stringY.concat(stringZ);

 Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto.concat(" Teste "+i);
        }
    }


Ambas maneiras são validas, porém quando é necessário juntar uma grande quantidade de Strings essas maneiras se tornam defasadas. Para tiramos melhor aproveito uma ótima saída é utilizar a classe StringBuilder.

Sintaxe:

StringBuilder nome = new StringBuilder();

nome.append(string);

Onde:
nome.append(String); - Método para concatenação da string.


Exemplo:

     public static void main(String args[]) {
      
        StringBuilder texto=new StringBuilder();

      
        for(int i=0;i<10000 br="" i="">        {
            texto.append("Teste "+i);

        }
    }




Comparativo

Abaixo é possível ver uma classe que faz a comparação entre os tipos de concatenação acima.
 

 public class Teste {

    public static void main(String args[]) {

      
        String texto = "Teste 01";
        long inicio = System.nanoTime();
        long diferenca;
        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto+"Teste "+i;
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom soma +");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());

        inicio = System.nanoTime();
        texto="";

        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto.concat("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom concat");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());
      
        //**********************************************
        StringBuilder texto2=new StringBuilder();
        inicio = System.nanoTime();

        for(int i=0;i<10000 br="" i="">        {
            texto2.append("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom StringBuilder");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto2.toString().length());

    }

}



Saída:

Com soma +
Tempo: 293225120 ns
Tamano: 98898 ns

Com concat
Tempo: 23470066971 ns
Tamano: 98890 ns

Com StringBuilder
Tempo: 4156625 ns
Tamano: 98890 ns



Como foi possível ver o método com StringBuilder é muito mais rápido do que as outras maneiras.

quinta-feira, 25 de abril de 2019

Como listar os arquivos em Java

O principal objetivo deste post é explicar como é feita a listagem de arquivos em um determinado diretório.

Para a realizar a listagem será utilizada classe java.io.File. Abaixo é possível ver o código funcionando.

Exemplo:

import java.io.File;

public class LeitorArquivos {

public static void main(String[] args) {

File file = new File("/tmp/teste");
//File file = new File(“C:\\”); //Caso fosse em sistema windows
if(file.exists())
{
for(File fileTmp:file.listFiles()) {
if(fileTmp.isDirectory()) {
System.out.println("Diretório: "+fileTmp.getName());
}
else {
System.out.println("Arquivo: "+fileTmp.getName());
}
}
}
}

}


No código acima é utilizado o método listFiles() de uma instãncia do java.io.File, esse método tem a finalidade de retornar todos os arquivos de um diretório que é referente na inicialização da da instância do java.io.File (File file = new File("/tmp/teste");).




sábado, 9 de março de 2019

Programando em Java - Váriaveis

Assim como em outras linguagens de programação uma variável é de suma importância para use programar. A  grosso modo uma váriavel nada mas é que dado guardado em um local da memória do computador para uso posterior.

Abaixo é possível ver alguns tipos de variaveis de , vale lembrar que existem vários tipos de variaveis em Java.

  • boolean -   Tipo boleano -                Ex: true ou false
  • char -        Caracter -                       Ex: 'c' , 'A' 
  • double -     Número Decimal -          Ex: 2.2, 3.5
  • int -            Número inteiro -            Ex: 1, 2, 3, 4, etc...
  • String -      Cadeia de caracteres -   Ex: "Nome", "carro", "123". 

Sintaxe:

tipo_variavel nome_variavel ;

Onde:


  • nome_variavel - O nome propriamente dito da variável.
  • tipo_variavel - Tipo da variável (int,double,float, String, etc)

Exemplos 1: 

int idade;
String nome;
String nome,cpf;
boolean isValido;
Boolean isCorreto;




Anterior                                                                 Inicio                                                             Próximo

sexta-feira, 8 de março de 2019

Programando em Java - Comentários

Os comentários são informações adicionais que são adicionadas ao código para facilitar o entendimento do mesmo, os comentários não são exibidos em tempo de execução do programa. Em Java são bem simples de serem feitos, os mesmos podem ser em blocos ou linhas.

1º Comentário em bloco


No em bloco é possível escrever mais que uma linha de comentário dentro do campo /* */ . Sendo que o mesmo é marcado com /* e terminado com */

Sintaxe:

/*

bloco_de_mentario

*/

Onde:

/* - Inicio do bloco de comentário.

*/ - Final do bloco de comentário

bloco_de_mentario - Comentário propriamente dito.


2º Comentário em linhas


No estilo de comentário em linha é possível escrever o comentário apenas em uma linha continua.

Sintaxe:

//comentario 1

//comentario 2

Onde:

//- Marcador de comentário

comentario 1 - Comentário propriamente dito.

comentario 2 - Comentário propriamente dito.


Exemplo na prática.

Abaixo vamos ver o exemplo simples com utilização dos comentários.

package main;
 

/*Comentário 
 com 
 várias 
 linhas
*/
 

public class ClassePrincipal {


 
//Comentário de uma unica linha

     public static void main(String args[]) {

        System.out.println("Ola, Mundo!\n");

    }

}



Voltar                                         Inicio                                                               Próximo


segunda-feira, 28 de janeiro de 2019

Curso pratico de Java Básico

Programando em Java - Introdução

Objetivo

Esse é o primeiro de uma série de posts que viram a explicar uma maneira bem simples e pratica de como se programar em Java. Tentarei explicar da maneira mais simples através de exemplos como se programa em Java.

Pré requistos


Introdução

Java é uma linguagem de programação orientada a objeto criado nos anos 90, na empresa Sun Microsystem. Hoje a mesma pertece da Oracle em 2008 quando a mesma comprou a Sun. Ao contrário de muitas lingugens existentes hoje o  Java não é compilada em linguagem nativa da maquina, mas sim em um código intermediario que é interpretado pela maquina virtual java (JVM).

A sintaxe de Java é semelhante a C/C++, dentre algumas características podem citar:
  • Orientação a Objeto
  • Portabilidade independente da plataforma  (pois roda ma JVM)
  • Linguagem simples
  • Dinamismo
  • Distribuído
  • Tipada

Primeiro programa em Java 

A estrutura básica de um programa em java é:

package nome_pacote;

public class Nome_Classe{

    metodo() {

        ....
    }

}

Abaixo vamos ver o exemplo simples do nosso primeiro programa em java:

package main;

public class ClassePrincipal {

    public static void main(String args[]) {

        System.out.println("Ola, Mundo!\n");

    }

}



Onde:

package main - Nome do pacote onde seu programa está sendo criado. 
public class ClassePrincipal - Em java todo código a ser executado deve estar dentro de uma classe.
public static void main(String args[]) - Função principal do programa. Todo programa em Go precisa ter uma função main, ela é o ponto de inicio de qualquer projeto feito nessa linguagem.

System.out.println("Ola, Mundo!\n") - Nesse trecho imprimimos algo na tela


segunda-feira, 21 de janeiro de 2019

O que é uma Exception em java ?

Uma Exception ou excessão é uma situação que acontece quando um programa foge em algum momento da maneira como ele deveria funcionar.

Por exemplo um NullPointerException acontece quando tentamos acessar alguma informação de dentro de um varável nula.

Exemplo:

....
public String getNome()
 {
   Usuario usuario;
   usuario.getNome();
}
....

No caso acima é lançado um NullPointerExecpton, pois estamos tentando acessar um atributo de uma variável não instanciada ou seja fugimos do fluxo correto do funcionamento do sistema.

Como evitar uma excessão ?

Uma maneira de tratar uma provável Exception em java é fazer utilização do try /cath ou enviar a mesma para  método que veio chamar o método que pode estorar a Exception atraves do throws.

Exemplo 1 - Fazendo o tratamento com try/catch:

//Tratando com try/cath
...
....
public String getNome()
 {
   Usuario usuario;
 try{
     usuario.getNome();
    }catch(Exception e){
      //  ...tratamento
     usuario= new Usuario();
     usuario.nome = "Sem nome";
     
  }
}
....

Exemplo 2 - lançando a Exception par ao método que fez a chamada ao método problemático:

....
public String getNome() throws Exception
 {
   Usuario usuario;
   usuario.getNome();
}
....

sexta-feira, 18 de janeiro de 2019

Gerar numero alétório em java


Uma maneria bem simples de gera números aleatórios em java utilizar a classe java.util.Random. Abaixo vamos ver alguns exemplos.


Gerando número inteiros

Sintaxe:

Random random = new Random();
random.nextInt(max_num)


 Onde:
  • max_num - Número maximo que podera ser gerado. (Ex: 40 seria de 0 a 40 os números gerados)

Com  random .nextInt(max_num) será gerado um número entre zero e o max_num.

Exemplo:

import java.util.Random;

public class Teste {

    public static void main(String args[]) {

        Random rd = new Random();

        for (int i = 0; i < 10; i++) {
            System.out.println("" + rd.nextInt(40));
        }
    }

}


Saída:

25
17
9
25
13
6
27
11
23
25



terça-feira, 15 de janeiro de 2019

Converter decimal para hexadecimal em java


Uma maneira bem simples de converter decimal para hexadecimal em java é utilizando a classe Integer do próprio java.

Sintaxe:

String resultado = Integer.toHexString(numero_conversao);


Onde:

resultado - valor já convertido.
Integer.toHexStrin


Exemplo:



public class Teste {

    public static void main(String args[]) {

        String hexNumber = toHex(412);
        System.out.println("" + hexNumber);

    }

    public static String toHex(int numero) {
        return Integer.toHexString(numero);
    }
}




Saída:

19c

sexta-feira, 4 de janeiro de 2019

Como verificar se uma chave existe em um JSON

Para verificar se uma chave existe em um objeto json em java utilizamos o método has(string)


Sintaxe:

JSON_OBJETO.has("chave")


Onde:

  • JSON_OBJETO - Objeto json que será verificado.
  • chave - String que representa a chave a ser busca no objeto json

Nesse caso o método retornar true caso exista a chave no objeto json e false caso não exista.

sábado, 20 de janeiro de 2018

Como instalar manualmente plugin o jenkins



Essa foi a maneira que utilizei em ultimo caso pois não estava conseguindo instalar o plugin da maneira padrão, caso necessário utilize esse método no ultimo caso. 
Para iniciar o processo de instalação de um plugin no jenkins de forma manual basta fazer o download o arquivo de plugin do mesmo (.hpi) e inserir na pasta "plugin" do diretório onde fora instalado o Jenkins do mesmo.


Um exemplo seria fazer o download do plugin do git para o mesmo. Para isso basta acessar o site do plugin (https://updates.jenkins-ci.org/download/plugins/git-client/) fazer o download da versão que preferir e colocar na pasta de plugins. 

Figura 1: Página de download de um plugin


Logo após ser colocado o arquivo .hpi dentro da pasta reinicie o Jenkins, quando você entrar novamente no mesmo será requirido do download do mesmo.

quarta-feira, 27 de dezembro de 2017

Descobrir o Sistema operacional utilizando java


Introdução

Há alguns momentos que precisamos saber em qual sistema operacional o nosso "executavel" .jar está rodando para usar algumas particularidades do mesmo.
 
Uma maneira de descobrir o sistema operacional no qual o jar está está sendo executado é utilizar a sintaxe abaixo:


System.getProperty("os.name")


Abaixo é possível visualizar um exemplo:


public class VisualizacaoOS {

    public static void main(String[] args) {

        System.out.println("O sistema operacional atual é: "+System.getProperty("os.name"));

    }

}



 

Abaixo é possível ver o resultado da execução do código acima:



  

sexta-feira, 22 de dezembro de 2017

Como criar um diretório em JAVA


Para criar um diretório em java basta utilizar o class java.io.File.

A sintaxe é:

Primeiro caso:

File file = new File(path_diretorio).mkdir();

Segundo caso:

File file = new File(path_diretorio).mkdirs();

(Nesse segundo caso o será criado toda estrutura de pastas até chegar ao diretório que será criado)

Onde:

path_diretorio - É o caminho no qual o diretório será criado.

segunda-feira, 24 de julho de 2017

Erro ao publicar aplicativo no Galaxy App

Pode acontecer de quando tentamos adicionar um aplicativo ao Galaxy Apps lançar o erro citado abaixo. Neste post iremos explicar de maneira simples como resolver esse problema.

“The registered binaries do not meet the category conditions for GALAXY Specials. The GALAXY Specials category can be selected only if at least one binary supports GALAXY Specials. You can go to ‘Binary>Advanced Mode>Binary Details’ to check the supported GALAXY Specials options.”

A solução para esse problema e bem simples. Basta adicionar a linha abaixo no arquivo AndroidManifest.xml.

    < uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />





   



segunda-feira, 13 de março de 2017

Como descobrir o tamanho de um arquivo em java

Resumo


File file = new file (caminho);
file.length();

Introdução

O principal objetivo deste poste é explicar de maneira simples e rápida como se descobre o tamanho de determinado arquivo em JAVA.


Descobrindo o tamanho do arquivo

Para saber o tamanho de determinado arquivo basta utilizar o método length() contido no mesmo.

Sintaxe:

...
File file = new file (caminho);
file.length();
...

Onde:

caminho - Path do arquivo a ser analizado.


Exemplo:

import java.io.File;

public class ClassTeste
{
public static void main(String[] args) {
File file = new File("c:\\Temp\\teste01.xlsx");

if (file.exists()) {

double bytes = file.length();
System.out.println("O tamanho do arquivo é: " + bytes +" bytes");

} else {
System.out.println("O arquivo não existe");
}

}
}


Saída será:

O tamanho do arquivo é: 20620.0



Por default o tamanho do arquivo é adquirido em bytes para alterar a grandeza basta dividir pela devida unidade de cada medida.

   double kilobytes = (bytes / 1024);
   double megabytes = (kilobytes / 1024);
   double gigabytes = (megabytes / 1024);
   double terabytes = (gigabytes / 1024);
   double petabytes = (terabytes / 1024);
   double exabytes = (petabytes / 1024);
   double zettabytes = (exabytes / 1024);
   double yottabytes = (zettabytes / 1024);

Exemplo 2:



import java.io.File;

public class ClassTeste
{
public static void main(String[] args) {
File file = new File("c:\\Temp\\teste01.xlsx");
if (file.exists()) {
double bytes = file.length();
System.out.println("O tamanho em " + bytes + " em bytes");
System.out.println("O tamanho em " + bytes / 1024 + " em kilobytes");
} else {
System.out.println("O arquivo não existe");
}
}
}


A saída seria:

O tamanho em 20620.0 em bytes
O tamanho em 20.13671875 em kilobytes

sexta-feira, 2 de dezembro de 2016

Convertendo Data para Calendar em java

O principal objetivo deste post é explicar faz a transição de datas entre o tipo Data e Calendar.


1º Maneira

Utilizando a instancia do tipo date.

Calendar cal = Calendar.getInstance();
cal.setTime(date);

Exemplo:

public static void main(String args[]){
Date data = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(data);
System.out.println(cal));
}


2º Maneira


Utilizando o atributo getTime:

Calendar cal = Calendar.getInstance();

cal.setTimeInMillis(date.getTime());

Exemplo:

public static void main(String args[]){
Date data = new Date();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(data.getTime());
System.out.println(cal);
}

segunda-feira, 29 de fevereiro de 2016

Diferença entre replaceAll e replace na classe String em java

Introduçao


O principal objetivo desta dica é explicar de maneira simples e rápida a diferença entre os métodos replace e replaceAll da classe String em java.

Diferença entre os métodos

Ambos os métodos tem a função de substituir um conjunto de caracteres por outro conjunto de caracteres, porém a diferença entre eles consiste no fato do método replaceAll utilizar expressão regular (regex) para encontrar o grupo de caracteres, já o replace utiliza somente o grupo em si como filtro.

Sintaxe do replace:

string.replace("conteudo_original","conteudo_substituir");

Onde:


  • conteudo_original - Conjunto de caracteres que será buscado para substituição por conteudo_subsituir.
  • conteudo_substituir - Conteudo que fará a substituição do conteudo_original.


Sintaxe do replaceAll:

string.replace("expressao","conteudo_substituir");

Onde:





  • expressao - Expressão que será utilizado para a substituição por conteudo_subsituir.
  • conteudo_substituir - Conteudo que fará a substituição do resultado da busca da expressao.



Exemplo:

Abaixo é possível ver um exemplo utilizando os dois métodos para buscar o conteúdo em questão.


public class Main {

public static void main(String args[]) {

  String text = "verdura verde  verdinho";
  System.out.println("Com replace: "+text.replace("verde",   "amarelo"));
  System.out.println("Com replaceAll: "+text.replaceAll("verd[iu]",   "AMARELO"));
}
}


Saída:

Com replace: verdura amarelo  verdinho
Com replaceAll: AMARELOra verde  AMARELOnho

terça-feira, 16 de fevereiro de 2016

Convertendo Matriz para Lista em Java e Lista para Matriz

 Introdução


O principal objetivo desta dica é explicar de maneira simples e rápida como se converter uma matriz em java para uma lista e de uma lista para uma matriz.


Matris para List

Para convertemos de uma matriz para uma lista utilizaremos a classe java.util.Arrays.

Sintaxe:

List list = Arrays.asList(matris);


Onde:


  • tipo - Tipo da lista caso exista algum especifico.
  • matris - Matris de objetos.


Exemplo:

import java.util.Arrays;
import java.util.List;

public class ConvertorExemplo {
public static void main(String[] args)
  {
      String[] nomes = {"julio", "marcos", "james", "mary", "john"};
      List listaNomes = Arrays.asList(nomes);
      for (String e : listaNomes)
      {
        System.out.println(e);
      }
  }

}


A saída da execução de programa seria:

julio
marcos
james
mary
john


List para matris


Para convertermos um List para uma matriz basta utilizar o método toArray(T[] t) existente já na classe List.

Sintaxe:


      Tipo_objeto[] nomes = listaNomes.toArray(new Tipo_objeto[tamanho_lista]);

Onde:




  • Tipo_objeto - Tipo de objeto da matriz ao qual a lista será convertida.

Exemplo:


import java.util.ArrayList;
import java.util.List;

public class ConvertorExemplo {
public static void main(String[] args)
  {

List listaNomes = new ArrayList();
      listaNomes.add("julio");
      listaNomes.add("marcos");
      listaNomes.add("james");
      listaNomes.add("mary");
      listaNomes.add("john");
   
      String[] nomes = listaNomes.toArray(new String[listaNomes.size()]);
     
      for (String e : nomes)
      {
        System.out.println(e);
      }
  }
}

A saída deste programa seria:

julio
marcos
james
mary
john


quinta-feira, 4 de fevereiro de 2016

Obtendo arquivos de um diretório com java



Introdução

O principal objetivo desta dica é explicar de maneira simples e rápida como se pegar todos arquivos de um diretório em java.

A sintaxes é bem simples basta utilizar o método listFiles() da classe java.io.File (assumindo que o arquivo em si é um diretório).

Abaixo é possível ver um exemplo de como utilizar o método listFiles() para exibir todos arquivos do diretório /tmp (no meu caso estou utilizando linux).

Exemplo:


import java.io.File;

public class ListadorDeArquivos {

public static void main(String args[])
{

File file = new File("//tmp");
File[] arquivos = file.listFiles();

if (file.isDirectory()) { // Aqui é verificado se o arquivo é um diretório

 for (File fileTmp : arquivos) {
    System.out.println(fileTmp.getName());
   }
 }

 else
  {
    System.out.println("O arquivo não é um diretório");
   }
 }
}

Nesse exemplo será mostrado todos arquivos do diretório em questão, mas poderia ser utilizado para qualquer outra finalidade. 



segunda-feira, 1 de fevereiro de 2016

Arredondar e diminuir o número de casas decimais em java

Introdução


O objetivo desta dica é bem simples, que no caso é explicar como se diminui a quantidade de casas decimais de um double exibi em java e também realizar o arredondamento das casas decimais.


Diminuindo a quantidade de casas decimais

Para fazermos diminuição e arredondamento utilizaremos a classe DecimalFormat. Vale lembrar que no casso do arredondamento quando o último digito é maior ou igual a cinco o valor é arredondado para cima caso for menor que cinco o valor é arredondado para baixo. Por exemplo:

O valor 3.355  arredondado seria 3.36.

O valor 3.343 arredondado seria 3.34.

Sintaxe:

private DecimalFormat formatador = new DecimalFormat(formato);


Onde:

formato - Formato do retorno em string ex: "0.00"


Exemplo:

import java.text.DecimalFormat;

public class Teste {

public static void main(String args[]) {
double numero = 1.9851008;
DecimalFormat formatador = new DecimalFormat("0.00");
System.out.println("Número antes da formatação: " + numero);
System.out.println("Número depois formatação: " + formatador.format(numero));
}

}

Saída padrão:

Número antes da formatação: 1.9851008

Número depois formatação: 1,99

Nesse exemplo o valor 1.9851008 foi arredondado para 1,99  por que o número 1.9851008 era maior que 5.



sexta-feira, 15 de janeiro de 2016

Como pegar todas fontes em java

Resumo

...
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();

Font[] fonts = e.getAllFonts();
...

Introdução


O principal objetivo desta dica é explicar de maneira simples e rápida a maneira de adquirir todas as fontes registradas em seu computador utilizando java.

Abaixo é exibido o código que faz tal façanha:

import java.awt.Font;
import java.awt.GraphicsEnvironment;

public class MainClass {
public static void main(String[] args) {

GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = e.getAllFonts();

for (Font fontTmp : fonts) {
System.out.println(fontTmp.getFontName());
}
}
}

Saída da execução do código fonte acima, não coloquei todas as fontes exibidas, mas já é  possível entender a ideia do código acima:

Serif
SansSerif
Monospaced
Dialog
DialogInput
AlBayan
AlBayan-Bold
AlNile
AlNile-Bold
AlTarikh
AmericanTypewriter
AmericanTypewriter-Bold
AmericanTypewriter-Condensed
AmericanTypewriter-CondensedBold
AmericanTypewriter-CondensedLight
AmericanTypewriter-Light
AndaleMono
Apple-Chancery
AppleBraille
AppleBraille-Outline6Dot
AppleBraille-Outline8Dot
AppleBraille-Pinpoint6Dot
AppleBraille-Pinpoint8Dot
AppleColorEmoji
AppleGothic
AppleMyungjo
AppleSDGothicNeo-Bold
AppleSDGothicNeo-ExtraBold
AppleSDGothicNeo-Heavy
AppleSDGothicNeo-Light
AppleSDGothicNeo-Medium
AppleSDGothicNeo-Regular
AppleSDGothicNeo-SemiBold
AppleSDGothicNeo-Thin
AppleSDGothicNeo-UltraLight
AppleSymbols
Arial-Black

Arial-BoldIt
....