Java | Algoritimos

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Java | Algoritimos por Mind Map: Java | Algoritimos

1. Estrutura Sequencial

1.1. Entrada de dados

1.1.1. Scanner

1.1.1.1. next()

1.1.1.2. nextLine()

1.1.1.3. nextInt()

1.1.1.4. nextByte()

1.1.1.5. nextLong()

1.1.1.6. nextFloat()

1.1.1.7. nextDouble()

1.1.1.8. next().charAt(0)

1.1.1.8.1. recebe variáveis to tipo char

1.2. Estrutura de saída

1.2.1. println

1.2.2. printf

1.2.3. print

1.3. Funções matemáticas

1.3.1. Math.ceil(x) --> arredonda real acima

1.3.2. Math.cos(x) --> cosseno

1.3.3. Math.exp(x) --> logaritmo natural elevado a pot

1.3.4. Math.abs(x) --> valor absoluto

1.3.5. Math.floor(x) --> real abaixo

1.3.6. Math.log(x)

1.3.7. Math.log10(x) --> log a base 10 de x

1.3.8. Math.pow(x, y) --> pot de x elevado a y

1.3.9. Math.sin(x) --> calcula o seno de x

1.3.10. Math.sqrt(x) --> calcula a raiz

1.3.11. Math.cbrt(x) --> calcula a raiz cúbica

1.3.12. Math.tan(x) --> calcula a tangente

1.3.13. Math.PI

1.3.14. Math.toDegrees(x) --> converte rad para graus

1.3.15. Math.toRadians(x) --> converte graus para rad

1.3.16. Converter para inteiro

1.3.16.1. intValue();

2. Palavras Reservadas

2.1. Modificadores de Acesso

2.1.1. private: acesso apenas dentro da classe

2.1.2. protected: acesso por classes no mesmo pacote e subclasses

2.1.3. public: acesso de qualquer classe

2.2. Modificadores de Classes, Variáveis ou Métodos

2.2.1. abstract: classe que não pode ser instanciada ou método que precisa ser implementado por uma subclasse não abstrata

2.2.2. class: especifica uma classe

2.2.3. extends: indica a superclasse que a subclasse está estendendo

2.2.4. final: impossibilita que uma classe seja estendida, que um método seja sobrescrito ou que uma variável seja reinicializada

2.2.5. implements: indica as interfaces que uma classe irá implementar

2.2.6. interface: especifica uma interface

2.2.7. native: indica que um método está escrito em uma linguagem dependente de plataforma, como o C

2.2.8. new: instancia um novo objeto, chamando seu construtor

2.2.9. static: faz um método ou variável pertencer à classe ao invés de às instâncias

2.2.10. strictfp: usado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante em todas as expressões

2.2.11. synchronized:indica que um método só pode ser acessado por uma thread de cada vez

2.2.12. transient: impede a serialização de campos

2.2.13. volatile:indica que uma variável pode ser alterada durante o uso de threads

2.3. Controle de Fluxo dentro de um bloco de código

2.3.1. break: sai do bloco de codigo em que ele está

2.3.2. case: executa um bloco de código dependendo do teste do switch

2.3.3. continue:pula a execução do código que viria após essa linha e vai para a próxima passagem do loop

2.3.4. default:executa esse bloco de codigo caso nenhum dos teste de switch-case seja verdadeiro

2.3.5. do:executa um bloco de código uma vez, e então realiza um teste em conjunto com o while para determinar se o bloco deverá ser executado novamente

2.3.6. else: executa um bloco de código alternativo caso o teste if seja falso

2.3.7. for:usado para realizar um loop condicional de um bloco de código

2.3.8. if: usado para realizar um teste lógico de verdadeiro o falso

2.3.9. instanceof: determina se um objeto é uma instância de determinada classe, superclasse ou interface

2.3.10. return: retorna de um método sem executar qualquer código que venha depois desta linha (também pode retornar uma variável)

