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


Conceitos básicos de programação em Java, Trabalhos de Interface entre Ciência da Computação e Economia

Este documento aborda conceitos básicos de programação em java, incluindo variáveis, estruturas de controle, loops, classes e objetos, entrada e saída de dados, e manipulação de arquivos. Além disso, é apresentado exemplos de código para ilustrar a aplicação desses conceitos.

Tipologia: Trabalhos

2021

Compartilhado em 08/05/2021

guilherme-reis-uy1
guilherme-reis-uy1 🇧🇷

4 documentos

1 / 64

Toggle sidebar

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

Não perca as partes importantes!

bg1
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.
Durante o ciclo de execução do programa o Java verifica se as variáveis de memória
estão sendo utilizadas, caso não estejam o Java libera automaticamente esta área que não
esta sendo utilizada.
1
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

Pré-visualização parcial do texto

Baixe Conceitos básicos de programação em Java e outras Trabalhos em PDF para Interface entre Ciência da Computação e Economia, somente na Docsity!

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. Durante o ciclo de execução do programa o Java verifica se as variáveis de memória estão sendo utilizadas, caso não estejam o Java libera automaticamente esta área que não esta sendo utilizada.

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

O literal do tipo char pode ser representado com o uso do (‘ ‘). ‘\n’ – nova linha ‘\r’ – enter ‘\u????’ – especifica um caracter Unicode o qual é representado na forma Hexadecimal. ‘\t’ – tabulação ‘\’ -
‘\” ”’ - “” O tipo String, como não é primitivo, é usado para representar uma seqüência de caracteres. Palavras Reservadas abstract do implements private throw boolean double import protected throws breaak else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this Tipo Integral – byte, short, int e long Existem quatro tipos de integral: Tamanho da Integral Nome ou Tipo Espaço 8 bits byte -2^7.... 2^7 - 1 16 bits short -2^15.... 2^15 - 1 32 bits int -2^31.... 2^31 - 1 64 bits long -2^63.... 2^63 - 1

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.

Capítulo 03 Variáveis e Tempo de vida Você tem dois meios para descrever variáveis: usando o tipo simples de ligação int e float ou usando tipos de classes definidas pelo programa. Você pode declarar variáveis de duas formas, uma dentro de um método e a outra dentro da classe a qual este método está incluído. Inicialização de variáveis No Java não é permitido o uso de variáveis indefinidas. Variáveis definidas dentro do método são chamadas de variáveis automáticas, locais, temporárias ou estáticas e devem ser inicializadas antes do uso. Quando um objeto é criado, as variáveis membro são inicializadas com os seguintes valores em tempo de alocação: Tipo de variável (^) Valor inicial Tamanho byte 0 8 bits short 0 16 bits int 0 32 bits long 0L 64 bits float 0.0f 32 bits Double 0.0d 64 bits Char ‘\u0000’ (Null) 64 bits Boolean false Operadores No Java os operadores são muito similares ao estilo e funcionalidade de outras linguagens como por exemplo o C e o C++. Pré-incremento: x = 10; x = x + 1; O valor da variável x é 11 ou x = 10; ++x

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 PrimeiroNome = “Antonio”; String SegundoNome = “Carlos”; String Nome = PrimeiroNome + SegundoNome; Casting ( Conversão de tipos )

Declarações ou blocos; } w hile Loops while(condição_boolean) { Declarações ou blocos; } do Loops do { Declarações ou blocos; } while(condição_boolean);

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 { System.out.println(“O valor de x é menor que 50”); y = (int)(Math.random() * (3.14)); } z = y + x; System.out.println(“O valor da variável x = ” + x); System.out.println(“O valor da variável y = ” + y);

