logo

Introdução ao Java

Java é uma linguagem de programação orientada a objetos e baseada em classes. A linguagem foi projetada para ter o mínimo possível de implementações de dependências. A intenção de usar esta linguagem é aliviar os desenvolvedores de escrever códigos para cada plataforma. O termo WORA, escreva uma vez e execute em qualquer lugar é frequentemente associado a esta linguagem. Isso significa que sempre que compilamos um código Java, obtemos o código de bytes (arquivo .class), e que pode ser executado (sem compilar novamente) em diferentes plataformas, desde que suportem Java. No ano de 1995, a linguagem Java foi desenvolvida. É usado principalmente para desenvolver dispositivos web, desktop e móveis. A linguagem Java é conhecida por seus recursos de robustez, segurança e simplicidade. Isso foi projetado para ter o mínimo possível de dependências de implementação.

História

A linguagem Java tem uma história muito interessante. Patrick Naughton, Mike Sheridan e Jame Gosling, conhecidos como equipe Verde, iniciaram o desenvolvimento de Java no ano de 1991. Essas pessoas eram os engenheiros da Microssistemas Sun . Em 1996, a primeira implementação pública foi lançada como Java 1.0. O compilador do Java 1.0 foi reescrito por Arthur Van Hoff para cumprir rigorosamente suas especificações. Com a introdução do Java 2, as novas versões possuem múltiplas configurações diferentes que foram construídas para as diversas plataformas. É importante notar que James Gosling também é conhecido como o pai do Java.

idade de hrithik roshan

O órgão padrão ISO foi abordado pela Sun Microsystems no ano de 1997 para formalizar o Java, mas o processo foi retirado logo. A certa altura, a Sun Microsystems forneceu a maior parte de sua implementação de Java disponível sem nenhum custo, apesar de ter o status de software proprietário.

Programas aplicativos

A implementação de um programa aplicativo em aplicativo Java inclui as seguintes etapas.

  1. A criação do programa (escrevendo o código)
  2. A compilação do programa.
  3. Executando o código compilado.

Vale ressaltar aqui que o JDK (Java Development Kit) deve estar instalado corretamente no sistema e o caminho também deve ser definido.

O programa Criação

O programa Java pode ser escrito usando um editor de texto (Notepad++ ou NotePad ou outros editores também farão o trabalho) ou IDE (Eclipse, NetBeans, etc.).

Nome do arquivo: TestClass.java

 public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } } 

Escreva o código acima e salve o arquivo com o nome TestClass. O arquivo deve ter o .Java extensão.

A compilação do programa

Abra o prompt de comando e digite javac TestClass.java . javac é o comando que faz o compilador Java entrar em ação para compilar o programa Java. Após o comando, devemos colocar o nome do arquivo que precisa ser compilado. No nosso caso, é TestClass.java . Após digitar, pressione o botão Enter. Se tudo correr bem, será gerado um arquivo TestClass.class que contém o código de bytes. Se houver algum erro no programa, o compilador irá apontá-lo e TestClass.class não será criado.

Executando / Executando o programa

Depois que o arquivo .class for criado, digite classe de teste java para executar o programa. A saída do programa será mostrada no console, mencionado a seguir.

Saída:

 Hello World is my first Java Program. 

O nome Java

Inicialmente, o nome carvalho foi dado à língua. Porém, a equipe decidiu que um novo nome deveria ser dado à linguagem, e foram sugeridas palavras como DNA, revolucionário, Jolt, Dynamic, Silk, etc. Todos esses nomes eram divertidos de dizer e fáceis de soletrar. Mas o que faltou foi a essência da linguagem nos nomes sugeridos, que a equipe queria ter. De acordo com James Gosling, Java e Silk eram duas das opções mais populares e, como Java tinha um nome exclusivo, a maioria das pessoas o preferia.

Java também é o nome de uma ilha na Indonésia onde o café (chamado Java Coffee) era produzido. O nome Java foi escolhido por James Gosling porque ele estava tomando café perto de seu escritório. Os leitores devem observar que Java não é um acrônimo. É apenas um nome.

As terminologias em Java

