Operadores importam?
Já fiz diversos cursos iniciais e todos têm uma coisa em comum, mostrar os operadores matemáticos. Eu entendo que é para treinar a lógica de quem está iniciando mas para alguém que já entende essa base vale a pena estudar operadores de uma nova linguagem?
Pergunto pois como já postei aqui, estou fazendo o bootcamp da DIO de java para backend e cheguei nessa parte agora mas eu já tenho a lógica necessária para fazer contas e fiquei com essa dúvida.
Bom, uma olhada rápida não faz mal. Embora na maioria das linguagens os operadores funcionem basicamente da mesma forma, existem diferenças sutis dependendo da linguagem.
Por exemplo, ao dividir dois números inteiros, qual o resultado? Em algumas linguagens (Java, C, etc), o resultado é truncado para um inteiro (7 / 2
resulta em 3
), mas em outras o resultado é um float
(em JavaScript e Python, 7 / 2
resulta em 3.5
). Inclusive Python possui o operador //
para a "divisão inteira", ou seja, 7 // 2
resulta em 3
.
Algumas linguagens definem o operador **
para exponenciação, outras não (e geralmente possuem uma função para tal).
O operador %
(resto da divisão) costuma ser o mais divergente quando há números negativos envolvidos. Por exemplo, -7 % 2
pode ser 1
ou -1
dependendo da linguagem.
Cada linguagem pode ter limites para os valores numéricos, e certas operações podem dar overflow. Por exemplo, em Java 2000000000 * 2
resulta em -294967296
, já que o resultado (4 bilhões) ultrapassa o valor máximo de um int
. Em Python isso não ocorre. Cada linguagem possui limites diferentes para tipos diferentes, e isso influi nos resultados de cada operador.
Outro que costuma dar diferença é o +
, que em muitas linguagens também serve para concatenar strings. E mesmo que um dos operandos não seja string, se tiver pelo menos uma, os demais podem ou não ser convertidos automaticamente. Tanto que "1" + 1
resulta em 11
em JavaScript, pois o segundo operando é convertido para string e é feita a concatenação, mas em PHP a string é convertida para número e o resultado é 2
(em PHP, a concatenação de strings é feita com o operador .
então "1". 1
resulta na string "11"
).
Há linguagens que permitem que operadores sejam sobrecarregados, ou seja, definidos para qualquer tipo de objeto, e aí cada caso pode ter um comportamento diferente.
Enfim, embora o básico seja igual, sempre tem essas diferenças sutis, pois operadores é algo que vai além da matemática básica. Por isso é bom sempre dar uma olhada na linguagem específica que vc for usar.
Claro que operadores importam.
A sua pergunta na vdd é "preciso estudar os operadores?". Até onde sei, em qualquer linguagem os operadores são os mesmos e fazem as mesmas coisas (pelo menos o básicão +, -, /, * ...)
Se tu aprendeu de um, aprendeu de todos. Passa o olho no conteúdo pra ver se não tem nenhuma particularidade e vida que segue. Definitivamente não é algo que se precise passar mais de 1hora estudando.