Variables

Description

How to use variables

Module Information

No tags specified
O que é uma variável de instância What is an instance variable Português: Uma variável de instância é uma variável declarada dentro da classe, mas fora de qualquer método. Ela pertence ao objeto. English: An instance variable is a variable declared inside the class, but outside any method. It belongs to the object. Onde a variável de instância é declarada Where an instance variable is declared Português: Ela é declarada no corpo da classe, fora do main e fora de outros métodos. English: It is declared in the class body, outside the main method and other methods. Como acessar uma variável de instância How to access an instance variable Português: Para acessar uma variável de instância, você precisa criar um objeto da classe. English: To access an instance variable, you need to create an object of the class. Example: public class Person {     String name; }   Person p = new Person(); p.name = "Ana"; Relação com métodos static Relation with static methods Português: Um método static não pode acessar variáveis de instância diretamente. English: A static method cannot access instance variables directly. Por isso, no main, você precisa criar um objeto. Valores padrão Default values Português: Se você não inicializar uma variável de instância, o Java atribui um valor padrão. English: If you do not initialize an instance variable, Java assigns a default value. int → 0 double → 0.0 boolean → false String / objects → null   Diferença entre variável local e de instância Difference between local and instance variables Português: Variável local fica dentro do método e precisa ser inicializada. Variável de instância fica na classe e tem valor padrão. English: A local variable is inside a method and must be initialized. An instance variable is in the class and has a default value.   Encapsulamento Encapsulation Português: Normalmente, variáveis de instância são private e acessadas por getters e setters. English: Usually, instance variables are private and accessed using getters and setters.   Uso no mundo real Real-world usage Português: Variáveis de instância representam o estado do objeto. English: Instance variables represent the state of the object. Exemplo / Example: User → name, email Car → model, color
Show less
No tags specified
Primeira palavra começa com letra minúscula e a segunda com letra maiúscula. Ex: quantidadePassos   Variáveis de referência: São referências para um posição na memória.Nesse caso, guarda o endereço de memória que tem as informações da Brenda: Patient Brenda = new Patient(); Typecast Requer cuidado para fazer conversão explícita
Show less
No tags specified
1️⃣ Conversão de int para double (expansão automática / implícita) Quando você tem um int e atribui a um double, o Java converte automaticamente. Isso é chamado conversão implícita ou widening. int idade = 25; double idadeDouble = idade; // conversão implícita System.out.println(idadeDouble); // 25.0 Regra: int → double é seguro. Não perde informação. Sempre acontece automaticamente.   2️⃣ Conversão de double para int (redução / explícita) Quando você tem um double e quer colocar em um int, você precisa fazer um typecast explícito. double altura = 1.75; int alturaInt = (int) altura; // typecast explícito System.out.println(alturaInt); // 1 Regras importantes: Perda de informação: a parte decimal é descartada (não arredonda, apenas corta). Se precisar arredondar, pode-se usar Math.round(), Math.floor() (arredondamento para baixo) ou Math.ceil() (arredondamento para cima). Deve sempre usar (int) na frente do valor.   3️⃣ Divisão e conversão implícita Se você divide int / int, o resultado é int, mesmo que atribua a um double: int cm = 170; double m = cm / 100; // 1.0 (parte decimal perdida) Para obter decimal, pelo menos um operando deve ser double: double m = cm / 100.0; // 1.7 double m2 = (double) cm / 100; // 1.7    
Show less
No tags specified
1️⃣ Escopo de método / local (Method / Local Scope) PT: Variáveis declaradas dentro de um método só existem dentro dele. EN: Variables declared inside a method exist only within that method. public class Main {     public static void main(String[] args) {         int idade = 25; // variável local / local variable         System.out.println(idade); // funciona / works     }     // System.out.println(idade); // ❌ erro / error, idade não existe aqui / does not exist here }   2️⃣ Escopo de bloco / block (Block Scope) PT: Variáveis declaradas dentro de {} só existem naquele bloco. EN: Variables declared inside {} exist only within that block. public class Main {     public static void main(String[] args) {         if (true) {             int x = 10; // escopo do bloco / block scope             System.out.println(x); // funciona / works         }         // System.out.println(x); // ❌ erro / error, x não existe aqui / does not exist here     } }   3️⃣ Escopo de classe / global (Class / Global Scope) PT: Variáveis declaradas na classe (fora de métodos) podem ser usadas por todos os métodos da classe. EN: Variables declared in the class (outside methods) can be used by all class methods. public class Patient {     String name; // atributo da classe / class attribute     public void printName() {         System.out.println(name); // funciona / works     } }   4️⃣ Escopo de parâmetro / parameter scope PT: Variáveis passadas como parâmetros existem apenas dentro do método. EN: Variables passed as parameters exist only inside the method. public class Main {     public static void main(String[] args) {         printAge(30); // chama o método / calls the method     }     public static void printAge(int idade) { // parâmetro / parameter         System.out.println(idade); // funciona / works     }     // System.out.println(idade); // ❌ erro / error, idade não existe aqui / does not exist here }                    
Show less
No tags specified
🔹 == vs .equals() in Java 1️⃣ == (Double equals) == compares primitive values or object references. ✅ With primitives (int, double, boolean, etc.) It compares the actual value. int a = 10; int b = 10; System.out.println(a == b); // true Because both values are 10. ⚠️ With objects (like String) == compares the memory address, NOT the content. String a = new String("hello"); String b = new String("hello"); System.out.println(a == b); // false Why? Because they are two different objects in memory   2️⃣ .equals() .equals() compares the content of objects. String a = new String("hello"); String b = new String("hello"); System.out.println(a.equals(b)); // true Because both contain the same text Better practice: if ("Brenda".equals(name)) {   📌 Quick Summary (Português) == compara valor (primitivos) ou endereço de memória (objetos) .equals() compara conteúdo
Show less
Show full summary Hide full summary