0% acharam este documento útil (0 voto)
7 visualizações24 páginas

Resumo de Java: Conceitos e Programação

O documento aborda conceitos fundamentais de programação em Java, incluindo a introdução a computadores, linguagens de programação, compilação, e erros comuns. Ele também explora programação elementar, variáveis, operadores, e arrays unidimensionais, além de técnicas de desenvolvimento de software e práticas recomendadas. Exemplos práticos e perguntas de múltipla escolha são fornecidos para reforçar o aprendizado.

Enviado por

firedrop421
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações24 páginas

Resumo de Java: Conceitos e Programação

O documento aborda conceitos fundamentais de programação em Java, incluindo a introdução a computadores, linguagens de programação, compilação, e erros comuns. Ele também explora programação elementar, variáveis, operadores, e arrays unidimensionais, além de técnicas de desenvolvimento de software e práticas recomendadas. Exemplos práticos e perguntas de múltipla escolha são fornecidos para reforçar o aprendizado.

Enviado por

firedrop421
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Resumo Detalhado - Semana 9

Exame Java
Estudo
Resumo do Capítulo 1 - Introdução a Computadores, Programas e Java

1. Objetivos

●​ Compreender conceitos básicos de computadores, sistemas operacionais e


programas.
●​ Entender a relação entre a linguagem Java e a Internet.
●​ Definir termos como API, JDK e IDE.
●​ Criar, compilar e executar um programa em Java.
●​ Compreender erros de sintaxe, de execução e de lógica.
●​ Utilizar boas práticas de estilo e documentação em programação Java.

2. Conceitos Básicos de Computadores

●​ CPU: A unidade central de processamento é o "cérebro" do computador. Processa


instruções e executa cálculos na frequência medida em hertz (GHz atualmente).
●​ Memória: Armazena temporariamente dados e instruções para o CPU. A memória é
volátil, ou seja, perde dados ao desligar o computador.
●​ Dispositivos de armazenamento: Mantêm dados e programas permanentemente
(e.g., discos rígidos, CDs, USBs).
●​ Dispositivos de entrada/saída: Permitem comunicação entre o usuário e o
computador (e.g., teclado, monitor, impressora).
●​ Dispositivos de comunicação: Facilitam a conexão em redes (e.g., modems,
placas de rede).

3. Linguagens de Programação

●​ Linguagem de máquina: Binária, difícil de ler e modificar.


●​ Linguagem de montagem (assembly): Facilita a leitura, mas precisa ser convertida
para código de máquina.
●​ Linguagem de alto nível (Java): Próxima do inglês, facilita a programação e
manutenção.
4. Compilação e Interpretação de Código

●​ Interpretação: Tradução e execução de cada linha de código em tempo real.


●​ Compilação: Tradução de todo o código-fonte para código de máquina (bytecode
em Java), que pode ser executado em qualquer plataforma com a JVM.

5. Por que Java?

●​ Independente de plataforma: O código Java compilado em bytecode pode rodar


em qualquer sistema com JVM.
●​ Distribuído: Ideal para aplicações na Internet e sistemas em rede.
●​ Orientado a Objetos: Java facilita a modularização e reutilização de código.
●​ Seguro e robusto: Oferece mecanismos para evitar erros e garantir segurança na
execução.

6. Ferramentas de Desenvolvimento (IDEs)

●​ NetBeans e Eclipse são populares para desenvolver aplicações em Java.

7. Erros de Programação

●​ Erro de Sintaxe: Detectado pelo compilador (e.g., falta de ponto e vírgula).


●​ Erro de Execução: Ocorre durante a execução do programa (e.g., divisão por zero).
●​ Erro Lógico: Gera resultados inesperados, mas o programa roda sem falhas.

Exemplo Simples em Java

public class Welcome {


public static void main(String[] args) {
[Link]("Welcome to Java!");
}
}

Este exemplo mostra como imprimir uma mensagem no console utilizando a estrutura
básica de um programa Java.
Perguntas de Múltipla Escolha e Fill in the Blank