2.3.11. switch:indica a variável a ser comparada nas expressões case

2.3.12. while: executa um bloco de código repetidamente enquanto a condição for verdadeira

2.3.13.

2.4. Tratamento de Erros

2.4.1. assert: testa uma expressão condicional para verificar uma suposição do programador

2.4.2. catch: declara o bloco de código usado para tratar uma exceção

2.4.3. finally:bloco de código, após um try-catch, que é executado independentemente do fluxo de programa seguido ao lidar com uma exceção

2.4.4. throw:usado para passar uma exceção para o método que o chamou

2.4.5. throws: indica que um método pode passar uma exceção para o método que o chamou

2.4.6. try: bloco de código que tentará ser executado, mas que pode causar uma exceção

2.5. Controle de Pacotes

2.5.1. import:importa pacotes ou classes para dentro do código

2.5.2. package: especifica a que pacote todas as classes de um arquivo pertencem

2.6. Primitivos

2.6.1. boolean:um valor indicando verdadeiro ou falso

2.6.2. byte: um inteiro de 8 bits (signed)

2.6.3. char: um caracter unicode (16-bit unsigned)

2.6.4. double: um número de ponto flutuante de 64 bits (signed)

2.6.5. float: um número de ponto flutuante de 32 bits (signed)

2.6.6. int: um inteiro de 32 bits (signed)

2.6.7. long: um inteiro de 64 bits (signed)

2.6.8. short: um inteiro de 32 bits (signed)

2.7. Variáveis de Referência

2.7.1. super: refere-se a superclasse imediata

2.7.2. this: refere-se a instância atual do objeto

2.8. Retorno de um método

2.8.1. void: indica que o método não tem retorno

2.9. Palavras não utilizadas

2.9.1. const: Não utilize para declarar constantes; use public static final

2.9.2. goto: não implementada na linguagem Java por ser considerada prejudicial

2.10. Literais Reservados

2.10.1. De acordo com a Java Language Specification, null, true e false são tecnicamente chamados de valores literais, e não keywords. Se você tentar criar algum identificador com estes valores, você também terá um erro de compilação.

3. Estrutura Condicional

3.1. INSTRUÇÕES DE CONTROLE

3.1.1. Operadores Lógicos

3.1.1.1. || --> ou

3.1.1.2. && --> e

3.1.1.3. == --> igual

3.1.2. Case

3.1.2.1. switch...case...default...break

3.1.3. Composta

3.1.3.1. if...else

3.1.4. Simples

3.1.4.1. if

3.1.5. Operador Condicional

3.1.5.1. ? :

3.1.5.1.1. substitue um if...else

3.1.5.1.2. System.out.println( studenteGrade >= 70 ? "passed" : "reproved" );

4. Estrutura de Repetição

4.1. INSTRUÇÕES DE CONTROLE

4.1.1. do...while

4.1.2. while

4.1.3. for

4.1.4. DICAS

4.1.4.1. ACUMULADORES

4.1.4.2. SENTINELA

4.1.4.3. CONTADORES

5. Vetor

5.1. int x[] = new int[10]

6. Matriz

6.1. int y[][] = new int[7][7]

7. Sub-rotinas(métodos)

7.1. public static void nomeMétodo( argumento1, argumento2 ) { }

7.2. public static int soma ( int a, int b ) { }

7.3. rotinas.mensagem();

8. Arquivo

8.1. TODOS PERTENCEM A CLASSE JAVA.IO

8.2. File arquivo = new File( <<endereço>> );

8.3. try { comandos } catch { IOException }

8.3.1. todos os blocos devem estar dentro desta estrutura

8.4. Declaração de arquivos

8.4.1. File

8.4.1.1. não consegue manipular o arquivo

8.4.1.2. consegue criar um caminho para variáveis no arquivo

8.4.1.2.1. File arquivo = new File( "c: \\exemplo\\teste\\dados.txt" );

8.4.1.3. abstrato: não exige a existência real do arquivo

