📜 2. Conceitos Essenciais de Programação
Antes de escrevermos nossa primeira linha de código em Java, é fundamental entender os conceitos que formam a base da programação.
O que é um Algoritmo? 🧠
Um algoritmo é um conjunto finito de diretrizes, como uma receita passo a passo, projetado para resolver um problema específico. Embora o termo seja central na computação, ele se aplica a diversas áreas do conhecimento.
Exemplo prático: Um algoritmo para “Atravessar a rua”.
- Início
- Passo 1: Parar na calçada.
- Passo 2: Olhar para os dois lados.
- Passo 3: Esperar os carros pararem.
- Passo 4: Atravessar a rua.
- Passo 5: Chegar ao outro lado.
- Fim
Na programação, um programa de computador é, em essência, um algoritmo escrito de uma forma que o computador entende e pode executar.
Automação 🤖
Automação é o uso de máquinas para realizar tarefas de forma automática ou semiautomática. O computador é a principal ferramenta para automatizar a execução de algoritmos, especialmente algoritmos computacionais focados em processamento de dados e cálculos.
Computador: Hardware e Software 💻
Um computador é composto por duas partes principais:
- Hardware: São os componentes físicos, a máquina em si (processador, memória, disco rígido).
- Software: É o componente lógico, a parte “inteligível” que comanda o hardware. Inclui:
- Sistema Operacional: O software base que gerencia o hardware (Windows, Linux, macOS).
- Aplicativos: Programas que executam tarefas para o usuário, como navegadores de internet, editores de texto, jogos, etc.
O Que é Preciso Para Programar? 🛠️
Para transformar uma ideia em um programa funcional, precisamos de algumas ferramentas essenciais:
- Linguagem de Programação: Um conjunto de regras para escrever as instruções que o computador seguirá.
- IDE (Ambiente de Desenvolvimento Integrado): Um software que facilita a escrita, o teste e a depuração do código.
- Compilador / Interpretador: Um programa que “traduz” nosso código para uma linguagem que a máquina possa executar.
- Máquina Virtual (em alguns casos): Um software que permite que o programa seja executado em diferentes sistemas operacionais.
#1. Linguagem de Programação
Uma linguagem de programação possui um conjunto de regras léxicas (ortografia) e sintáticas (gramática).
- Análise Léxica (Ortografia): Garante que as “palavras” reservadas da linguagem estão escritas corretamente.
main(Correto) vs.maim(Incorreto)
- Análise Sintática (Gramática): Garante que a ordem e a estrutura das instruções fazem sentido.
x = 2 + y;(Correto) vs.x = + 2 y;(Incorreto)
Existem muitas linguagens, como C, C++, Python, JavaScript e, claro, Java.
#2. IDE (Ambiente de Desenvolvimento Integrado)
Uma IDE é um software que reúne diversas ferramentas para o desenvolvedor, como:
- Editor de código com recursos avançados (autocompletar, destaque de sintaxe).
- Depurador (debugger) para encontrar e corrigir erros.
- Ferramentas para compilar e executar o projeto.
IDEs populares para Java:
- IntelliJ IDEA: Considerada por muitos a mais poderosa e inteligente, com excelente suporte ao ecossistema Java.
- Visual Studio Code (VS Code): Um editor de código leve e extensível que, com o pacote de extensões para Java, se torna uma IDE completa e muito popular.
- Eclipse: Uma IDE clássica e robusta para desenvolvimento Java.
#3. Modelos de Execução de Código
A forma como nosso código fonte (o que escrevemos) se transforma em algo executável varia entre as linguagens.
-
Compilação (Ex: C, C++)
- O código fonte é totalmente traduzido de uma só vez por um compilador, gerando um arquivo executável (código objeto) otimizado para um sistema operacional específico.
- Vantagem: Alta velocidade de execução.
-
Interpretação (Ex: Python, JavaScript)
- O código fonte é lido e executado linha por linha por um interpretador, sem a criação de um arquivo executável separado.
- Vantagens: Mais flexibilidade e o mesmo código fonte pode rodar em diferentes plataformas, contanto que elas tenham o interpretador instalado.
-
Abordagem Híbrida (Ex: Java, C#)
- Esta abordagem combina o melhor dos dois mundos e é a chave para o famoso lema do Java: “Write Once, Run Anywhere” (Escreva uma vez, rode em qualquer lugar).
- Compilação: Primeiro, o código fonte Java é pré-compilado para um formato intermediário chamado bytecode.
- Interpretação: Esse bytecode não é executado diretamente pelo sistema operacional. Em vez disso, ele é executado por um software chamado Máquina Virtual Java (JVM), que é específica para cada sistema operacional.
- Vantagem: Portabilidade. O mesmo arquivo
.jar(contendo o bytecode) pode ser executado em Windows, macOS ou Linux, bastando que a JVM esteja instalada.
Exemplo Prático em Java (Código Fonte):
Este programa calcula a média de dois números. Note como as variáveis foram traduzidas para o português para maior clareza.
package curso;
import java.util.Scanner;
public class ProgramaCalculoMedia {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double x, y, media;
System.out.print("Digite o primeiro numero: ");
x = sc.nextDouble();
System.out.print("Digite o segundo numero: ");
y = sc.nextDouble();
media = (x + y) / 2.0;
System.out.println("Media = " + media);
sc.close();
}
}