Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de JAVA (Curso Básico), Notas de estudo de Análise de Sistemas de Engenharia

Módulo Básico

Tipologia: Notas de estudo

2017

Compartilhado em 20/07/2017

celio-yuji-5
celio-yuji-5 🇧🇷

1 documento

1 / 67

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apostila de JAVA
MÓDULO BÁSICO
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43

Pré-visualização parcial do texto

Baixe Apostila de JAVA (Curso Básico) e outras Notas de estudo em PDF para Análise de Sistemas de Engenharia, somente na Docsity!

Apostila de JAVA

MÓDULO BÁSICO

Capítulo 01

O que é o Java?

O Java é:

  • Uma liguagem de programação;
  • Um ambiente de desenvolvimento;
  • Um ambiente de aplicação;

O Java é resultado de uma busca por uma linguagem de programação que pudesse fornecer uma ligação com o C++, mas com segurança.

Os primeiros objetivos alcançados com desenvolvimento desta nova linguagem foram:

  • Criação de uma linguagem orienta a objetos;

  • Fornecimento de um ambiente de desenvolvimento por dois motivos:

  • Velocidade no desenvolvimento - eliminando o ciclo de compilar-linkar-carregar-testar;

  • Portabilidade do Código - com um interpretador que especifica a forma do nível do sistema operacional. ( Pode rodar em qualquer tipo de sistema operacional);

  • Não tem acesso a ponteiros do sistema operacional;

  • Fornece dinamismo durante a manutenção de programas;

Garbage Collection (Libera uma coleção)

O Java não segura áreas de memória que não estão sendo utilizadas, isto porque ele tem uma alocação dinâmica de memória em tempo de execução. No C e C++ (e em outras linguagens) o programa desenvolvido é responsável pela alocação e desalocação da memória.

Segurança no Código

Os arquivos do Java são compilados e são convertidos de arquivos texto para um formato que contém blocos independentes de bytes codes (Código Intermediário). Em tempo de execução estes bytes codes são carregados, são verificados através do Byte Code Verifier (uma espécie de segurança), passam asseguir para o interpretador e são executados. Caso este código seja acionado diversas vezes, existe um passo chamado JIT Code Generator, que elimina o utilização por demasia do tráfego da rede.

Abra o Notepad e crie o seguinte programa. Salve-o como Prog0101.java

class Prog { public static void main (String arg []) { int a = 5, b = 10; a = a + 5; System.out.println("Meu Primeiro Progama"); System.out.println(" O valor da variavel a = " + a); } }

Após terminar o programa compile-o e execute-o:

C:.....\Javac Progr0101.java

C:.....\ Java Prog

Javac T1.java

T1.class

Class Loader

Byte Code Verifer

Runtime

hardware

Capítulo 02

Comentários

Estes são os três tipos permitidos de coméntarios nos programas feitos em Java:

// comentário de uma linha /* comentário de uma ou mais linhas / /* comentário de documentação */ (Arquivos de documentação)

Ponto e vírgula, Blocos e o espaço em branco

  • No java, os comandos são terminados com o sinal de ponto e vírgula (;)
  • Um bloco tem iníco e tem o seu fim representados pelo uso das chaves {};
  • O uso do espaço em branco permite uma melhor visualização dos comandos e em consequencia facilita a sua manutenção.

Identificadores

Na linguagem Java um identificador é startado com uma letra, undersco ( _ ), ou sinal de dólar ($), e existe uma diferenciação entre letras maiúsculas e minúsculas:

Identificadores válidos:

  • identifier
  • userName
  • User_name
  • _sys_var *$change

Tipos Básicos no Java

No Java existem oitos tipos básicos e um tipo especial.

Tipo Lógico

  • boolean: on e off; true e false ou yes e no.

Tipo Textual

  • char e String

Tipo Ponto Flutuante

Uma variável do tipo ponto flutante pode ser declarada usando a palavar float ou double.

3.14 Um ponto flutuante simples; 6.02E23 Um valor de ponto flutuante largo; 2.718 F Um valor de ponto flutuante simples; 123.4E+306D Um valor de ponto flutuante usando o tipo double.

Convenção de Código no Java

Class - Nomes de classes podem ser maiúsculas ou minúsculas ou misturado (maiúsculas e minúsculas), mas por convenção o nome das classes começam por letra maiúscalas .;

Interfaces - Nomes de Interfaces suportam nomes iguais aos das classes;

Métodos - Nomes de métodos podem ser verbos, podendo misturar entre maiúsculas e minúsculas, sendo entretando a primeira letra maiúscula ;

Constantes - Nomes de constantes podem ser maiúsculas, minúsculas, misturadas, separadas com underscores.

Variáveis - Todas as instancias, classes e variáveis globais suportam maiúsculas e minúsculas.

Controles de Estruturas - Convencionou-se o uso de { } (chaves);

Espaços - Convencionou-se o uso de quatro espaços para identações;

Comentários - Use os comentários para explicar os segmentos de código que não são obvios.

Exercícios:

Exercício 01

class Prog { public static void main (String arg []) { int a = 5, b = 10; a = a + 5; // b = b*2;

Exercício 02

class Prog { public static void main (String arg []) { int a = 5, b = 10; a = a + 5; b = b*2;

System.out.prin } }

O valor da variável x é 11.

Pós-Incremto:

x = 10; x = x + 1; O valor da variável x é 11 ou

x = 10; x++ O valor da variável x é 11.

Diferença entre o Pré-Incremento e o Pós-Incremento:

x = 10 ++x => neste exato momento a variável a vale 11

x = x++ => neste exato momento a variável x vale 10

Separadores:

. [ ] ( ) ; ,

Operadores:

Operadores (^) Descrição == Igualdade != Negação