8.4.2. Verificação

8.4.2.1. Existência

8.4.2.1.1. if ( arq.exists() ) { ... }

8.4.2.2. Referência a diretório

8.4.2.2.1. if ( arq.isDirectory() ) { ... }

8.4.2.3. Referência a arquivo

8.4.2.3.1. if ( arq.isFile() ) { ... }

8.4.2.4. Referência a arquivo que pode ser lido

8.4.2.4.1. if ( arq.canRead ) { ... }

8.4.2.5. Referência a arquivo que pode receber gravações

8.4.2.5.1. if ( arq.canWrite ) { ... }

8.4.2.6. Criar um novo diretório a partir do diretório corrente

8.4.2.6.1. arq.mkdir();

8.4.2.7. Cria um hierarquia de diretórios(pastas)

8.4.2.7.1. arq.mkdirs();

8.4.2.8. Renomear

8.4.2.8.1. arq.renameTo( destino );

8.4.2.9. Tamanho

8.4.2.9.1. arq.length();

8.4.2.10. Descobrir a hora da ultima atualização

8.4.2.10.1. long atualização = arq.lastModified();

8.4.2.11. Apagar

8.4.2.11.1. arq.delete();

8.4.2.11.2. pode apagar tanto arquivos quanto também pastas

8.4.2.12. >

8.4.2.12.1. Deve-se criar o arquivo File primeiro

8.5. Gravando caracteres em um arquivo de texto

8.5.1. 1 -> Criando um objeto escritor

8.5.1.1. FileWriter escritor = new FileWriter( arq );

8.5.1.1.1. será capaz de gravar dados em arq

8.5.1.2. FileWriter escritor = new FileWriter( ("c:\\exemplo\\teste\\dados.txt", true))

8.5.1.2.1. true significa que será permitido o acréscimo de novos caracteres a um arquivo já existente

8.5.2. 2 -> Gravando caracteres em um arquivo de textos

8.5.2.1. char caractere = 'x';

8.5.2.2. File arq = new File( <<endereço para o arquivo >> );

8.5.2.3. FileWriter escritor = new FileWriter( arq, true );

8.5.2.4. escritor.write( caractere );

8.5.3. 3 -> Acrecentando um caractere a um arquivo de texto

8.5.3.1. char caractere = 'x';

8.5.3.2. File arq = new File( <<endereço do arquivo>> );

8.5.3.3. FileWriter escritor = new File( arq, true );

8.5.3.4. escritor.append( caractere );

8.5.3.4.1. O método append() funciona da mesma forma que o método write() quando o parâmetro true é fornecido no momento da criação do objeto escritor

8.5.4. 4 -> Gravando uma cadeia de caracteres em um arquivo de texto

8.5.4.1. String cadeia = "exemplo de gravação";

8.5.4.2. File arq = new File( <<endereço do arquivo>> );

8.5.4.3. FileWriter escritor = new FileWriter( arq, true );

8.5.4.4. escritor.write(cadeia);

8.5.5. 5 -> Fechando um arquivo de texto por meio do objeto de gravação

8.5.5.1. File arq = new File( <<enderço>> );

8.5.5.2. FileWriter escritor = new File( arq, true );

8.5.5.3. escritor.close();

8.5.5.3.1. o método close() fecha o arquivo dados.txt. Interrompe a ligação entre o objeto escritor e o arquivo físico dados.txt.

8.5.6. ->

8.5.6.1. Deve-se primeiro criar um arquivo File

8.5.6.2. Segundo, deve-se criar um objeto escritor FileWriter

8.5.6.3. É importante ressaltar que, uma vez que a variável arq é do tipo File, os métodos de verificação relacionados poderão ser utilizados antes da realização de leituras. Isso garante mais segurança à aplicação.

8.5.6.4. ponha o File dentro do FileWriter!

8.6. Gravando bytes em um arquivo binário

8.6.1. 1 -> Criando um objeto para gravar em arquivos binários