JVM (Máquina Virtual Java): JVM é a especificação que facilita o ambiente de execução no qual ocorre a execução do bytecode Java. Sempre que alguém usa o comando Java, uma instância da JVM é criada . JVM facilita a definição da área de memória, conjunto de registros, formato de arquivo de classe e relatório de erros fatais. Observe que a JVM depende da plataforma.

Código de bytes: Já foi discutido na parte introdutória que o compilador Java compila o código Java para gerar o arquivo .class ou o código de bytes. É preciso usar o javac comando para invocar o compilador Java.

Kit de Desenvolvimento Java (JDK): É o Java Development Kit completo que abrange tudo, incluindo JRE (Java Runtime Environment), compilador, java docs, depuradores, etc. O JDK deve ser instalado no computador para a criação, compilação e execução de um programa Java.

Ambiente de execução Java (JRE): JRE faz parte do JDK. Se um sistema tiver apenas JRE instalado, o usuário só poderá executar o programa. Em outras palavras, apenas o Java comando funciona. A compilação de um programa Java não será possível (o javac comando não funcionará).

Coletor de lixo: Os programadores não conseguem excluir objetos em Java. Para isso, a JVM possui um programa conhecido como Garbage Collector. Os coletores de lixo coletam ou excluem objetos não referenciados. O Garbage Collector facilita a vida de um desenvolvedor/programador, pois ele não precisa se preocupar com gerenciamento de memória.

Caminho de classe: Como o nome sugere, classpath é o caminho onde o compilador Java e o tempo de execução Java procuram o arquivo .class para carregar. Muitas bibliotecas integradas são fornecidas pelo JDK. Porém, se alguém quiser usar bibliotecas externas, ela deverá ser adicionada ao classpath.

Recursos importantes do Java

Plataforma independente: Em vez de gerar diretamente o arquivo .exe, o compilador Java converte o código Java em código de bytes, e esse código de bytes pode ser executado em diferentes plataformas sem nenhum problema, o que torna o Java uma linguagem independente de plataforma. Observe que para executar o código de bytes, a JVM deve estar instalada no sistema, que depende da plataforma.

Linguagem de programação orientada a objetos: O conceito de programação orientada a objetos é baseado no conceito de objetos e classes. Além disso, existem várias qualidades presentes na programação orientada a objetos. Alguns deles são mencionados abaixo.

  • Abstração
  • Herança
  • Polimorfismo
  • Encapsulamento

A linguagem Java também utiliza extensivamente os conceitos de classes e objetos. Além disso, todos esses recursos mencionados acima estão presentes em Java, o que torna Java uma linguagem de programação orientada a objetos. Observe que Java é uma linguagem de programação orientada a objetos, mas não 100% orientada a objetos.

Simples: Java é considerada uma linguagem simples porque não possui o conceito de ponteiros, heranças múltiplas, alocação explícita de memória ou sobrecarga de operador.

Robusto:

A linguagem Java é muito robusta. O significado de robusto é confiável. A linguagem Java é desenvolvida de tal forma que muitas verificações de erros são feitas o mais cedo possível. É por esta razão que esta linguagem pode identificar aqueles erros que são difíceis de identificar em outras linguagens de programação. Tratamento de exceções, coleta de lixo e alocação de memória são os recursos que tornam o Java robusto.

Seguro: Existem vários erros, como estouro de buffer ou corrupção de pilha, que não são possíveis de explorar na linguagem Java. Sabemos que a linguagem Java não possui ponteiros. Portanto, não é possível ter acesso a arrays fora do limite. Se alguém tentar fazer isso, a exceção ArrayIndexOutofBound será gerada. Além disso, a execução dos programas Java acontece em um ambiente totalmente independente do Sistema Operacional, o que torna esta linguagem ainda mais segura.

Distribuído: Aplicativos distribuídos podem ser criados com a ajuda da linguagem Java. Enterprise Java beans e Remote Method Invocation são usados ​​para criar aplicativos distribuídos. A distribuição de programas Java pode acontecer facilmente entre um ou mais sistemas conectados entre si pela internet.

Multithreading: A linguagem Java suporta multithreading. O recurso multithreading suporta a execução de duas ou mais partes do programa simultaneamente. Assim, a utilização da CPU é maximizada.

Portabilidade: Sabemos que Java é uma linguagem independente de plataforma. Assim, o código de bytes gerado em um sistema pode ser levado para qualquer outra plataforma para execução, o que torna o Java portátil.