Múltipla Escolha

1.​ What is the purpose of the CPU?


○​ a) Store data permanently
○​ b) Execute program instructions
○​ c) Display graphical information
○​ d) Connect to a local network
2.​ What is the result of an interpreted program?
○​ a) It is translated and executed line by line.
○​ b) It is compiled into machine code.
○​ c) It runs directly on hardware without JVM.
○​ d) It cannot run on multiple platforms.
3.​ Which tool translates the entire source code into a machine-code file?
○​ a) Assembler
○​ b) Interpreter
○​ c) Compiler
○​ d) Debugger
4.​ Which error occurs when the program runs but produces an incorrect result?
○​ a) Syntax error
○​ b) Runtime error
○​ c) Logic error
○​ d) Compilation error
5.​ Which of the following is a characteristic of Java?
○​ a) Java is only used for web development.
○​ b) Java is platform-dependent.
○​ c) Java programs run directly on hardware.
○​ d) Java is object-oriented.
6.​ What is the role of the JDK (Java Development Kit)?
○​ a) To execute Java bytecode.
○​ b) To provide tools for developing Java programs.
○​ c) To connect Java applications to the Internet.
○​ d) To design graphical user interfaces.
Fill in the Blank

1.​ A computer’s memory is considered __________ because it loses its content when
the power is off.
2.​ Java programs are compiled into __________, which can run on any platform with a
JVM.
3.​ An IDE like __________ or __________ helps developers write, compile, and debug
Java programs.
4.​ Java programs are translated into a special type of machine code called
__________.
5.​ The software that interprets Java bytecode and allows it to run on any platform is
called the __________.
6.​ A __________ is a software that converts high-level code into machine code, which
the computer can execute.
Respostas

Múltipla Escolha

1.​ b) Execute program instructions


2.​ a) It is translated and executed line by line.
3.​ c) Compiler
4.​ c) Logic error
5.​ d) Java is object-oriented
6.​ b) To provide tools for developing Java programs

Fill in the Blank

1.​ volatile
2.​ bytecode
3.​ NetBeans, Eclipse
4.​ bytecode
5.​ JVM
6.​ compiler
Resumo do Capítulo 2 - Programação Elementar

1. Motivação

Neste capítulo, você aprenderá como resolver problemas práticos com Java. Os tópicos
incluem tipos primitivos, variáveis, operadores, entrada/saída, e desenvolvimento de
programas simples.

2. Objetivos do Capítulo

●​ Escrever programas Java para cálculos simples.


●​ Obter entrada do console com a classe Scanner.
●​ Nomear variáveis, constantes e classes seguindo convenções.
●​ Usar operadores e expressões matemáticas.
●​ Manipular tipos numéricos primitivos como int, float, double.
●​ Trabalhar com incrementos e decrementos, operadores de atribuição e casting de
tipos.
●​ Aplicar boas práticas de desenvolvimento com exemplos simples.

3. Variáveis e Constantes
Variáveis: Usadas para armazenar dados temporários. Devem ser declaradas antes de​
int x = 5;
double radius = 2.5;

●​

Constantes: São valores imutáveis durante a execução. Definidas com a palavra-chave


final. Exemplo:​

final double PI = 3.14159;

●​
4. Entrada com Scanner

Para ler dados do usuário no console:

Scanner input = new Scanner([Link]);


int value = [Link](); // Lê um inteiro
double d = [Link](); // Lê um número decimal

5. Operadores Matemáticos

●​ Aritméticos: +, -, *, /, % (resto).
●​ Exponenciação: Utiliza [Link](base, expoente). Exemplo: [Link](2,
3) resulta em 8.

6. Incremento e Decremento

●​ Pré-incremento (++i): Incrementa antes de usar o valor.

Pós-incremento (i++): Usa o valor atual e depois incrementa. Exemplo:​


java​
Copiar código​
int i = 1;
int j = ++i; // j = 2, i = 2
int k = i++; // k = 2, i = 3