Capítulo 04 - Arrays Declaração de Arrays char s [ ]; Point p [ ]; Em Java um Array é uma classe. Criando um Array Você pode criar arrays, ligando-o a todos os objetos, usando a palavra new, da seguinte forma: s = new char[20]; p = new Point[100]; String names[ ]; names = new String[4]; names[0]= “Georgina”; names[1]=“Jen”; names[2]=“Simon”; names[3]= “Tom”; ou String names[ ]; names = new String[4]; String names [ ] = { “Georgina”, “Jean”, “Simon”, “Tom”}; Arrays Multi-dimencionais Java não possui arrays multi-dimencionais, mas ele permite declarar um array que é baseado em um outro array. int twoDim [ ] [ ] = new int [4] [ ] ; twoDim[0] = new int [5] ; twoDim[1] = new int [5] ;

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++) { System.out.println( “ Conteúdo do Array “ + thisArray[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] );} } }

< modifiers > -> segmento que possue os diferentes tipos de modificações incluíndo public , protected e private. < tipo de retorno > -> indica o tipo de retorno do método. < nome > -> nome que identifica o método. < lista de argumentos > -> todos os valores que serão passados como argumentos. public void addDays (int days) Passagem de Valores Em Java o único argumento passado é “by-value”; este é um argumento may not be changed do método chamado. Quando um objeto é criado, é passado um argumento para o método e o valor deste argumento é uma referência do objeto. O conteúdo do objeto passível de alteração é chamado do método, mas o objeto referenciado jamais é alterado. A Referência This É aplicado a métodos não estáticos. O Java associa automaticamente a todas as variáveis e métodos referenciados com a palavara this. Por isso, na maioria dos casos torna-se redundante o uso em todas as variáveis da palavra this. Existem casos em se faz necessário o uso da palavar this. Por exemplo, você pode necessitar chamar apenas uma parte do método passando uma instância do argumento do objeto. (Chamar um classe de forma localizada); Birthday bDay = new Birthday(this); Ocultando Dados Usando a palavra private na declaração de day, month e year na classe Date, você impossibilitará o acesso a estes membros de um código fora desta classe. Você não terá permissão para atribuir valores, mas poderá comparar valores. Encapsulamento É uma proteção adicional dos dados do objeto de possíveis modificações impróprias, forçando o acesso a um nível mais baixo para tratamento do dados. 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)

Usando esta aproximação você pode escrever métodos que aceitam um objeto genérico. O uso do polimorfismo fornece uma série de facilidades. public TaxRate findTaxRate( Employee e) { Manager m = new Manager( );

....... TaxRate t = findTaxRate(m); Isto é possível porque um Gerente é um empregado. Uma coleção heterogênea é uma coleção de coisas diferentes. Em linguagem orientada a objetos, você pode criar uma coleção de coisas que tem uma classe de antepassados comuns. Assim nós poderemos fazer isso. Employee [ ] staff = new Employeee [ 1024 ]; staff[ 0 ] = new Manager ( ); staff[ 1 ] = new Employee ( ); E assim sucessivamente nos podemos escrever um método de tipos que põe empregados ordenados por idade ou em ordem salarial sem ter que se preocupar com a ordem de inserção. O Operador instanceof Fornece o dado que você adquiriu através da passagem de parâmetros. Caso você receba um object por referência do tipo Employee, esta referência poderia não ser mostrado para Manager. Se você quiser testar isso use instanceof. public void method(Employee e) { if (e instanceof Manager) { } else if ( e instanceof Contractor) { } else { } } Objetos Lançados

Em circunstâncias onde você recebeu uma referência para uma classe pai, e você determinou que o objeto é de fato uma subdivisão de classe particular usando o operador de instanceof, você pode restabelecer a funcionalidade completa do objeto lançado. Sobre-escrevendo Métodos O Java permite que você declare métodos na classe pai e não desenvolva nenhuma lógica dentro desses métodos, permitindo com isso que o desenvolvimento desses métodos venha a ser trabalhados dentro das sub-classes posteriores. Class Funcionario( ) ler( ) Class Motorista( ) ler ( ) Super.ler( ) -> Referencia o método da classe pai Comparando Java com outras Linguagens Em C++ você pode adquirir este comportamento, desde que você marque o método como virtual na fonte. Classes se agrupando - Pacotes Java provê o mecanismo de pacotes como um modo de se agrupar classes relacionadas. Tão longe, todos nossos exemplos pertencem à falta ou pacotes não mencionados.