Desempenho de alto nível: A arquitetura do Java é criada de tal forma que diminui a sobrecarga do tempo de execução. Em alguns lugares, Java usa o compilador JIT (Just In Time) quando o código é compilado sob demanda, onde o compilador está compilando apenas os métodos que são invocados e assim tornando a execução mais rápida das aplicações.

Flexibilidade Dinâmica: A linguagem Java segue o paradigma de programação orientada a objetos, o que nos dá a liberdade de adicionar novos métodos e classes às classes existentes. A linguagem Java também suporta funções mencionadas nas linguagens C/C++ e que geralmente são chamadas de métodos nativos.

Execução do SandBox: É sabido que os programas Java são executados em diferentes ambientes, o que dá liberdade aos usuários para executar suas próprias aplicações sem impactar o sistema subjacente utilizando o verificador de bytecode. O verificador Bytecode também oferece segurança extra, pois verifica o código em busca de violação de acesso.

Escreva uma vez, corra em qualquer lugar: O código Java é compilado pelo compilador para obter o arquivo .class ou o código de bytes, que é completamente independente de qualquer arquitetura de máquina.

Linguagem Compilada e Interpretada: A maioria das linguagens é uma linguagem interpretada ou uma linguagem compilada. Porém, no caso da linguagem Java, ela é compilada assim como a linguagem interpretada. O código Java é compilado para obter o bytecode, e o bytecode é interpretado pelo interpretador baseado em software.

Alguns programas em Java

Alguns programas Java básicos são mencionados abaixo.

Programa - 1

Nome do arquivo: DemoClass.java

 // Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } } 

Saída:

 Welcome to javaTpoint. 

Programa - 2

Nome do arquivo: AddMul.java

 // Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } } 

Saída:

 Sum = 26 Product = 168 

Programa - 3

Nome do arquivo: ComputeAv.java

 // A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } } 

Saída:

 Input the First Number: 4 Input the Second Number: 5 Average = 4.5 

Programa - 4

Nome do arquivo: FahrenheitCelsius.java

 // A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } } 

Saída:

 Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0 

Programa - 5

Nome do arquivo: TriangleArea.java

 // A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } } 

Saída:

 Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016 

Descrição de várias palavras-chave usadas nos programas acima

//: É usado para colocar comentários no código para torná-lo mais legível para os leitores. O compilador ignora completamente os comentários ao compilar o programa. Para comentários de múltiplas linhas, usamos: /* … */

método principal(): O método mais importante do programa onde começa a execução. Portanto, toda a lógica deve residir no método principal. Se o método main() não contém a lógica, então ela estará presente em algum outro método, mas esse método deve ser invocado a partir do método main() direta ou indiretamente.

aula: A palavra-chave class é usada para declarar classe na linguagem Java.

vazio: isso significa que a função ou método não retornará nada.

System.out.println(): É usado para imprimir instruções, padrões, etc., no console.

String argvs[]: É um argumento de linha de comando usado para receber entradas.

público: É uma palavra-chave do especificador de acesso. Quando aplicado a um método, esse método fica visível para todos. Outras palavras-chave do especificador de acesso são private, protected e default.

importar java.io.*: Isso significa que todas as classes presentes no pacote java.io é importado. O pacote java.io facilita os fluxos de saída e entrada para gravação e leitura de dados em arquivos. * significa tudo. Se quiser importar apenas uma classe específica, substitua * pelo nome da classe.

Sistema.in: É o fluxo de entrada utilizado para ler caracteres do dispositivo que fornece entrada, que geralmente é um teclado em nosso caso.

void estático principal(): A palavra-chave static informa que o método pode ser acessado sem fazer a instanciação da classe.

Saída do sistema: Assim como System.in é usado para ler os caracteres, System.out é usado para fornecer o resultado do programa em um dispositivo de saída, como a tela do computador.

duplo, int: Os diferentes tipos de dados, int para os inteiros, double para double. Outros tipos de dados são char, boolean, float, etc.

println(): O método mostra os textos no console. O método imprime o texto na tela e depois passa para a próxima linha. Para a próxima linha, ln é usado. Se não quisermos que o cursor passe para a próxima linha, use o método print().