      • / Aritméticos && e || ou

Concatenação

O operador + é utilizado para concatenar objetos do tipo String, produzindo uma nova String:

String Nome = PrimeiroNome + SegundoNome;

Casting ( Conversão de tipos )

A linguagem Java não suporta conversões arbitrárias de tipos de variáveis. Você deve explicitar a conversão entre tipos de variáveis.

Exemplo:

long bigval = 6; // Operação válida int smallval = 99L; // Operação inválida porque são de tipos diferentes

float z = 12.414F; // Operação válida float zp = 12.414; // Operação inválida porque esta tentando atribuir um valor double.

Convertendo

Long bigValue = 99L; Int squashed = (int)(bigValue);

Controle de Fluxos

Declarações de Fluxos

If, else

if (expressão) // expressão cujo retorno é um valor do tipo boolean { Declarações ou blocos } else // caso a condição anterior não seja satisfeita { Declarações ou blocos }

switch

switch (expressão) // Esta expressão deve ser do tipo int ou char { case cond01: declarações; break; // usado para sair do case. case cond02: declarações; break; case cond03: declarações; break; }

for Loops

Exercícios

Exercício 01

public class Prog

{ public static void main(String arg[ ])

{ int x = (int)(Math.random()*100); int z ; int y ;

if (x > 50) { y = 9; } z = y + x; } }

Exercício 02

public class Prog

{ public static void main(String arg[ ])

{ int x = (int)(Math.random()*100); int z = 0; int y = 0;

if (x > 50) { y = 9; } else {

y = (int)(Math.random() * (3.14)); } z = y + x;

Exercício 03

public class Prog { public static void main(String arg[]) { int valor = (int)(Math.random()*5); switch(valor) { case 0: System.out.println("Primeira Opção (Valor igual a zero)"); break; case 1: System.out.println("Segunda Opção (Valor igual a um)"); break; default: System.out.println("Outras Opções (Valor maior que um)"); break; } } }

Exercício 04

public class Prog { public static void main(String arg[]) { int valor = (int)(Math.random()5); while(valor <> 0) { valor = (int)(Math.random()5); System.out.println("Valor igual a " + valor); } } }

Exercícios

classe Prog { thisArray int; thatArray int; public static void main (String args [ ]) { int[ ] thisArray = {1,2,3,4,5,6,7,8,9,10} for (int i =0; i < thisArray.length; i++) {

} } }

class Prog0402 {

public static void main(String arg[ ]) { int A[] = new int[3]; A[0] = 50; A[1] = 100; A[2] = 150; System.out.println("Tamanho do vetor = " + A.length);

int conta;

for(conta = 0; conta< A.length ; conta++) {System.out.println("indice = " + conta + " valor= " + A[conta] );} } }

Capítulo 05 - Classes e Objetos

1º Nível

2º Nível

3º Nível

n Níveis

Abstração de Tipos de Dados

Quando itens de dados são compostos para tipos de dados, semelhante a uma data, você pode definir um número de bits de programas que especifica a operação do tipo de dados. Em Java você pode criar uma associação entre o tipo data e a operação tomorrow a seguir:

public class Date { private int day, month, year; public void tomorrow( ) { // código que incrementa o dia } }

Definição de Métodos

Em Java, métodos são definidoss usando uma aproximação que é muito similar à usada em outras linguagens, como por exemplo C e C++. A declaração é feita da seguinte forma:

< modifiers > < tipo de retorno > < nome > ( < lista de argumentos > ) < bloco >

Veículos

Veículos de Passeio Veículos de Transporte

Fabricante

Sobrescrevendo Métodos

O Java permite que você tenha métodos com o mesmo nome, mas com assinaturas diferentes. Isto permite a reusabilidade dos nomes dos métodos.

public void print( int i ) public void print( float f ) public void print( String s)

Quando você escreve um código para chamar um desses método, o método a ser chamado será o que coincidir com tipos de dados da lista de parâmetros.

Construtores

O mecanismo de inicialização do Java é automático, ou seja se não incializarmos um construtor, o Java o inicializará automaticamente. Mas existem casos que se faz necessário a declaração explicita dos construtores.

Para escrever um método que chama um construtor, você deve seguir duas regras:

1ª O nome do método precisa ser igual ao nome da classe. 2ª Não deve retornar um tipo declarado para o método.

Subclasses (Relacionadas)

Na classe Pai você deve declarar os objetos comun a todos, e nos sub-níveis (Subclasses), você declara as particulariedades:

public class Employee {

private String name; private Date hireDate; private Date dateOfBirth; private String jobTitle; private int grade;

.......

}

Subclasses (Extensões)

Em linguagens de orientação a objetos, um mecanismo especial é fornecido para que permita ao programa defina classes e termos previstas na definição de outras classes. Esta arquitetura em Java usa a palavra extends.

public class Employee {

private String name; private Date hireDate; private Date dateOfBirth; private String jobTitle; private int grade;

}

public class Manager extends Employee {

private String departament; private Employee [ ] subordinates;

........... }

Herança Simple

Em Java não existe herança múltipla. Em Java os Construtores não são herdados.

Java permite que uma classe extenda uma outra classe, com isso esta classe herda as características da outra classe.

Polimorfismo

A idéia de polimorfismo é a de muitas formas, onde eu posso utilizar uma classe de diversas maneiras e formas possíveis.

public class Employee extends Object

and

public class Manager extends Employee