8.6.1.1. File arq = new File( <<endereço>> );

8.6.1.2. FileOutputStream escritor = new FileOutputStream( arq );

8.6.1.3. FileOutputStream escritor = new FileOutputStream( arq, true );

8.6.1.4. >

8.6.1.4.1. No exemplo, o método write(), do objeto escritor, consegue gravar o caractere x no arquivo dados. txt. É importante ressaltar que esse método deve receber como parâmetro um valor do tipo byte. Assim, no momento em que a variável x (do tipo char) é passada como parâmetro, acontece a conversão automática desse caractere para o valor ASCII equivalente.

8.6.2. 2 -> Gravando um byte em um arquivo binário

8.6.2.1. char caractere = 'x' ;

8.6.2.2. File arq = new File( <<endereço>> );

8.6.2.3. FileOutputStream escritor = new FileOutputStream( arq );

8.6.2.4. escritor.write( caractere);

8.6.2.4.1. deve receber um dado do tipo byte

8.6.2.4.2. quando o char é passado acontece automáticamente a conversão desse caractere para o valor ASCII equivalente

8.6.3. 3 -> Gravando uma cadeia de bytes em um arquivo binário

8.6.3.1. String cadeia = "exemplo de gravação";

8.6.3.2. File arq = new File( <<endereço>> );

8.6.3.3. FileOutputStream escritor = new FileOutputStream( arq, true );

8.6.3.4. escritor.write( cadeia.getBytes() );

8.6.4. >

8.6.4.1. Deve-se primeiro criar um arquivo File

8.6.4.2. Depois criar o escritor FileOutputStream

8.6.4.3. A classe FileOutputStream define objetos capazaes de escrever bytes em um arquivo

8.6.4.4. ponha o File dentro do FileOutputStream

8.7. Lendo caracteres de um arquivo de texto

8.7.1. 1 -> Criando um objeto leitor

8.7.1.1. File arq = new File( <<endereço>> );

8.7.1.2. FileReader leitor = new FileReader( arq );

8.7.2. 2 -> Lendo um caractere do arquivo de texto

8.7.2.1. char caractere;

8.7.2.2. File arq = new File( <<endereço>> );

8.7.2.3. FileReader leitor = new FileReader( arq );

8.7.2.4. carac = (char)leitor.read();

8.7.2.5. System.out.println( "Caractere lido do arquivo texto = " + carac );

8.7.3. 3 -> Lendo uma cadeia de caracteres do arquivo de texto

8.7.3.1. char cadeia[] = new char[5];

8.7.3.2. File arq = new File( <<endereço>> );

8.7.3.3. FileReader leitor = new FileReader( arq );

8.7.3.4. int t = leitor.read( cadeia );

8.7.3.4.1. A variável t receberá a informação de quantos caracteres realmente foram lidos. O valor máximo de t é o tamanho da cadeia. Se t assumir um valor menor que o tamanho da cadeia, significa que o fim do arquivo foi encontrado antes da cadeia estar completamente preenchida, ficando, portanto, preenchida até a posição t-1. Se t assumir valor -1, significa que o cursor já estava no fim do arquivo e não havia mais caracteres para leitura.

8.7.4. 4 -> Pulando caracteres em um arquivo de leitura

8.7.4.1. File arq = new File( <<endereço>> );

8.7.4.2. FileReader leitor = new FileReader( arq );

8.7.4.3. leitor.skip( tam );

8.7.4.3.1. Nesse exemplo, o método skip() recebeu um parâmetro tam, que representa um valor inteiro correspondente à quantidade de caracteres que serão pulados dentro do arquivo de texto dados.txt. Assim, uma leitura executada depois dessa chamada ao método skip() conseguirá capturar os caracteres a partir da posição tam + 1.5) Fechando arquivo de texto por meio do objeto de leitura

8.7.5. 5 -> Fechando arquivo de texto por meio do objeto de leitura