●​

7. Casting de Tipos

●​ Casting implícito: Converte tipos menores para maiores automaticamente.


Exemplo: double d = 3; (converte int para double).
Casting explícito: Precisa ser especificado. Exemplo:​

int i = (int) 3.9; // Trunca para 3

●​

8. Erro de Divisão por Inteiros

A divisão entre dois inteiros retorna um resultado inteiro. Exemplo:

int result = 5 / 2; // Resultado: 2

Para evitar erros, use pelo menos um número decimal:

double result = 5.0 / 2; // Resultado: 2.5

9. Processo de Desenvolvimento de Software

●​ Especificação de Requisitos: Entender e documentar o problema.


●​ Análise e Design do Sistema: Planejar a arquitetura e definir classes e interfaces.
●​ Implementação: Escrever e testar o código.
●​ Testes: Validar se o sistema atende aos requisitos.
●​ Manutenção: Corrigir erros e adaptar o software.

10. Erros Comuns

●​ Variáveis não inicializadas: Usar uma variável sem atribuir valor.


●​ Overflow: Quando um valor excede o limite de armazenamento do tipo.
●​ Erros de arredondamento: Em operações com ponto flutuante.

Exemplo de Programa - Cálculo da Área de um Círculo

public class ComputeArea {


public static void main(String[] args) {
double radius = 20;
double area = radius * radius * 3.14159;
[Link]("The area for the circle of radius " +
radius + " is " + area);
}
}

Com este resumo, você tem uma visão abrangente dos conceitos abordados no Capítulo 2.
Agora vamos praticar com algumas perguntas!

Perguntas e Respostas - Capítulo 2

Múltipla Escolha

1.​ What will be the result of the following code?​



int result = 5 / 2;
[Link](result);

○​ a) 2.5
○​ b) 2
○​ c) 2.0
○​ d) Error

2.​ What is the value of x after the following code executes?​



int x = 5;
int y = ++x;

○​ a) 5
○​ b) 6
○​ c) 7
○​ d) 4

3.​ What is the result of the following expression?​



[Link](10 % 3);
○​ a) 0
○​ b) 1
○​ c) 2
○​ d) 3
4.​ What happens if you try to store a value larger than the range of the variable's
type?
○​ a) A syntax error occurs.
○​ b) The program will crash.
○​ c) An overflow occurs, and the value wraps around.
○​ d) The program will ignore the assignment.

5.​ What will be printed by the following code?​



[Link](1.0 / 2);
○​ a) 0
○​ b) 0.5
○​ c) 1
○​ d) Error

Fill in the Blank

1.​ To read user input from the console, you can use the __________ class.
2.​ The operator used to calculate the remainder of a division is __________.
3.​ In Java, a variable declared as final is called a __________.
4.​ The __________ operator can be used to raise a number to a specific power in Java.
5.​ The process of converting a higher data type to a lower one explicitly is called
__________.
Múltipla Escolha

1.​ b) 2
2.​ b) 6
3.​ b) 1
4.​ c) An overflow occurs, and the value wraps around.
5.​ b) 0.5

Fill in the Blank

1.​ Scanner
2.​ %
3.​ constant
4.​ [Link](X, Y)
5.​ casting
Resumo do Capítulo 7 - Arrays Unidimensionais

1. Introdução aos Arrays

Um array é uma estrutura de dados que armazena uma coleção de elementos do mesmo
tipo. Ele facilita o armazenamento e acesso eficiente de dados em massa, como uma lista
de números ou strings.

2. Declaração e Criação de Arrays


Declaração:​

int[] numbers; // Declaração

●​

Criação:​

numbers = new int[10]; // Cria um array com 10 posições

●​

É possível combinar as duas operações:

int[] numbers = new int[10];

3. Acessando Elementos de um Array


Os elementos de um array são acessados por índices, que começam em 0.​
Exemplo:​

numbers[0] = 5; // Atribui 5 ao primeiro elemento
int x = numbers[1]; // Acessa o segundo elemento

●​

4. Inicialização Rápida de Arrays


Inicialização direta:​

double[] myList = {1.2, 3.4, 5.6};

●​

Este método é equivalente a:

double[] myList = new double[3];


myList[0] = 1.2;
myList[1] = 3.4;
myList[2] = 5.6;

5. Comprimento e Valores Padrão

●​ O tamanho do array é fixo após a criação e pode ser acessado usando


[Link].
●​ Valores padrão:
○​ 0 para tipos numéricos.
○​ false para booleanos.
○​ '\u0000' para caracteres.

6. Loop For-each

O loop for-each simplifica a iteração sobre arrays:

for (double value : myList) {


[Link](value);
}

7. Operações Comuns em Arrays


Soma de Elementos:​

double sum = 0;
for (double value : myList) {
sum += value;
}

●​

Encontrar o Maior Valor:​



double max = myList[0];
for (int i = 1; i < [Link]; i++) {
if (myList[i] > max) max = myList[i];
}

●​

Embaralhar Elementos Aleatoriamente:​



for (int i = 0; i < [Link]; i++) {
int j = (int)([Link]() * [Link]);
double temp = myList[i];
myList[i] = myList[j];
myList[j] = temp;
}

●​

8. Passagem de Arrays para Métodos

Em Java, os arrays são passados por referência, ou seja, modificações feitas no array
dentro do método afetam o array original.

public static void modifyArray(int[] list) {


list[0] = 100;
}
9. Pesquisa em Arrays
Pesquisa Linear: Verifica todos os elementos até encontrar o valor desejado.​

public static int linearSearch(int[] list, int key) {
for (int i = 0; i < [Link]; i++) {
if (list[i] == key) return i;
}
return -1;
}

●​

Pesquisa Binária: Requer que o array esteja ordenado.​



public static int binarySearch(int[] list, int key) {
int low = 0, high = [Link] - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (list[mid] == key) return mid;
else if (list[mid] < key) low = mid + 1;
else high = mid - 1;
}
return -1;
}

●​

10. Ordenação de Arrays


Selection Sort: Encontra o menor elemento e o move para o início.​

public static void selectionSort(double[] list) {
for (int i = 0; i < [Link]; i++) {
double min = list[i];
int minIndex = i;
for (int j = i + 1; j < [Link]; j++) {
if (list[j] < min) {
min = list[j];
minIndex = j;
}
}
if (minIndex != i) {
double temp = list[i];
list[i] = list[minIndex];
list[minIndex] = temp;
}
}
}

●​

11. Arrays Anônimos

Um array anônimo é criado sem uma variável de referência:

printArray(new int[]{1, 2, 3, 4});

Exemplo Completo - Soma dos Elementos de um Array

import [Link];

public class SumArray {


public static void main(String[] args) {
Scanner input = new Scanner([Link]);
double[] myList = new double[5];

[Link]("Enter " + [Link] + " values: ");


for (int i = 0; i < [Link]; i++) {
myList[i] = [Link]();
}

double sum = 0;
for (double value : myList) {
sum += value;
}

[Link]("The sum is " + sum);


}
}

erguntas e Respostas - Capítulo 7

Múltipla Escolha

1.​ What is the default value of an element in an int array?


○​ a) 1
○​ b) 0
○​ c) null
○​ d) NaN
2.​ How are array elements accessed in Java?
○​ a) Using parentheses ()
○​ b) Using curly braces {}
○​ c) Using square brackets []
○​ d) Using angle brackets <>
3.​ What happens if you try to access an index that is out of the array's bounds?
○​ a) The element at index 0 is returned.
○​ b) The program skips that index silently.
○​ c) A runtime exception occurs.
○​ d) The value null is returned.
4.​ Which loop is recommended to traverse arrays if you don’t need the index?
○​ a) while loop
○​ b) for-each loop
○​ c) traditional for loop
○​ d) do-while loop
5.​ What is a valid way to initialize an array with values?
○​ a) int[] array = {1, 2, 3};
○​ b) int array = new int[3]{1, 2, 3};
○​ c) int array[] = (1, 2, 3);
○​ d) int[] array(1, 2, 3);
Fill in the Blank

