Aula 4
“Apresentar a sintaxe básica de Java” (revendo algumas coisas de C)
Vamos ver
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } }
Java é uma linguagem compilada
Etapas:
main
, que será executado inicialmentemain
definida na compilaçãomain
recebe vetor com parâmetros passados na linha de comando#execução de um programa em Java na linha de comando java programa.jar parametro1 parametro2
class ClassePrincipal { public static void main(String[] args) { Aluno a = new Aluno(); //cria aluno Professor p = new Professor(); //cria professor //faz algo interessante... } }
int conhecimento; //só a declaração int inteligencia = 0.43; //declaração + atribuição; String primeiroNome = "José";
Nomenclatura:
primeiraPalavraMinusculaDemaisCapitalizadas
4 tipos de variáveis:
static
class Classe { int instancia; static long estatica; public void metodo(double parametro) { String local = "morre quando o método termina"; } }
Tipos nativos (não são objetos)
byte |
8-bit signed two’s complement integer |
short |
16-bit signed two’s complement integer |
int |
32-bit signed two’s complement integer |
long |
64-bit signed two’s complement integer |
float |
single-precision 32-bit IEEE 754 floating point |
double |
double-precision 64-bit IEEE 754 floating point |
boolean |
true ou false |
char |
16-bit Unicode character |
Tipos nativos
new
, são criados diretamente pela sintaxe da linguagem (literais)boolean result = true; char capitalC = 'C'; byte b = 100; short s = 10000; int i = 100000; double d1 = 123.4; float f1 = 123.4f;
Aluno a1 = new Aluno(); Aluno a2 = a1; a1.setInteligencia(0.9); a2.getInteligencia(); // retorna 0.9 - é o mesmo aluno! int i1 = 1; int i2 = i1; i1 += 1; //aqui i1 == 2 e i2 == 1
intArray = new int[10]; // cria array de inteiros (10 espaços) alunosArray = new Alunos[5]; // cria array de alunos (5 espaços) alunosArray[0] = new Aluno(); //cria um aluno e coloca //na primeira posição alunosArray[2]; // tem valor null - literal que indica "nada" //abreviação int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; //multidimensão String[][] names = {{"Mr. ", "Mrs. ", "Ms. "}, {"Smith", "Jones"}}; names[0][2] + names[1][1]; // "Ms. Jones"
String s = "olá mundo"; String c = "cruel" String s2 = s; s = s + c; // aqui s == "olá mundo cruel", s2 == "olá mundo"
O que aconteceu? s2
não deveria apontar para a mesma coisa que s
?
Operators | Precedence | |
---|---|---|
postfix | expr++ expr— | |
unary | ++expr —expr +expr -expr ~ ! | |
multiplicative | * / % | |
additive | + – | |
shift | << >> >>> | |
relational | < > <= >= instanceof | |
equality | == != | |
bitwise AND | & | |
bitwise exclusive OR | ^ | |
bitwise inclusive OR | \ | |
logical AND | && | |
logical OR | | | |
ternary | ? : | |
assignment | = += -= *= /= %= &= ^= | = <<= >>= >>>= |
Ponto( .
) – Evoca um método/variável pública em um objeto (instância).
aluno.getInteligencia(); aluno.inteligencia; //se inteligência for pública - não façam!
instanceof
– diz se um object é instância de uma classe (ou superclasse)
AlunoSafo aluno = new AlunoSafo(); aluno instanceof AlunoSafo; //true aluno instanceof Aluno; //true
Praticamente iguais a C
Decisão
if-then
, if-then-else
, switch
Loop
for
, while
, do-while
break
, continue
, return
if (nota >= 95) { conceito = 'L'; } else if (testscore >= 85) { conceito = 'MB'; } else if (testscore >= 75) { conceito = 'B'; } else if (testscore >= 65) { conceito = 'R'; } else if (testscore >= 50){ conceito = 'I'; } else { conceito = 'D'; }
int papel = 2; switch (month) { case 1: System.out.println("Administrador"); break; case 2: System.out.println("Membro"); break; default: System.out.println("Indefinido"); break; } //imprime "Member"
int count = 1; while (count < 11) { System.out.println("Count is: " + count); count++; }
int count = 1; do { System.out.println("Count is: " + count); count++; } while (count <= 11);
for(int i=1; i<11; i++){ System.out.println("Count is: " + i); }
int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for (int item : numbers) { System.out.println("Count is: " + item); }
break
continue
return
for(int i=1; i<11; i++){ System.out.println("Count is: " + i); if(i == 5) break; }
for(int i=1; i<11; i++){ if(i == 5) continue; System.out.println("Count is: " + i); }
for(int i=1; i<11; i++){ if(i == 5) continue; System.out.println("Count is: " + i); }