8.7.5.1. File arq = new File( <<endereço>> );

8.7.5.2. Filereader leitor = new FileReader( arq );

8.7.5.3. leitor.close();

8.7.6. >

8.7.6.1. Cria-se um objeto File

8.7.6.2. Cria-se um objeto leitor FileReader

8.8. Lendo um arquivo binário

8.8.1. A leitura de um arquivo binário deve ser feita pela classe FileInputStream

8.8.2. 1 -> Criando um objeto para leitura do arquivo binário

8.8.2.1. File arq - new File( <<endereço>> );

8.8.2.2. FileInputStream leitor = newFileInputStream( <<endereço>> );

8.8.3. 2 -> Lendo um byte de um arquivo binário

8.8.3.1. char carac;

8.8.3.2. File arq = newFile( <<endereço>> );

8.8.3.3. FileInputStream leitor = new FileinputStream( arq );

8.8.3.4. carac = (char)leitor.read();

8.8.3.5. System.out.println( "Caractere lido do arquivo de texto = " + carac );

8.8.4. 3 -> Lendo uma cadeia de bytes do arquivo binário

8.8.4.1. String caracteres;

8.8.4.2. byte cadeia[] = new byte[tamanho];

8.8.4.3. File arq = new File( <<endereço>> );

8.8.4.4. FileInputStream leitor = new FileInputStream( arq );

8.8.4.5. leitor.read( cadeia );

8.8.4.6. caracteres = new String( cadeia );

8.8.4.7. System.out.println( "Cadeia = " + caracteres );

8.8.5. 4 -> Fechando o arquivo binário por meio do objeto de leitura

8.8.5.1. File arq = new File( <<endereço>> );

8.8.5.2. FileInputStream leitor = new FileInputStream( arq, true );

8.8.5.3. leitor.close();

8.9. Trabalhondo com arquivos de acesso aleatório

8.9.1. Classe RandomAccessFile

8.9.2. 1 -> Criando um objeto para leitura/gravação em arquivo

8.9.2.1. File arq = new File( <<endereço>> );

8.9.2.2. RandomAccessFile manipulador = new RandomAccessFile( arq, "rw" );

8.9.2.3. RandomAccessFile manipulador = new RandomAccessFile( <endereço>>, "r" );

8.9.3. 2 -> Gravando um byte em um arquivo

8.9.3.1. byte numero = valor;

8.9.3.2. File arq = new File( <<endereço>> );

8.9.3.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.3.4. var.writeByte( numero );

8.9.4. 3 -> Gravando um short em um arquivo

8.9.4.1. short numero = valor;

8.9.4.2. File arq = new File( <<endereço>> );

8.9.4.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.4.4. var.writeShort( numero );

8.9.5. 4 -> Gravando um int em um arquivo

8.9.5.1. int numero = valor;

8.9.5.2. File arq = new File( <<endereço>> );

8.9.5.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.5.4. var.writeInt( numero );

8.9.6. 5 -> Gravando um long em um arquivo

8.9.6.1. long numero = valor;

8.9.6.2. File arq = new File( <<endereço>> );

8.9.6.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.6.4. var.writeLong( numero );

8.9.7. 6 -> Gravando um float em um arquivo

8.9.7.1. float numero = valor;

8.9.7.2. File arq = new File( <<endereço>> );

8.9.7.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.7.4. var.writeFloat( numero );

8.9.8. 7 -> Gravando um double em um arquivo

8.9.8.1. double numero = valor;

8.9.8.2. File arq = new File( <<endereço>> );

8.9.8.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.8.4. var.writeDouble( numero );

8.9.9. 8 -> Gravando um boolean em um arquivo

8.9.9.1. boolean numero = valor;

8.9.9.2. File arq = new File( <<endereço>> );

8.9.9.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.9.4. var.writeBoolean( numero );

8.9.10. 9 -> Gravando um char em um arquivo

8.9.10.1. char valor = valor2;

