Во время написания одной программы возник интересный вопрос: "Можно ли как-то присвоить нескольким переменным одинаковое значение с помощью одного оператора присваивания?" То есть если я, например, не хочу каждой переменной отдельно присваивать каждое значение?
Или так (необходимо отметить, что данный способ работает только для примитивных типов):
int a, b, c;
a = b = c = 1;
System.out.println(a + " " + b + " " + c);
// выведет 1 1 1
// изменяем значение одной из переменных
c = 2;
System.out.println(a + " " + b + " " + c);
//выведет 1 1 2, т.е. значение "с" изменилось, а остальных - нет
В случае работы с ссылочными типами будет совсем другая картина:
class Proba{
public static void main(String[] args){
MyClass a, b, c; //объявляем три ссылки типа MyClass
a = b = c = new MyClass();
//присваиваем полю "x" значение 1 в ссылке "а"
a.setX(1);
//при выводе всех значений "x" получаем одинаковые значения везде
System.out.println(a.getX() + " " +
b.getX() + " " + c.getX());
//присваиваем значение 2 полю "x" в ссылке "b"
//получаем 2 при выводе "x" во всех ссылках
b.setX(2);
System.out.println(a.getX() + " " +
b.getX() + " " + c.getX());
}
}
class MyClass{
private int x;
public void setX(int param){
x = param;
}
public int getX(){
return x;
}
}
В данном случае все три ссылки "a", "b" и "c" являются типом класса MyClass и указывают на один и тот же объект (экземпляр этого класса). Значение поля "x" в данном классе будет единственным, хотя обращаться к нему можно через методы по любой ссылке a.getX(), b.getX() или c.getX(). При выводе возвращаемых значений этих методов "x" будет один и тот же. При изменении поля "x" в данном классе по любой из ссылок "a", "b" или "с" значение поля "x" будет снова одно, т.к. объект всего один, на него всего лишь указывают (в данном примере) три переменные одинакового типа.
Разве что так
int a;
int b;
a = b = 42;
Есть готовое приложение учета зарплатыВ нем есть 5 категорий - зарплата, аванс, больничные, отпускные, иное
Вот создаю ArrayList для массивов, чтобы потом удалить в них значения, но у третьей строчки выскакивает ошибка у <> - Cannot infer argumentsЧто за непонятная...
Я создаю канал с помощью команды + упомнинанием от 1 и более участника сервер и хочу сделать его частным, и чтобы только определенные люди...
Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав его