Java
210 pág.

Java


DisciplinaProgramação Orientada A Objetos3.889 materiais57.128 seguidores
Pré-visualização43 páginas
anteriores ou mesmo com outras linguagens. No caso
do Java temos as seguintes palavras-chave:
abstract continue for new switch
assert (3) default goto (1) package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum (4) instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp (2) volatile
const (1) float native super while
null
(1) sem uso na linguagem
(2) somente a partir da versão 1.2
(3) somente a partir da versão 1.4
(4) somente a partir da versão 5.0
Palavra-chave/abstract 159
Palavra-chave/abstract
Modificador abstract
A instrução abstract serve para:
\u2022\u2022 declarar métodos abstratos, ou seja, métodos que deverão ser desenvolvidos/implementados nas subclasses.
Quando a classe que contiver métodos abstratos for herdada, os referidos métodos deverão ser implementados,
caso contrário, a classe que extendeu deverá ser declarada como abstrata.
\u2022\u2022 declarar classes abstratas que se desenvolvem numa(s) subclasse(s). Classes abstratas são aquelas que não
estão totalmente implementadas/descritas. Uma classe abstrata não pode ser instanciada e é amplamente usada
nas interfaces.
\u2022\u2022 Uma classe é considerada abstrata se contiver pelo menos um método abstrato. Um método abstrato tem a
seguinte característica: void getName( );
\u2022\u2022 Caso o método tenha as chaves características {}, o mesmo não mais será considerado abstrato, embora não
tenha código dentro das chaves.
Palavra-chave/boolean
import java.util.Random;
public class OitoRainhas {
 
 final int CASAS = 8;
 int campo [][] = new int [CASAS][CASAS];
 Random nAleat = new Random();
 public static void main (String[]args){
 OitoRainhas proExe = new OitoRainhas ();
 proExe.executar();
 }
 
 private void executar() {
 aleatorio();
 while (!confRainha()) {
 aleatorio();
 }
 }
Palavra-chave/boolean 160
 void imprimir(){
 System.out.println();
 for (int l = 0; l < campo[0].length; l++) {
 for (int c = 0; c < campo[0].length; c++) {
 System.out.print(&quot; &quot; + campo[l][c] + &quot; &quot;);
 }
 System.out.println();
 }
 }
 void aleatorio() {
 for (int l = 0; l < CASAS; l++) {
 for (int c = 0; c < CASAS; c++) {
 campo[l][c] = 0;
 }
 }
 int i = 0;
 while (i++ < 8) {
 int linha = nAleat.nextInt(8);
 int coluna = nAleat.nextInt(8);
 if (campo[linha][coluna] == 0){
 campo[linha][coluna] = 1; 
 } else {
 i--;
 }
 }
 imprimir();
 }
 boolean confRainha () {
 for (int l = 0; l < campo[0].length; l++) {
 for (int c = 0; c < campo[0].length; c++) {
Palavra-chave/boolean 161
 if (campo[l][c] == 1) {
 System.out.println(&quot;Linha: &quot; + l + &quot; 
Coluna: &quot; + c);
 if (temAtaque(l, c)) {
 return false;
 }
 }
 }
 }
 return true;
 }
 
 boolean temAtaque(int l, int c) {
 if (temAtaqueHorizontal(l, c)) return true;
 if (temAtaqueVertical(l, c)) return true;
 if (temAtaqueDiagonal(l, c)) return true;
 return false;
 }
 boolean temAtaqueHorizontal(int l, int c) {
 int contRainhas = 0;
 for (int i = 0; i < CASAS; i++) {
 if (campo[l][i] == 1) {
 contRainhas++;
 }
Palavra-chave/boolean 162
 }
 if (contRainhas > 1) return true;
 return false;
 }
 boolean temAtaqueVertical (int l, int c){
 int contRainhas = 0;
 for (int i = 0; i < CASAS; i++){
 if (campo[i][c] == 1) {
 contRainhas++;
 }
 }
 if (contRainhas > 1)return true;
 return false; 
 }
 boolean temAtaqueDiagonal (int l, int c){
 if (temAtaqueDireitaSup(l, c))return true;
 if (temAtaqueEsquerdaSup(l,c))return true;
 if (temAtaqueDireitaInf(l, c))return true;
 if (temAtaqueEsquerdaInf(l, c))return true;
 return false;
 }
 boolean temAtaqueDireitaSup (int l, int c){
 int contRainha = 0;
Palavra-chave/boolean 163
 while (l >= 0 && c < CASAS){
 if (campo[l][c] == 1) contRainha ++;
 l--;
 c++;
 }
 if (contRainha > 1)return true;
 return false;
 }
 
 boolean temAtaqueEsquerdaSup (int l, int c){
 int contRainha = 0;
 while (l >= 0 && c >= 0){
 if (campo[l][c] == 1) contRainha ++;
 l--;
 c--;
 }
 if (contRainha > 1)return true;
 return false;
 }
 boolean temAtaqueDireitaInf (int l, int c){
 int contRainha = 0;
 while (l < CASAS && c < CASAS){
 if (campo[l][c] == 1) contRainha ++;
Palavra-chave/boolean 164
 l++;
 c++;
 }
 if (contRainha > 1)return true;
 return false;
 }
 boolean temAtaqueEsquerdaInf (int l, int c){
 int contRainha = 0;
 while (l < CASAS && c >= 0){
 if (campo[l][c] == 1) contRainha ++;
 l++;
 c--;
 }
 if (contRainha > 1)return true;
 return false;
 }
}
Palavra-chave/else 165
Palavra-chave/else
significa (se não) na linguagem de java e joga para o outro codigo
Palavra-chave/final
Modificador final
A instrução final indica que a classe, método ou variável assim declarada têm uma única atribuição que se
mantém constante, ou seja, não pode ser alterada no decorrer do processamento.
Este modificador declara o que chamamos, em programação, de constante.
Palavra-chave/goto
Palavra-chave goto
A palavra-chave goto não tem uso em Java. Ela foi reservada para que não seja usada como identificador
dentro dos programas, evitando assim confusões com o comanda goto que existe em outras linguagens.
Palavra-chave/int
Variável que guarda número inteiro. Deve ser colocado entre main. Ex:
class idade {
 public static void main(String[] args) {
 int idade = 42;
 System.out.println(idade);
 }
}
Classe compilada e executado retorna a idade, isto é, 42.
Palavra-chave/private 166
Palavra-chave/private
Modificador de acesso private
O modificador de acesso &quot;private&quot; quando aplicado a um atributo ou a um método indica que os mesmos só podem
ser acessados de dentro da classe que os criou (encapsulamento). Uma classe que herde de uma superclasse com
atributos declarados como &quot;private&quot; só poderá ter acesso a eles através dos métodos públicos da própria superclasse,
caso contrário, não haverá acesso a estes atributos.
\u2022\u2022 Exemplo