8.9.10.2. File arq = new File( <<endereço>> );

8.9.10.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.10.4. var.writeChar( numero );

8.9.11. 10 -> Gravando uma String em um arquivo

8.9.11.1. String valor = valor2;

8.9.11.2. File arq = new File( <<endereço>> );

8.9.11.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.11.4. var.writeChars( valor );

8.9.12. 11 -> Gravando uma String no formao UTF-8 em um arquivo

8.9.12.1. String valor = valor2;

8.9.12.2. File arq = new File( <<endereço>> );

8.9.12.3. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.12.4. var.writeUTF( valor );

8.9.12.4.1. Como o tamanho de conteúdos do tipo String pode variar, ao ser executado, o método writeUTF() grava, primeiro, um valor numérico do tipo short( que ocupa 2 bytes ), informando a quantidade de bytes ocupados pela String que será gravada e, só depois, grava o conteúdo da String. O valor numeŕico gravado será importante posteriormente, em operações de leitura.

8.9.13. 12 -> Lendo um byte de um arquivo

8.9.13.1. byte numero;

8.9.13.2. File arq = new File( <<endereço>> );

8.9.13.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.13.4. numero = var.readByte();

8.9.13.5. System.out.println( "Byte lido do arquivo = " + numero );

8.9.14. 13 -> Lendo um short de um arquivo

8.9.14.1. short numero;

8.9.14.2. File arq = new File( <<endereço>> ):

8.9.14.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.14.4. numero = var.readShort();

8.9.15. 14 -> Lendo um int de um arquivo

8.9.15.1. int numero;

8.9.15.2. File arq = new File( <<endereço>> );

8.9.15.3. RandomAccessFile var = new RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.15.4. numero = var.readInt();

8.9.16. 15 -> Lendo um long de um arquivo

8.9.16.1. long numero;

8.9.16.2. File arq = new File( <<endereço>> );

8.9.16.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.16.4. numero = var.readLong();

8.9.17. 16 -> Lendo um float de um arquivo

8.9.17.1. float numero;

8.9.17.2. File arq = new File( <<endereço>> );

8.9.17.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.17.4. numero = var.readFloat();

8.9.18. 17 -> Lendo um double de um arquivo

8.9.18.1. double numero

8.9.18.2. File arq = new File( <<endereço>> );

8.9.18.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.18.4. numero = var.readDouble();

8.9.19. 18 -> Lendo um boolean de um arquivo

8.9.19.1. boolean valor;

8.9.19.2. File arq = new File( <<endereço>> );

8.9.19.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.19.4. valor = var.readBoolean();

8.9.20. 19 -> Lendo um char de um arquivo

8.9.20.1. char valor;

8.9.20.2. File arq = new File( <<endereço>> );

8.9.20.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.20.4. valor = var.readChar();

8.9.21. 20 -> Lendo uma String de um arquivo

8.9.21.1. String valor;

8.9.21.2. File arq = new File( <<endereço>> );

8.9.21.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.21.4. valor = var.readUTF();

8.9.21.4.1. o método readUTF() percorre, no arquivo dados.dat, a quantidade de bytes necessários para representar uma cadeia de caracteres no formato UTF-8.

8.9.21.4.2. consegue ler apenas cadeias de string gravadas por meio do método writeUTF().

8.9.22. 21 -> Lendo um linha de um arquivo

8.9.22.1. String valor;

8.9.22.2. File arq = new File( <<endereço>> );

8.9.22.3. RandomAccesssFile var = new RandomAccessFile( arq, "r" );

8.9.22.4. valor = var.readLine();

8.9.23. 22 -> Descobrindo a posição do cursor no arquivo

8.9.23.1. File arq = new File( <<endereço>> );

8.9.23.2. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.23.3. System.out.println( "Posição atual do cursor = " + var.getFilePointer() );

8.9.24. 23 -> Reposicionamento o cursor do arquivo

8.9.24.1. long posicao = valor;

