2 - Java - Lang
2 - Java - Lang
java.lang
4/78
java.lang
É um pacote que contém os recursos básicos da linguagem
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 System.out.print("Olá, Mundo!");
6 }
7 } 5/78
java.lang =
É um pacote que contém os recursos básicos da linguagem
Código (Main.java)
São mecanismos para a organização
1 import java.lang.System;
e reutilização de código
2
3 public class Main{
4 DEITEL, Paul.void
public static Java: como programar..
main(String[] args){
5 System.out.print("Olá, Mundo!");
6 }
7 } 6/78
java.lang
Pacote
import java.lang
= Biblioteca
#include <stdio.h>
7/78
java.lang
Pacote
import java.lang
Biblioteca #include <stdio.h>
8/78
java.lang
Pacote
import java.lang
Biblioteca #include <stdio.h>
9/78
java.lang
Pacote
import java.lang
Biblioteca
#include <stdio.h>
10/78
java.lang
fgetc() fclose()
Pacote
import java.lang
Biblioteca
#include <stdio.h>
puts()
getc()
fread()
tmpfile() sprintf()
System scanf() putc() fwrite()
fdopen() ungetc() perror()
printf() tmpnam() fgets()
remove() sscanf() fprintf()
fscanf() fputc() ferror()
fread() fsetpos() fflush()
vscanf() putchar() ftell()
fseek() vsscanf() setbuf()
11/78
java.lang
Process Enum Class fgetc() fclose()
Thread
Void
Pacote
import java.lang
Biblioteca
#include <stdio.h>
puts()
getc()
Runtime fread()
ClassLoader Character tmpfile() sprintf()
ClassValue Compiler String scanf() putc() fwrite()
StrictMath StringBuilder fdopen() ungetc() perror()
SecurityManager System printf() tmpnam() fgets()
StackTraceElement Number remove() sscanf() fprintf()
Long StringBuffer Math fscanf() fputc() ferror()
InheritableThreadLocal fread() fsetpos() fflush()
ThreadLocal ProcessBuilder vscanf() putchar() ftell()
Throwable Package Object fseek() vsscanf() setbuf()
12/78
java.lang
Process Enum Class fgetc() fclose()
https://docs.oracle.com/javase/8/docs/api/java/lang/package-summary.html
Thread
Void
Pacote
import java.lang
Biblioteca
#include <stdio.h>
puts()
getc()
Runtime fread()
ClassLoader Character tmpfile() sprintf()
ClassValue Compiler String scanf() putc() fwrite()
StrictMath StringBuilder fdopen() ungetc() perror()
SecurityManager System printf() tmpnam() fgets()
StackTraceElement Number remove() sscanf() fprintf()
Long StringBuffer Math fscanf() fputc() ferror()
InheritableThreadLocal fread() fsetpos() fflush()
ThreadLocal ProcessBuilder vscanf() putchar() ftell()
Throwable Package Object fseek() vsscanf() setbuf()
13/78
java.lang
DEITEL, Paul. Java: https://www.oreilly.com/
https://www.oreilly.com/ como programar..
14/78
java.lang
DEITEL, Paul. https://www.oreilly.com/
https://www.oreilly.com/ Java: como programar..
Os pacotes são
um recurso
tanto
organizacional,
quanto de
controle de
acesso
15/78
java.lang
https://www.oreilly.com/ https://www.oreilly.com/
Os pacotes são
um recurso
tanto
organizacional,
quanto de
controle de
acesso
16/78
Saída padrão
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 System.out.print("Olá, Mundo!");
6 }
7 }
17/78
Saída padrão
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 System.out.print("Olá, Mundo!");
6 }
7 }
SCHILDT, Herbert. Java para iniciantes.
Olá,
Mundo!
Olá,
Mundo!
20/78
Saída padrão
https://docs.oracle.com/javase/tutorial/java/data/characters.html
DEITEL, Paul. Java: como programar.
21/78
Saída padrão
SCHILDT,
DEITEL, Herbert. Javacomo
paraprogramar.
iniciantes.
https://docs.oracle.com/javase/tutorial/java/data/characters.html
Paul. Java:
22/78
Saída padrão: Exemplos
Código (Main.java) Saída
1 import java.lang.System; Linha 1
2 Linha 2
3 public class Main{
4 public static void main(String[] args){ Linha 3
5 System.out.print("Linha 1\n"); Linha 4"Linha 5"
6 System.out.println("Linha 2\n");
7 System.out.print("Linha \t3\n"); Linha 6
8 System.out.print("Linha 4"); Linha
9 System.out.print("\"Linha 5\""); 7
10 System.out.print("\n\nLinha 6");
11 System.out.printf("%n%s%n%s", "Linha", "7");
12 }
}
23/78
Saída padrão: Exemplos
Código (Main.java) Saída
1 import java.lang.System; Linha 1
2 Linha 2
3 public class Main{
4 public static void main(String[] args){ Linha 3
5 System.out.print("Linha 1\n"); Linha 4"Linha 5"
6 System.out.println("Linha 2\n");
7 System.out.print("Linha \t3\n"); Linha 6
8 System.out.print("Linha 4"); Linha
9 System.out.print("\"Linha 5\""); 7
10 System.out.print("\n\nLinha 6");
11 System.out.printf("%n%s%n%s", "Linha", "7");
12 }
}
24/78
Saída padrão: Exemplos
Código (Main.java) Saída
1 import java.lang.System; Linha 1
DEITEL, Paul. Java: como programar.
2 Linha 2
3 public class Main{
4 public static void main(String[] args){ Linha 3
5 System.out.print("Linha 1\n"); Linha 4"Linha 5"
6 System.out.println("Linha 2\n");
7 System.out.print("Linha \t3\n"); Linha 6
8 System.out.print("Linha 4"); Linha
9 System.out.print("\"Linha 5\""); 7
10 System.out.print("\n\nLinha 6");
11 System.out.printf("%n%s%n%s", "Linha", "7");
12 }
}
25/78
Tipo de dados
O que é um dado?
26/78
Tipo de dados
O que é um dado?
Um dado é uma
valor ou atributo
sem significado
27/78
Tipo de dados
PINTO, Rafael; et. al. Estrutura de Dados.
O que é um dado?
Um dado é uma
valor ou atributo
sem significado
28/78
Tipo de dados
Console
❑ Número Inteiro >: 10
>: JAVA
❑ Cadeia de Caracteres >: 10.5
❑ Número Fracionário >: ESC
❑ Comando Lógico
*existem outros mas esses são os principais
29/78
Tipo de dados
Console
❑ Número Inteiro >: 10
>: JAVA
❑ Cadeia de Caracteres >: 10.5
❑ Número Fracionário >: ESC
❑ Comando Lógico
*existem outros mas esses são os principais
30/78
Tipo de dados
ORIENTADOS
PRIMITIVOS NÃO-PRIMITIVOS
PORAREFERÊNCIA
OBJETOS
String
Array
List
...
31/78
Tipo de dados
PRIMITIVOS
short double
byte
long
32/78
Tipo de dados
PRIMITIVOS
byte
long
33/78
Tipo de dados
PRIMITIVOS
byte
long
34/78
Tipo de dados
PRIMITIVOS
byte
long
35/78
Tipo de dados
Inicialização
Tipo Tamanho Limite
Padrão
boolean 1 bit*
*depende do sistema operacional (JVM)
true – false . false
byte 1 byte -2⁷ – 2⁷-1 . 0
char 2 bytes 0 – 2¹⁶-1 . '\u0000'
short 2 bytes -2¹⁵ – 2¹⁵-1 . 0
int 4 bytes -2³¹ – 2³¹-1 . 0
float 4 bytes -2¹⁴⁹ – (2-2⁻²³)·2¹²⁷ 0.0f
long 8 bytes -2⁶³ – -2⁶³-1 . 0L
double 8 bytes -2¹⁰⁷⁴ – (2-2⁻⁵²)·2¹⁰²³ 0.0d
36/78
Tipo de dados
Inicialização
Tipo Tamanho Limite
Padrão
1 bit*Herbert.
SCHILDT,
boolean true –Java
falsepara .iniciantes.
*depende do sistema operacional (JVM)
false
byte 1 byte -2⁷ – 2⁷-1 . 0
char 2 bytes 0 – 2¹⁶-1 . '\u0000'
short 2 bytes -2¹⁵ – 2¹⁵-1 . 0
int 4 bytes -2³¹ – 2³¹-1 . 0
float 4 bytes -2¹⁴⁹ – (2-2⁻²³)·2¹²⁷ 0.0f
long 8 bytes -2⁶³ – -2⁶³-1 . 0L
double 8 bytes -2¹⁰⁷⁴ – (2-2⁻⁵²)·2¹⁰²³ 0.0d
37/78
Operadores
O que é um operador?
40/78
Operadores: Aritméticos
Código (Main.java) Saída
1 import java.lang.System; 8
2 15
3 public class Main{ 2
4 public static void main(String[] args){ 1
5 System.out.println(5+3); // ADIÇÃO 2
6 System.out.println(5*3); // MULTIPLICAÇÃO 1.6666666666666667
7 System.out.println(5-3); // SUBTRAÇÃO 0.30000000000000004
8 System.out.println(5/3); // DIVISÃO
9 System.out.println(5%3); // RESTO
10 System.out.println(5.0/3.0); // DIVISÃO
11 System.out.println(0.1+0.2); // ADIÇÃO
12 }
13 }
41/78
Operadores: Aritméticos
Código (Main.java) Saída
1 import java.lang.System; 8
2 15
3 public class Main{ 2
4 public static void main(String[] args){ 1
5 System.out.println(5+3); // ADIÇÃO 2
6 System.out.println(5*3); // MULTIPLICAÇÃO 1.6666666666666667
7 System.out.println(5-3); // SUBTRAÇÃO 0.30000000000000004
8 System.out.println(5/3); // DIVISÃO
9 System.out.println(5%3); // RESTO
10 System.out.println(5.0/3.0); // DIVISÃO
11 System.out.println(0.1+0.2); // ADIÇÃO
12 }
13 }
42/78
Operadores: Relacionais
MAIOR QUE (>) MENOR QUE (<)
43/78
Operadores: Relacionais
Código (Main.java) Saída
1 import java.lang.System; true
2 false
3 public class Main{ true
4 public static void main(String[] args){ false
5 System.out.println(5>3); // MAIOR false
6 System.out.println(5<5); // MENOR true
7 System.out.println(5>=3); // MAIOR IGUAL
8 System.out.println(5<=3); // MENOR IGUAL
9 System.out.println(5==3); // IGUAL
10 System.out.println(5!=3); // DIFERENTE
11
12 }
13 }
44/78
Operadores: Lógicos
45/78
Operadores: Lógicos
Código (Main.java) Saída
1 import java.lang.System; true
2 false
3 public class Main{ true
4 public static void main(String[] args){ true
5 System.out.println(true && true); // E false
6 System.out.println(true && false); // E true
7 System.out.println(true || true); // OU
8 System.out.println(true || false); // OU
9 System.out.println(!true); // NEGAÇÃO
10 System.out.println(!false); // NEGAÇÃO
11
12 }
13 }
46/78
Operadores: Lógicos *bitwise
maior
precedência
menor
49/78
Operadores: Resumo
Operadores
Unário Binário Binário Unário Binário Ternário Binário Unário Binário Unário Binário
50/78
Operadores: Resumo
Operadores
Unário Binário Binário Unário Binário Ternário Binário Unário Binário Unário Binário
51/78
Declaração de Variáveis
Java proíbe o uso de suas palavras-chave na declaração de nomes de variáveis
52/78
Declaração de Variáveis
DEITEL, Paul. Java: como programar.
Java proíbe o uso de suas palavras-chave na declaração de nomes de variáveis
53/78
Declaração de Variáveis
54/78
Declaração de Variáveis
Normalmente
usada em:
❑ nomes de
classes
❑ nomes de
método
❑ nomes de
variável
DEITEL, Paul. Java: como programar..
55/78
Declaração de Variáveis
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int variavel = 10;
6 System.out.print("Olá, Mundo!");
7 }
8 }
56/78
Declaração de Variáveis
Variáveis guardam literais
Variáveis são nomes Literais são os valores
simbólicos definidos numéricos, textuais ou
pelo programador que lógicos, normalmente
serão associados a atribuídos a variáveis
endereços de memória ou constantes
SCHILDT, Herbert. Java para iniciantes.
57/78
Declaração de Variáveis
Tipo Identificador Literal
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int variavel_1 = (int) 10;
6 byte variavel_2 = (byte) 10;
7 short variavel_3 = (short) 10;
8 float variavel_4 = (float) 10.0;
9 double variavel_5 = (double) 10.0;
10 long variavel_6 = (long) 10;
11 char variavel_7 = (char) 'A';
12 boolean variavel_8 = (boolean) true;
13 }
14 } 61/78
Declaração de Variáveis *coerção (ou casting)
Para:
byte char short int long float double
De:
❑ Estruturas de Repetição
SCHILDT, Herbert. Java para iniciantes.
63/78
Estruturas de Controle
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6 if(x > 6){
Saída
7 System.out.println("1"); 3
8 }else{
9 if(y < 8){
10 System.out.println("2");
11 }else{
12 System.out.println("3");
13 }
14 } 64/78
Estruturas de Controle A solução dos if...else aninhados
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6 if(x > 6)
Saída
7 System.out.println("1"); 3
8 else if(y < 8)
9 System.out.println("2");
10 else
11 System.out.println("3");
12
13 }
14 } 65/78
Estruturas de Controle Problema do else oscilante
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6 if(x > 3)
Saída
7 if(y < 8) ALI
8 System.out.println("AQUI");
9 else
10 System.out.println("ALI");
11
12SCHILDT,
} Herbert. Java para iniciantes.
13 }
14 66/78
Estruturas de Controle
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6 switch(x){
Saída
7 case 5: Faz
8 System.out.println("Faz");
9 break;
10 DEITEL, default:
Paul. Java: como programar.
11 System.out.println("Não faz");
12 break;
13 }
14 67/78
Estruturas de Repetição
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6
7 while(x < y){
8 x = x+1; Testar antes de executar
9 } o bloco de código
10
11 do{
12 x++; Executar o bloco de
13 }while(x < y); código, depois testar
14 68/78
Estruturas de Repetição
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6
7 for(;;){
8 x = x+1;
9 }
10
11 DEITEL,.Paul. Java: como programar.
12
13
14 69/78
2
Estruturas de Repetição
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6
7 for(;;){
8 x = x+1;
9 }
10
11 DEITEL,.Paul. Java: como programar.
12
13
14
SCHILDT,
} Herbert. Java para iniciantes.
}
70/78
13
Estruturas de Repetição
14
SCHILDT,
} Herbert. Java para iniciantes.
}
71/78
Estruturas de Repetição
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int x = 5, y = 10;
6
7 for(x = 0, y = 0; (x<3 || y<5); x++, y++){
8 System.out.printf(x + " " + y + "\n");
9 }
10
11
12
13
14 72/78
Estruturas de Repetição
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
Saída
4 public static void main(String[] args){
0 0 5 int x = 5, y = 10;
1 1 6
2 2 7 for(x = 0, y = 0; (x<3 || y<5); x++, y++){
3 3 8 System.out.printf(x + " " + y + "\n");
4 4 9 }
10
11SCHILDT, Herbert. Java para iniciantes.
12
13
14 73/78
Estruturas de Repetição
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
Saída
4 public static void main(String[] args){
Fazendo:1
5 int x = 0;
Fazendo:3
6
7 for(x = 0; x<5; x++){
8 if (x%2 == 0){
9 continue;
10 }
11 System.out.printf("Fazendo:" + x + "\n");
12 DEITEL, } Paul. Java: como programar.
13
14 74/78
Estruturas de Repetição APRIMORADA
A instrução for aprimorada itera sobre cada um
dos item de um arranjo sem extrapolar seu limite
75/78
Estruturas de Repetição APRIMORADA
Código (Main.java)
1 import java.lang.System;
2
3 public class Main{
4 public static void main(String[] args){
5 int[] arranjo = {87, 68, 94, 100};
6 int soma = 0;
7
8 for(int item : arranjo){
9 soma = soma + item;
10 //soma += item;
11 }
12 }
13
14 76/78
Atribuição Abreviada
77/78
Resumo
❑ Pacotes: A base da linguagem é o java.lang, porém outros pacotes
fornecem muitos outros recursos adicionais.
❑ Linguagem livre: Java não se preocupa com indentação.
❑ Estruturas: No Java tanto o if, if...else e switch quanto o while,
do...while e for são praticamente idênticos a qualquer outra linguagem.
DEITEL, Paul. Java: como programar. 4. ed. Porto Alegre: Bookman, 2003.
DEITEL, Paul. Java: como programar. 10. ed. São Paulo: Pearson Education
do Brasil, 2017.
java.lang