Kurose - CAp 1 Respostas
Por: marcio ariani • 8/2/2016 • Abstract • 2.739 Palavras (11 Páginas) • 678 Visualizações
Aula 31 - Precedência de Operadores usando Parênteses
Quando se usa o parênteses, o mesmo será executado primeiramente.
Ex.: int a = 15 * 4 + 1;
int b = 15 * (4 + 1);
No acima acima, em b os valores que estão dentro dos parênteses, serão os
primeiros a serem executados.
Aula 32 - Igualdade entre Strings usando == & equals() Parte 1
*Variáveis de referência.
Variáveis de referência apontam para as posições da memória.
Ex.: String nome1 = new String("Java");
String nome2 = new String("Java");
sysout(nome1 == nome2);
No caso acima a saída será false, pois aqui estão sendo verificadas as posições das
variáveis na memória, e não os seus respectivos valores.
*Variáveis de forma literal.
Ex.: String nome1 = "Java";
String nome2 = "Java";
sysout(nome1 == nome2);
No caso acima a saída será true, pois aqui esta sendo verificados os valores das
variáveis e não as suas respectivas posições de memória.
No caso do metódo de comparação .equals(), o mesmo faz a comparação dos valores das
variáveis sem restrição, sendo uma verificação de referência ou variável de forma
literal.
Aula 33 - Igualdade entre Strings usando == & equals() Parte 2
ComparacaoString2.java
String ab = "a" + "b";
A variável ab é literal e vai ser colocada no poll.
Ex.: String a = "a";
String ab1 = a + "b";
A variável ab1 não vai ser colocada no poll, pois será criado uma nova String ou um
novo objeto.
Ex.: sysout(ab1 == "ab");
No comando acima o retorno será false, pois são duas Strings/Objetos diferentes.
ComparacaoString3.java
Ex.: String tx1 = "Um texto qualquer";
String tx2 = "texto";
String txt2 = tx1.substring(3, 8);
O comando acima irá retornar um novo objeto, o metódo substring irá contar a String
tx1 da posição 3 até 8 (Saída: "texto").
Nem sempre na chamada de um metódo é criada uma nova String ou um novo objeto.
Ex.: sysout(tx1.toLowerCase() == tx1);
No comando acima não cria uma nova String e o retorno é true.
Ex.: sysout(tx1.toUpperCase() == tx1);
O comando acima irá retornar false.
ContaString.java
Contando a quantidade de objetos criados:
Ex.: String h = new String("hello");
No comando acima será criado dois objetos, o primeiro objeto criado foi o 'new String()',
e o segundo objeto criado foi o 'hello'.
Ex.: String h1 = "hello";
No comando acima não será criado nenhum objeto, pois o objeto "hello" já foi criado
acima.
Ex.: String w = "world";
Aqui é criado apenas um objeto, "world" é o objeto criado.
Ex.: sysout(h1 + "world");
No comando é criado apenas um objeto, na concatenção da String h1 com o valor "world".
Ex.: sysout("Hello" + h1);
No comando acima é criado apenas um objeto, "Hello" é o objeto criado.
Aula 34 - Igualdade entre Strings usando == & equals() Parte Final
RunCliente.java
Cliente c1 = new Cliente("Murillo");
Cliente c2 = new Cliente("Mark");
Cliente c3 = new Cliente("Murillo");
sysout(c1 == c2);
No comando acima irá retornar false, pois foi criado dois objetos diferente, esta
comparando os endereços das variáveis.
sysout(c1 == c3);
No comando acima irá retornar false, pois foi criado dois objetos diferente, esta
comparando os endereços das variáveis.
sysout(c1 == c1);
No comando acima irá retornar true, pois esta comparando dois objetos com o mesmo
endereço de variável.
sysout(c1.equals(c2));
No comando acima irá retornar false, pois o metódo .equals() esta comparando os valores
das variáveis.
sysout(c1.equals(c3));
No comando acima irá retornar true, pois o metódo .equals() esta comparando os valores
das variáveis.
Exercícios - Igualdade entre Strings usando == & equals
String
...