8.9.24.2. File arq = new File( <<endereço>> );

8.9.24.3. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.24.4. arq.seek( posicao );

8.9.24.4.1. o parâmetro posicao determina o tamanho do deslocamento que deve ser feito, a partir do início do arquivo.

8.9.25. 24 -> Descobrindo o tamanho do arquivo

8.9.25.1. File arq = new File( <<endereço>> );

8.9.25.2. RandomAccessFile var = new RandomAccessFile( arq, "r" );

8.9.25.3. System.out.println( "Tamanho do arquivo =" + var.length() );

8.9.26. 25 -> Fechando um arquivo de acesso aleatório por meio do objeto de leitura/gravação

8.9.26.1. File arq = new File( <<endereço>> );

8.9.26.2. RandomAccessFile var = new RandomAccessFile( arq, "rw" );

8.9.26.3. var.close();

9. Registro

9.1. Os campos são chamados variáveis de instância ou atributos

9.2. public, protected, private,

9.2.1. setters e getters

9.2.1.1. set altera

9.2.1.2. get acessa

9.2.2. Para iniciar uma classe deve-se usar o construtor

9.2.2.1. Construtor padrão aloca memória

9.2.2.2. Visibilidade Pública, nunhum tipo de retorno definido e Classe Pública

9.2.2.3. CHAMADA AO CONSTRUTOR:

9.2.2.3.1. var = new Produto();

9.2.2.3.2. Produto var = new Produto();

9.2.2.4. Atributos e métodos são considerados membros de classes

9.2.2.4.1. com ou sem o modificador STATIC

9.2.3. Cria-se um método private, e depois o chama com um método public usando set e get

9.2.4. Quando se inicia um classe ela vira um produto

9.3. Métodos são funções para manipular atributos

10. Orientação a Objetos

10.1. DICAS

10.1.1. A estrutura da programação OOP segue a forma de pensar humana

10.1.2. Classes e Objetos são elementos importantes da OOP

10.1.3. Declaração de variável

10.1.3.1. tipo de dado

10.1.3.1.1. O tipo de dado da variável é anotado apenas quando a variável é declarada.

10.1.3.1.2. O tipo de dado não pode ser alterado após a declaração.

10.1.3.2. identificador único

10.1.3.3. Para declarar uma variável que faz referência a um objeto, o nome da classe é usado como o tipo de dados da variável.

10.1.4. Métodos e Parâmetros

10.1.4.1. O operador de ponto permite acessar atributos e métodos de um objeto ou classe.

10.1.4.2. Os métodos podem ser chamados apenas dentro de outros métodos ou para definir o valor dos atributos.

10.1.4.3. Os métodos podem ser chamados de dentro da classe em que foram definidos, bem como de fora desta classe.

10.1.4.4. Métodos representam o comportamento de objetos.

10.1.4.5. O tipo do valor de retorno é colocado na frente do identificador do método. Pode ser qualquer tipo de dados.

10.1.4.6. O retorno da palavra-chave deve ser usado, para permitir que um método passe um valor para o chamador.

10.1.5. Objetos

10.1.5.1. Objetos são instanciados de Classes

10.1.5.2. Para cada objeto existe uma Classe a qual ele pertence

10.1.5.3. Quando um objeto é instanciado, cria-se um novo objeto como uma instância de uma classe.

10.1.5.4. Se vários objetos de uma classe são instanciados, cada um deles pode armazenar valores diferentes em seus atributos.

10.1.6. Atributo

10.1.6.1. Um Atributo equivale a uma característica humana. Ex: atributo COR DE CABELO

10.1.6.2. Atributos representam o estado de um objeto

10.1.6.3. Análogo às variáveis, os atributos têm um identificador único e um tipo.

10.1.6.4. Atributos são sempre declarados em um classe

10.1.6.5. Um valor de atributo pertence a uma instância de uma classe.

10.1.6.6. Quando um atributo é declarado, um identificador com um determinado nome é registrado no programa. A memória é alocada quando um objeto da classe é instanciado.

