Código binário para windows
Código binário para linux
Sistema Operacional Windows
Sistema Operacional Linux
Temos um código executável para cada sistema operacional. É necessário compilar uma vez para Windows, outra para o Linux, e assim por diante, caso a gente queira que esse nosso software possa ser utilizado em várias plataformas.
Código binário para Windows
Código binário para linux
Máquina Virtual Java
Sistema Operacional Windows
Sistema Operacional Linux
javac -versionjava -versionpublic class Hello World {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}Produzem novos valores a partir de um ou mais valores. O resultado da
maioria das operações é um valor boleano ou numérico.
int x = 21;
int y = 21;
if(x == y){
System.out.println("O Valor de x é igual ao valor de Y");
}int x = 5;
int y = 7
++x;
System.out.println("Pré incremento");
x++;
System.out.println("Pós incremento");
--y;
System.out.println("Pré decremento");
y--;
System.out.println("Pós decremento");
public class Incremento {
public static void main(String[] args) {
int x = 5;
int y = 7;
++x;
System.out.println("O Valor de X no pré incremento é: "+x);
x++;
System.out.println("O Valor de X no pós incremento é: "+x);
--y;
System.out.println("O Valor de Y no pré deremento é: "+y);
y--;
System.out.println("O Valor de Y no pós decremento é: "+y);
}
}tipoDaVariavel nomeDaVariavel;
int idade;
idade = 15;
System.out.println(idade);int dia, mes, ano;
//dia 14
dia = 0b1110;
//mês 06 (junho)
mes = 0x6;
//ano de 1982
ano = 1982;// valor literal inteiro do tipo long
long a = 2147483648 L ;// valor literal real do tipo float
float a = 19.09F;
float b = 19.09f;// valor literal do tipo caractere
char a = 'K';
//O código do caractere K
char b = 75;double d = 3.1415;
int i = d;
//Será que compila??
double d = 5;
int i = d;
// E agora?
int i = 5;
double d2 = i;double d3 = 3.14;
int i = (int) d3;
long x = 10000;
int i = (int) x;
if (condicaoBooleana) {
codigo;
}int idade = 15;
if (idade < 18) {
System.out.println("Não pode entrar");
}int idade = 15;
if (idade < 18) {
System.out.println("Não pode entrar");
} else {
System.out.println("Pode entrar");
}int idade = 15;
boolean amigoDoDono = true;
if (idade >= 18 | amigoDoDono == true) {
System.out.println("Pode entrar");
}
else {
System.out.println("Não pode entrar");
}int idade = 15;
while (idade < 18) {
System.out.println(idade);
idade = idade + 1;
}int x = 0;
do {
System.out.println("Loop do While");
x++;
} while (x < 5);for (int i = 0; i < 10; i = i + 1) {
System.out.println("olá!");
}for (int i = x; i < y; i++) {
if (i % 19 == 0) {
System.out.println("Achei um número divisível por 19 entre x e y");
break;
}
}Scanner input = new Scanner(System.in);
String nome;
int idade;
System.out.println("Digite o seu nome: ");
nome = input.nextLine(); // armazena o primeiro número digitado pelo usuário
System.out.println("Digite a sua idade: ");
idade = input.nextInt(); // armazena o primeiro número digitado pelo usuário
import java.util.Scanner;| Tipos de variáveis | Métodos |
|---|---|
| float numF | input.nextFloat(); |
| int num1 | input.nextInt(); |
| byte byte1 | input.nextByte(); |
| long lg1 | input.nextLong(); |
| boolean b1 | input.nextBoolean(); |
| double num2 | input.nextDouble(); |
| String nome | input.nextLine(); |
import java.util.Scanner;
public class Cadastro {
public static void main(String[] args) {
//cria un Scanner para obter entrada a partir da janela de comando
Scanner input = new Scanner(System.in);
String nome;
int idade;
System.out.println("Digite o seu nome: ");
nome = input.nextLine(); // armazena o primeiro número digitado pelo usuário
System.out.println("Digite a sua idade: ");
idade = input.nextInt(); // armazena o primeiro número digitado pelo usuário
System.out.println("A idade de "+nome+" é "+idade+" anos.");
}
}
int menu = 0;
switch(menu){
case 1 : System.out.println("Últimas ligações"); break;
case 2 : System.out.println("Ligações perdidas"); break;
case 3 : System.out.println("Configurações"); break;
case 4 : System.out.println("Vídeos / Imagens"); break;
default : System.out.println("Mensagens"); break;public class Conta {
int numero;
String dono;
double saldo;
double limite;
}public class Programa {
public static void main(String[] args) {
Conta minhaConta;
minhaConta = new Conta();
minhaConta.dono = "Duke";
minhaConta.saldo = 1000.0;
System.out.println("Saldo atual: " + minhaConta.saldo);
}
}public class Conta {
int numero;
String dono;
double saldo;
double limite;
void saca(double valor) {
double novoSaldo = this.saldo - valor;
this.saldo = novoSaldo;
}
}public class Conta {
int numero;
String dono;
double saldo;
double limite;
void saca(double valor) {
double novoSaldo = this.saldo - valor;
this.saldo = novoSaldo;
}
void deposita(double quantidade) {
this.saldo += quantidade;
}
}public class Programa {
public static void main(String[] args) {
// criando a conta
Conta minhaConta;
minhaConta = new Conta();
// alterando os valores de minhaConta
minhaConta.dono = "Duke";
minhaConta.saldo = 1000;
// saca 200 reais
minhaConta.saca(200);
// deposita 500 reais
minhaConta.deposita(500);
System.out.println(minhaConta.saldo);
}
}public class Conta {
int numero;
String dono;
double saldo;
double limite;
boolean saca(double valor) {
if (this.saldo < valor) {
return false;
} else {
this.saldo = this.saldo - valor;
return true;
}
}
void deposita(double quantidade) {
this.saldo += quantidade;
}
}public static void main(String args[]) {
Conta c1;
c1 = new Conta();
Conta c2;
c2 = new Conta();
}class TestaReferencias {
public static void main(String args[]) {
Conta c1 = new Conta();
c1.deposita(100);
Conta c2 = c1; // linha importante!
c2.deposita(200);
System.out.println(c1.saldo);
System.out.println(c2.saldo);
}
}public static void main(String args[]) {
Conta c1 = new Conta();
c1.dono = "Duke";
c1.saldo = 227;
Conta c2 = new Conta();
c2.dono = "Duke";
c2.saldo = 227;
if (c1 == c2) {
System.out.println("Contas iguais");
}
}public class TestaCarro {
public static void main(String[] args){
Carro meuCarro = new Carro();
meuCarro.cor = "Verde";
meuCarro.modelo = "Fusca";
meuCarro.velocidadeAtual = 25;
meuCarro.velocidadeMaxima = 120;
//liga o carro
meuCarro.liga();
//acelera o carro
meuCarro.acelera(35);
System.out.println("O carro está com: " +meuCarro.velocidadeAtual+" km/h");
//Marcha do Carro
meuCarro.pegaMarcha();
}
}int idade1;
int idade2;
int idade3;
int idade4;int[] idades;idades = new int[10];
//acessando a posição do array
idades[5] = 10;Conta[] minhasContas;
minhasContas = new Conta[10];
// também pode ser desse jeito
Conta[] minhasContas = new Conta[10];public static void main(String args[]) {
int[] idades = new int[10];
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;
}
for (int i = 0; i < 10; i++) {
System.out.println(idades[i]);
}
}public static void main(String args[]) {
int[] idades = new int[10];
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;
}
// imprimindo toda a array
for (int x : idades) {
System.out.println(x);
}
}String nome
String departamento
double salario
String dataAdmissao
String RG;
Desenvolva dois métodos para esta classe
método recebeAumento que aumenta o salario do funcionário de acordo com o parâmetro passado como argumento.
calculaGanhoAnual, que não recebe parâmetro algum, devolvendo o valor do salário multiplicado por 12.
O nome deve ser o seu nome
Insira o salário com o valor de R$ 954,00
Este funcionário recebeu um aumento de R$ 150,00
Insira System.out.println informando o nome do funcionário, o salário e o ganho anual que ele terá
Na classe Funcionário desenvolva um método chamado mostra, no qual imprime todos os atributos do nosso funcionário.
Crie um outro objeto do tipo Funcionário, e atribua os valores a sua escolha.
A Empresa deve ter um método adiciona , que recebe uma referência a Funcionario como argumento e guarda esse funcionário.
Crie uma classe TestaEmpresa que possuirá um método main . Dentro dele crie algumas instâncias de Funcionario e passe para a empresa pelo método adiciona .
public class Produto {
}
class Funcionario {
private double salario ;
void aumentaSalario ( double aumento ) {
// lógica para aumentar o salário
}
}class Conta {
private double saldo;
private double limite;
private Cliente titular;
public double getSaldo() {
return this.saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public double getLimite() {
return this.limite;
}
public void setLimite(double limite) {
this.limite = limite;
}
public Cliente getTitular() {
return this.titular;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
}class Conta {
int numero;
Cliente titular;
double saldo;
double limite;
// construtor
Conta() {
System.out.println("Construindo uma conta.");
}
}class Conta {
int numero;
Cliente titular;
double saldo;
double limite;
// construtor
Conta(Cliente titular) {
this.titular = titular;
}
}Cliente carlos = new Cliente();
carlos.nome = "Carlos";
Conta c = new Conta(carlos);
System.out.println(c.titular.nome);Classe mãe
Classe filha
class Funcionario {
String nome;
String cpf;
double salario;
}class Gerente extends Funcionario {
int senha;
int numeroDeFuncionariosGerenciados;
public boolean autentica(int senha) {
if (this.senha == senha) {
System.out.println("Acesso Permitido!");
return true;
} else {
System.out.println("Acesso Negado!");
return false;
}
}
}class Funcionario {
protected String nome;
protected String cpf;
protected double salario;
}class Gerente extends Funcionario {
int senha;
int numeroDeFuncionariosGerenciados;
public double getBonificacao() {
return this.salario * 0.15;
}
}public void manutencao() {
this.saldo = this.saldo - (this.saldo * 0.1);
}public class TestaContas {
public static void main(String[] args) {
Conta c = new Conta();
ContaCorrente cc = new ContaCorrente();
ContaPoupanca cp = new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
c.manutecao();
cc.manutecao();
cp.manutecao();
System.out.println(c.getSaldo());
System.out.println(cc.getSaldo());
System.out.println(cp.getSaldo());
}
}public interface FiguraGeometrica
{
public String getNomeFigura();
public int getArea();
public int getPerimetro();
}public abstract class Funcionario{
private String nome;
private String departamento;
protected double salario;
private Data dataAdmissao;
private String rg;
//métodos e construtores...
}public abstract class Funcionario{
private String nome;
private String departamento;
protected double salario;
private Data dataAdmissao;
private String rg;
//métodos e construtores...
abstract double bonifica();
}interface Tributavel {
double calculaTributos();
}package sistema.contas;
public class Conta {
// corpo da classe
}package sistema.contas;
public class Conta {
// corpo da classe
}package sistema.contas;
class ContaPoupanca extends Conta {
// corpo da classe
}package sistema.contas;
public class Conta {
// corpo da classe
}package sistema.clientes ;
public class Cliente {
private sistema.contas.Conta conta;
}package sistema.clientes;
import sistema.contas.Conta;
public class Cliente {
private Conta conta;
}Java fornece aos desenvolvedores um mecanismo
sofisticado para manipulação de erros que produz códigos de manipulação eficientes e organizados: a manipulação de exceções.
É pré-definida na linguagem Java, acompanhado de várias outras classes definindo um grande número de categorias de erro.
Os programadores Java, por convenção, caso queiram criar exceções devem estender a classe Exception que é uma subclasse de Throwable.
Throwable
Exception
Error
RuntimeException
IOException
NullPointerException
ClassCastException
FileNotFoundException
ArrayIndexOutOfBoundsException
class Teste {
public static void main ( String [] args ) {
Conta c = new Conta();
try {
c.deposita (100);
} catch ( IllegalArgumentException e) {
System . out. println (" Houve um erro ao depositar ");
}
}
}http://www.devmedia.com.br/trabalhando-com-excecoes-em-java/27601
class MinhaClasse {
}public class MinhaClasse extends Object {
}List lista = new ArrayList();
lista.add("Manoel");
lista.add("Joaquim");
lista.add("Maria");ContaCorrente c1 = new ContaCorrente();
c1.deposita(100);
ContaCorrente c2 = new ContaCorrente();
c2.deposita(200);
ContaCorrente c3 = new ContaCorrente();
c3.deposita(300);
List contas = new ArrayList();
contas.add(c1);
contas.add(c3);
contas.add(c2);
System.out.println(contas.size());
for (int i = 0; i < contas.size(); i++) {
ContaCorrente cc = (ContaCorrente) contas.get(i);
System.out.println(cc.getSaldo());
}ContaCorrente cc = new ContaCorrente();
List lista = new ArrayList();
lista.add("Uma string");
lista.add(cc);List<ContaCorrente> contas = new ArrayList<ContaCorrente>();
contas.add(c1);
contas.add(c3);
contas.add(c2);List<String> lista = new ArrayList<>();
lista.add("Sérgio");
lista.add("Paulo");
lista.add("Guilherme");
System.out.println(lista);
Collections.sort(lista);
System.out.println(lista);ContaCorrente c1 = new ContaCorrente();
c1.deposita(500);
ContaCorrente c2 = new ContaCorrente();
c2.deposita(200);
ContaCorrente c3 = new ContaCorrente();
c3.deposita(150);
List<ContaCorrente> contas = new ArrayList<>();
contas.add(c1);
contas.add(c3);
contas.add(c2);
Collections.sort(contas);public class ContaCorrente extends Conta implements Comparable<ContaCorrente> {
ContaCorrente c1 = new ContaCorrente();
c1.deposita(500);
ContaCorrente c2 = new ContaCorrente();
c2.deposita(200);
ContaCorrente c3 = new ContaCorrente();
c3.deposita(150);
List<ContaCorrente> contas = new ArrayList<>();
contas.add(c1);
contas.add(c3);
contas.add(c2);
Collections.sort(contas);
public int compareTo(ContaCorrente outra) {
if (this.saldo < outra.saldo) {
return -1;
}
if (this.saldo > outra.saldo) {
return 1;
}
return 0;
}
}import java.util.HashSet;
import java.util.Set;
public class Cargos {
public static void main(String[] args) {
Set<String> cargos = new HashSet<>();
cargos.add("Gerente");
cargos.add("Diretor");
cargos.add("Presidente");
cargos.add("Secretária");
cargos.add("Funcionário");
cargos.add("Diretor"); // repetido!
// imprime na tela todos os elementos
System.out.println(cargos);
}
}import java.util.ArrayList;
import java.util.List;
public class Lista {
public static void main(String[] args) {
List lista = new ArrayList();
lista.add("Manoel");
lista.add("Joaquim");
lista.add("Maria");
lista.add("João");
lista.add("Raimundo");
lista.add("José");
lista.add("Francisco");
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i));
}
}
}import java.util.HashSet;
import java.util.Set;
public class Linguagem {
public static void main(String[] args) {
Set<String> conjunto = new HashSet<>();
conjunto.add("Java");
conjunto.add("PHP");
conjunto.add("Vraptor");
conjunto.add("Scala");
conjunto.add("Ruby");
conjunto.add("Angular");
for(String palavra : conjunto){
System.out.println(palavra);
}
}
}
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Lista2 {
public static void main(String[] args) {
Set<String> lista = new HashSet<>();
lista.add("Manoel");
lista.add("Joaquim");
lista.add("Maria");
lista.add("João");
lista.add("Raimundo");
lista.add("José");
lista.add("Francisco");
Iterator<String> i = lista.iterator();
while (i.hasNext()) {
// recebe a palavra
String palavra = i.next();
System.out.println(palavra);
}
}
}ContaCorrente c1 = new ContaCorrente();
c1.deposita(10000);
ContaCorrente c2 = new ContaCorrente();
c2.deposita(3000);
// cria o mapa
Map<String, ContaCorrente> mapaDeContas = new HashMap<>();
// adiciona duas chaves e seus respectivos valores
mapaDeContas.put("diretor", c1);
mapaDeContas.put("gerente", c2);
ContaCorrente contaDoDiretor = mapaDeContas.get("diretor");
System.out.println(contaDoDiretor.getSaldo());Properties config = new Properties();
config.setProperty("database.login", "scott");
config.setProperty("database.password", "tiger");
config.setProperty("database.url","jdbc:mysql:/localhost/teste");
String login = config.getProperty("database.login");
String password = config.getProperty("database.password");
String url = config.getProperty("database.url");
DriverManager.getConnection(url, login, password);public class ExibeMensagens implements Runnable {
private String msg;
public ExibeMensagens (String msg) {
this.msg = msg;
}
public void run (){
for ( int i = 0; i < 1000; i ++){
System . out . println ( i + " : " +this.msg);
}
}
}public class Teste {
public static void main (String[] args){
ExibeMensagens tarefa1 = new ExibeMensagens ("UTD");
ExibeMensagens tarefa2 = new ExibeMensagens ("Java");
ExibeMensagens tarefa3 = new ExibeMensagens ("MySQL");
Thread thread1 = new Thread (tarefa1);
Thread thread2 = new Thread (tarefa3);
Thread thread3 = new Thread (tarefa3);
thread1.start();
thread2.start();
thread3.start();
}
}try {
Thread.sleep (3000) ;
}catch (InterruptedException e) {
}TarefaImprimeMensagens tarefa = new TarefaImprimeMensagens ("UTD");
Thread thread = new Thread (tarefa);
thread.start();
try {
thread.join();
} catch(InterruptedException e){
}public class ExibeMensagens implements Runnable {
private String msg;
public ExibeMensagens (String msg) {
this.msg = msg;
}
public void run (){
for ( int i = 0; i < 1000; i ++){
System . out . println ( i + " : " +this.msg);
if (i % 100 == 0){
try{
Thread.sleep(100);
}catch(InterruptedExceptione) {
}
}
}
}
}JFrame frame = new JFrame ("UTD - Java com Banco de Dados");
frame.setSize (300 , 200);
frame.setVisible (true);JFrame frame = new JFrame ("UTD - Java com Banco de Dados");
JPanel panel = new JPanel ();
frame.setContentPane (panel);JFrame frame = new JFrame ("UTD - Java com Banco de Dados");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel ();
JLabel rotulo = new JLabel ();
rotulo.setText ("Nome: ");
panel.add (rotulo);
JTextField textField = new JTextField (40);
panel.add (textField);
frame.setContentPane (panel);
frame.pack ();
frame.setVisible (true);import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Teste {
public static void main ( String [] args ) {
JFrame frame = new JFrame ("UTD - Login");
frame.setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE );
JPanel panel = new JPanel ();
JLabel label1 = new JLabel ("Usuário: ");
JTextField textField = new JTextField (20) ;
JLabel label2 = new JLabel ("Senha: ");
JPasswordField passwordField = new JPasswordField (20) ;
JButton button = new JButton ("Logar");
panel.add (label1);
panel.add (textField);
panel.add (label2);
panel.add (passwordField);
panel.add (button);
frame.setContentPane (panel);
frame.pack ();
frame.setVisible (true);
}
}import javax.swing.JOptionPane;
public class Addition
{
public static void main(String[] args)
{
// usar as caixas de diálogos de JOptionPane
String firstNumber =
JOptionPane.showInputDialog("Entre com o primeiro número");
String secondNumber =
JOptionPane.showInputDialog("Entre com o segundo número");
// converte os valores inseridos que estão em string para inteiros
int number1 = Integer.parseInt(firstNumber);
int number2 = Integer.parseInt(secondNumber);
int sum = number1 + number2; // add numbers
// mostra o resultado em uma janela de diálogo do JOptionPane
JOptionPane.showMessageDialog(null, "The sum is " + sum,
"Sum of Two Integers", JOptionPane.PLAIN_MESSAGE);
}
} import javax.swing.*;
import java.awt.*;
public class TestBorder{
public static void main(String args[]){
JFrame tela = new JFrame("Combo");
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tela.setVisible(true);
//criando botões
JButton botao01 = new JButton("Botão 01");
JButton botao02 = new JButton("Botão 02");
JButton botao03 = new JButton("Botão 03");
JButton botao04 = new JButton("Botão 04");
JButton botao05 = new JButton("Botão 05");
//adicionando os componentes na tela
tela.getContentPane().add(botao01, BorderLayout.NORTH);
tela.getContentPane().add(botao02, BorderLayout.CENTER);
tela.getContentPane().add(botao03, BorderLayout.WEST);
tela.getContentPane().add(botao04, BorderLayout.SOUTH);
tela.getContentPane().add(botao05, BorderLayout.EAST);
tela.pack();
}
}import javax.swing.*;
import java.awt.*;
public class TestLayout extends JFrame{
public LayoutTest(){
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
//criando botões
JButton botao01 = new JButton("Botão 01");
JButton botao02 = new JButton("Botão 02");
JButton botao03 = new JButton("Botão 03");
JButton botao04 = new JButton("Botão 04");
JButton botao05 = new JButton("Botão 05");
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
pack();
}
public static void main(String args[]){
new LayoutTest();
}
}import javax.swing.*;
import java.awt.*;
public class TestLayout extends JFrame{
public LayoutTest(){
JPanel panel = new JPanel();
//criando botões
JButton botao01 = new JButton("Botão 01");
JButton botao02 = new JButton("Botão 02");
JButton botao03 = new JButton("Botão 03");
JButton botao04 = new JButton("Botão 04");
JButton botao05 = new JButton("Botão 05");
panel.add(botao01);
panel.add(botao02);
panel.add(botao03);
panel.add(botao04);
panel.add(botao05);
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
pack();
}
public static void main(String args[]){
new LayoutTest();
}
}Organiza os componentes em um grid (tabela) com várias linhas e colunas (podemos definir no construtor).
import java.awt.*;
import javax.swing.*;
public class ExemploGridLayout {
public static void main(String[] args){
//Criaremos alguns botões
JButton bt1 = new JButton("Botão 1");
JButton bt2 = new JButton("Botão 2");
JButton bt3 = new JButton("Botão 3");
JButton bt4 = new JButton("Botão 4");
JFrame minhaJanela = new JFrame("Exemplo de GridLayout");
minhaJanela.setSize(400,400);
minhaJanela.setLocation(100,100);
minhaJanela.getContentPane().setLayout(new GridLayout(2,2));
minhaJanela.getContentPane().add(bt1);
minhaJanela.getContentPane().add(bt2);
minhaJanela.getContentPane().add(bt3);
minhaJanela.getContentPane().add(bt4);
minhaJanela.setVisible(true);
}
}A parte de controle de entrada e saída de dados (conhecido como io) é orientada a objetos e usa os principais conceitos mostrados até agora: interfaces, classes abstratas e polimorfismo.
A ideia atrás do polimorfismo no pacote java.io é de utilizar fluxos de entrada (InputStream) e de saída (OutputStream) para toda e qualquer operação, seja ela relativa a um arquivo, a um campo de banco de dados, a uma conexão remota via sockets, ou até mesmo às entrada e saída padrão de um programa (normalmente o teclado e o console).
class TestaEntrada {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("arquivo.txt");
int b = is.read();
}
}AudioInputStream
FileInputStream
ObjectInputStream
ByteArrayOutputStream
FileOutputStream
ObjectOutputStream
Scanner s = new Scanner(System.in);
PrintStream ps = new PrintStream("file.txt");
while (s.hasNextLine()) {
ps.println(s.nextLine());
}public class TestaEntrada {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("arquivo.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
while(s != null){
System.out.println(s);
s = br.readLine();
}
br.close();
}
}import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class CapturaEventoBotao implements ActionListener {
private JButton botao;
public void janela(){
JFrame frame = new JFrame();
botao = new JButton();
//REGISTRA O EVENTO
botao.addActionListener(this);
frame.getContentPane().add(botao);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,100);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent evento) {
botao.setText("Botão foi clicado!");
//ALTERA A FONTE
botao.setFont(new Font("SansSerif", Font.BOLD, 20));
}
public static void main(String[] args) {
CapturaEventoBotao captura = new CapturaEventoBotao();
captura.janela();
}
}NomeDaClasse
+ Atributo1
- Atributo2
# Atributo3
+ Método1
- Método2
Atores
São softwares que gerenciam o banco de dados em si.
Armazena, manipula e recupera dados unicamente estruturados na forma de tabelas.
Também denominado NoSQL.
A grande vantagem/desvantagem consiste que não podem exigir esquemas de tabela fixa e, geralmente, não suportam instruções e operações de junção SQL.
Bancos de dados NoSQL armazenam os dados com técnicas que visam oferecer escalabilidade horizontal como a computação nas nuvens e a demanda das grandes empresas da internet dos dias atuais.
mysql -h localhost -u root -p
mysql - evocamos o servidor
-h - dizemos que o próximo dado é referente ao host
localhost - informamos o o host
-u - dizemos que o próximo dado é referente ao usuário
root - informamos o usuário
-p - dizemos que o próximo dado é referente a senha
);
INSERT INTO cadastroAluno(codigo, nome, email) VALUES (null, “Ricardo”, “ricoarrigoni@gmail.com”) ; INSERT INTO cadastroAluno(codigo, nome, email) VALUES (null, “João”, “joao@gmail.com”) ; INSERT INTO cadastroAluno(codigo, nome, email) VALUES (null, “Maria”, “maria@gmail.com”) ;
SELECT * FROM cadastroAluno;
Todos os registros da tabela foram retornados. Isso se deu porque o uso do SELECT * faz com que a consulta retorne todos os valores da tabela.
SELECT email FROM cadastroAluno;
Se quisermos que os registros retornados venham ordenados, nós podemos usar o comando ORDER BY, basta dizer pelo que você quer ordenar que ele traz o registro ordenadoTodos os registros da tabela foram retornados.
SELECT * FROM cadastroAluno ORDER BY nome asc;
Para alterar a tabela inserindo mais uma nova coluna.
ALTER TABLE cadastroAluno ADD COLUMN nacionalidade VARCHAR(30);
Para inserir uma nova coluna após uma determinada coluna:
ALTER TABLE cadastroAluno ADD COLUMN nascimento DATE AFTER nome;
Para alterar as configurações de uma coluna
ALTER TABLE cadastroAluno MODIFY COLUMN cpf VARCHAR(35) UNIQUE DEFAULT '';
Para alterar o nome de uma tabela
ALTER TABLE cadastroAluno RENAME TO cadastroDeAluno;
Para alterar um registro, usamos o comando update, com ele é possível editar os campos de sua tabela e colocar outro valor neles.
UPDATE cadastroAluno SET nome=”Ricardo Arrigoni” WHERE codigo=1;
Responsável por remover todo e qualquer registro do bando de dados.
DELETE FROM cadastroAluno WHERE codigo=3;
Muitos sistemas precisam manter as informações com as quais eles trabalham.
permitir consultas futuras;
geração de relatórios;
possíveis alterações nas informações.
Processo de armazenamento de dados.
JDBC é a biblioteca de persistência em banco de dados relacionais do Java.
Existem diversas ferramentas do tipo ORM (Object Relational Mapping) que facilitam bastante o uso do JDBC.
Necessidade de dois computadores se comunicarem, existe diversos protocolos que permite a troca de informação: o protocolo mais famoso é TCP (Transmission Control Protocol).
Com TCP é possível criar um fluxo entre dois computadores.
A vantagem de se usar TCP, em vez de criar nosso próprio protocolo de bytes, é que o TCP vai garantir a entrega dos pacotes que transferirmos e criar um protocolo base para isto é algo bem complicado.
Como é possível se conectar a dois pontos? Como é possível ser conectado por diversos pontos?
O IP identifica uma máquina, a porta é a solução para identificar diversas aplicações em uma máquina. Se todas as portas de uma máquina estiverem ocupadas, não é possível se conectar a ela enquanto nenhuma for liberada.
É um conector entre a aplicação e o SGBD.
a ela como JDBC.
Entre as diversas interfaces deste pacote, existe a interface Connection que define métodos para executar uma query (como um insert e select), comitar transação e fechar a conexão, entre outros. Caso queiramos trabalhar com o MySQL, precisamos de classes concretas que implementem essas interfaces do pacote java.sql.
Todos os principais bancos de dados do mercado possuem drivers JDBC para que você possa utilizá-los com Java.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public Connection getConnection() {
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
return DriverManager.getConnection(
"jdbc:mysql://localhost/agenda", "root", "utd123456");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
package br.com.utd.conexao;
import java.sql.Connection;
import java.sql.SQLException;
public class TestaConexao {
public static void main(String[] args) throws SQLException {
Connection connection = new ConnectionFactory().getConnection();
System.out.println("Conexão aberta!");
connection.close();
}
}
O Hibernate abstrai o seu código SQL, toda a camada JDBC e o SQL será gerado em tempo de execução.
Para download acesse: http://hibernate.org/
| Propriedades | Restrição |
|---|---|
| length | Limita a quantidade de caracteres de uma string |
| nullable | Determina se o campo pode possuir valores null ou não |
| unique | Determina se uma coluna pode ter valores repetidos ou não |
| precision | Determina a quantidade de dígitos de um número decimal a serem armazenadas |
| scale | Determina a quantidade de casas decimais de um número decimal |
@Entity
class Estado {
@Id
@GeneratedValue
private Long id;
@OneToOne
private Governador governador;
}