1.​ Array elements in Java are accessed using __________ brackets.


2.​ A __________ exception occurs when accessing an array element out of bounds.
3.​ The __________ search algorithm divides the search space in half at each step.
4.​ The __________ loop in Java is ideal for traversing all elements in an array
sequentially.
5.​ Arrays in Java are passed to methods by __________.

Múltipla Escolha

1.​ b) 0
2.​ c) Using square brackets []
3.​ c) A runtime exception occurs
4.​ b) for-each loop
5.​ a) int[] array = {1, 2, 3};

Fill in the Blank

1.​ square
2.​ runtime
3.​ binary
4.​ for-each
5.​ reference
Resumo do Capítulo 8 - Arrays Multidimensionais

1. Introdução aos Arrays Multidimensionais

●​ Arrays multidimensionais permitem organizar dados em forma de tabelas ou


matrizes.
●​ Um array bidimensional é utilizado para representar dados organizados em linhas
e colunas, como uma planilha ou um tabuleiro de jogo.

2. Declaração e Criação de Arrays Bidimensionais


Declaração:​

int[][] matrix;

●​

Criação:​

matrix = new int[3][4]; // 3 linhas por 4 colunas

●​

Declaração e criação combinadas:​



int[][] matrix = new int[3][4];

●​

3. Inicialização e Acesso a Elementos


Acessamos os elementos por meio de índices:​

matrix[0][1] = 5; // Atribui 5 ao elemento na primeira linha,
segunda coluna
int value = matrix[2][3]; // Acessa o elemento na terceira linha,
quarta coluna

●​

Também é possível inicializar diretamente:​



int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

●​

4. Arrays Irregulares (Ragged Arrays)


Cada linha de um array bidimensional pode ter comprimentos diferentes:​

int[][] ragged = {
{1, 2, 3},
{4, 5},
{6}
};

●​
●​ Acessamos o comprimento de cada linha usando matrix[i].length.

5. Operações Comuns em Arrays Bidimensionais


Imprimir todos os elementos:​

for (int row = 0; row < [Link]; row++) {
for (int col = 0; col < matrix[row].length; col++) {
[Link](matrix[row][col] + " ");
}
[Link]();
}

●​
Somar todos os elementos:​

int total = 0;
for (int[] row : matrix) {
for (int value : row) {
total += value;
}
}

●​

Soma por coluna:​



for (int col = 0; col < matrix[0].length; col++) {
int sum = 0;
for (int row = 0; row < [Link]; row++) {
sum += matrix[row][col];
}
[Link]("Soma da coluna " + col + ": " + sum);
}

●​

6. Passando Arrays Bidimensionais para Métodos


Os arrays são passados por referência:​

public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int value : row) {
[Link](value + " ");
}
[Link]();
}
}

●​

7. Aplicações Práticas

●​ Validação de Sudoku: Verifica se uma solução do Sudoku é válida, verificando


linhas, colunas e blocos 3x3.
●​ Problema de Ponto mais Próximo: Calcula a distância mínima entre pontos
armazenados em um array bidimensional.
●​ Exemplo de múltiplas escolhas: Armazena respostas de alunos e calcula a
pontuação.

Exemplo de Código:
Gravação de Notas de Alunos:​

public class GradeExam {
public static void main(String[] args) {
char[][] answers = {
{'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'}
};
char[] key = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A',
'D'};

for (int i = 0; i < [Link]; i++) {


int correctCount = 0;
for (int j = 0; j < answers[i].length; j++) {
if (answers[i][j] == key[j]) correctCount++;
}
[Link]("Student " + i + "'s correct count is
" + correctCount);
}
}
}

●​

Você também pode gostar