11. Cadeia de Caracteres

11.1. Pegar caracteres específicos

11.1.1. string.getChars( srcBegin: 3, srcEnd: 5, nomeChar, dstBegin: 8 )

11.1.2. string.charAt(0)

11.2. Copia

11.2.1. s1 = s2

11.2.2. s1 = s2.substring( 1, 4 );

11.2.2.1. da posição final até a final

11.2.3. s1.append( s2 );

11.2.3.1. acrescenta

11.2.4. s1.append( s2, posição_inicial, posição_final )

11.3. Concatenação

11.3.1. s1 = s2.concat( s3 );

11.3.2. s1 = s2 + s3;

11.4. Comparação

11.4.1. s1.equals( s2 );

11.4.2. s1.equalsIgnoreCase( s2 );

11.4.3. resultado = s1.compareTo( s2 );

11.4.4. s1.regionMatches( true, 1, s2, 2, 5 );

11.4.5. s1.startsWith( s2 );

11.4.6. s1.startsWith( s2, 1 );

11.4.7. s1.endsWith( s2 );

11.5. Tamanho padrão

11.5.1. StringBuffer s = new StringBuffer();

11.5.1.1. 16 caracteres

11.6. Descobrir tamanho

11.6.1. tamanho = s1.length();

11.6.2. string.capacity();

11.7. Verificar posição de uma dentro da outra

11.7.1. position = s1.indexOf( s2 );

11.7.2. position = s1.indexOf( s2, 3 );

11.7.3. position = s1.lastIndexOf( s2 );

11.7.4. position = s1.lastIndexOf( s2, 2 );

11.7.5. nome.codePointAt( 1 );

11.7.6. nome.codePointBefore( 1 );

11.7.7. int k = nome.codePointCount( 1, 4 );

11.8. Apagar elementos

11.8.1. s1.delete( 1, 4 );

11.8.2. necessário utilizar StringBuffer

11.9. Inserir elementos

11.9.1. s1.insert( 1, s2 );

11.9.2. necessário utilizar StringBuffer

11.10. Alterando elementos

11.10.1. s1.replace( s2, s3 );

11.10.2. s1.replaceAll( s2, s3 );

11.10.3. s1.replaceFirst( s2, s3 );

11.10.4. s1.split( "separado" );

11.10.5. s1.trim();

11.10.6. s1.trimToSize();

11.10.7. char novo[] = texto.toCharArray();

11.10.8. caractere = texto.charAt( 4 );

11.10.9. texot.setCharAt( 1, 'k' );

11.10.10. texto.reverse();

11.11. ASCII

11.11.1. caractere = char( número );

11.11.2. numero = int( caractere );

11.12. Sucessor e Antecessor

11.12.1. --> somando uma unidade e subtraindo uma unidade

11.13. Maiúsculo e minúsculo

11.13.1. s1.toUpperCase();

11.13.2. s1.toLowerCase();

11.14. Converter um valor numérico em caractere

11.14.1. s1 = String.valueOf( valor_numerico );

11.14.2. caractere = Character.forDigit( valor_numerico );

11.15. Converter um caractere em valor numérico

11.15.1. numero = integer.parseInt( s1 );

11.15.2. numero = Long.parseLong( s1 );

11.15.3. numero = Float.parseFloat( s1 );

11.15.4. numero = Double.parseDouble();

11.15.5. numero = Character.digit();

11.16. string = "" + valor

11.17. >> STRING É IMUTÁVEL <<

11.18. Cast

11.18.1. char ch = ( char ) i;

11.19. Vazia

11.19.1. string.isEmpty()

11.20. StringBuilder

11.20.1. StringBuilder stringB2 = new StringBuilder(77 );

11.20.2. System.out.println( stringB2.toString() );

11.21. StringBuffer

11.21.1. text.append( type.nextLine() );

11.21.2. text.toString().toUpperCase();