| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/06/2010 22:03:20
|
wss
Smalltalk
Membro desde: 09/06/2010 19:08:01
Mensagens: 3
Offline
|
Boa noite a todos.
Este é o primeiro post que faço nesse fórum.
Sou extremamente iniciante em Java, OO e em programação como um todo. Escolhi o Java para ingressar nesse mundo de desenvolvimento de software que sempre achei muito interressante.
Para isso, estou usando o livro USE A CABEÇA! JAVA. Mas tenho algumas dificuldades conforme coloco abaixo.
Estou analisando o seguinte algoritmo, que está disponível na páginas 66 do citado livro e fiquei com as dúvidas que coloquei logo abaixo desse código:
Mesmo seguindo fielmente a ordem dos assuntos apresentados pelo livro em questão, não consigo sanar a dificuldade de entender esse código que coloquei acima, parece que nele há recursos que ainda não foram apresentados pelo livro, náo sei...
Na linha 23, entendo que está sendo criada uma classe de nome maybeNew, até aí tudo bem, mas o que significa a variável int index que está entre parênteses nesta mesma linha? Vejo que ela é usada no comando IF da linha 25, mas as variáveis não devem ser criadas em uma linha a parte, dentro do corpo da classe? Ou isso não faz diferença?
Na linha 27, é criado o objeto m4, com base na classe Mix401, ok!
Na linha 29, o que consigo entender, é que a variável counter do objeto m4 é somada em 1 e o resultado dessa soma é atribuído a ela mesma, ou seja, à variável counter do objeto m4. Mas essa variável, antes da soma, tem qual valor? Zero?
Na linha 30, há um retorno de valor 1. O que significa isso exatamente? Esse retorno é armazenado em que local? Esse valor 1 é usado para alguma coisa durante a execução desse código?
Na linha 32, novamente há um retorno, segue as mesmas dúvidas que fiz para a linha 30.
Não sei se compliquei muito para colocar minhas dificuldades, mas é isso.
O pessoal que já conhece o livro, pode me dizer se isso que estou perguntando será tratado posteriormente à página 66?. Já reli os capítulos iniciais para ver se não me atentei a alguma explicação, mas não ajudou muito. He, he...
Obrigado.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/06/2010 23:24:16
|
Diego Silveira
Debugger
Membro desde: 12/10/2007 17:15:25
Mensagens: 68
Offline
|
Na linha 23, entendo que está sendo criada uma classe de nome maybeNew, até aí tudo bem, mas o que significa a variável int index que está entre parênteses nesta mesma linha? Vejo que ela é usada no comando IF da linha 25, mas as variáveis não devem ser criadas em uma linha a parte, dentro do corpo da classe? Ou isso não faz diferença?
Nesta linha esta sendo criado um método (ou operação) dentro da classe Mix401, e não uma classe. A variável int index é um parâmetro que este método recebe.
Na linha 29, o que consigo entender, é que a variável counter do objeto m4 é somada em 1 e o resultado dessa soma é atribuído a ela mesma, ou seja, à variável counter do objeto m4. Mas essa variável, antes da soma, tem qual valor? Zero?
Exatamente. Perceba que a variável é iniciada como 0 na linha 2. Na primeira execução do método maybeNew, seu valor é igual a 0. Logo nesta primeira execução ela fica igual a 1, pois counter = conter + 1. Na proxima execução, seu valor será 2, e assim sucessivamente. Lembre-se, primeiro o Java faz a operação (soma) e depois a atribuição (armazenamento).
Na linha 30, há um retorno de valor 1. O que significa isso exatamente? Esse retorno é armazenado em que local? Esse valor 1 é usado para alguma coisa durante a execução desse código?
O retorno é o resultado da operação/método. Neste caso ele será usado na linha 16. Uma vez que o return é executado, o fluxo do método é interrompido e retorna para a parte do código que a invocou.
Qualquer dúvida é so falar!
|
Diego Silveira
Ciência da Computação - UFU
SCJP 6
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/06/2010 07:16:46
|
wss
Smalltalk
Membro desde: 09/06/2010 19:08:01
Mensagens: 3
Offline
|
Bom dia!
Obrigado pela ajuda. Vendo agora com mais detalhes o que acontece em cada linha fica mais fácil entender.
Acho que preciso revisar alguns conceitos.
Obrigado Diego.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/06/2010 07:51:27
|
diego.hordi
Entusiasta Java
Membro desde: 24/03/2010 13:59:13
Mensagens: 21
Offline
|
Bom dia!
Não querendo ser chato ou pragmático demais, mas realmente é necessário antes de prática, teoria - pois do contrário, perde o direcionamento. Todavia, lhe recomendo que estude bastante orientação à objetos, de forma à saber o que cada conceito significa, e depois sim, se exercitar com o Java. Pois o Java - fantástico do jeito que é - vai lhe abrir muitas portas e se você não souber, por exemplo, o que é herança ou encapsulamento, vai ficar perdido, com toda a certeza.
Bons estudos!
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/06/2010 08:30:59
|
DanielGimenes
Thread.start()
![[Avatar]](/images/avatar/90c4dea8341bf29fab84b8600fca1cf6.png)
Membro desde: 28/01/2010 13:40:04
Mensagens: 48
Localização: São Paulo
Offline
|
wss,
Recomendo que vc estude OO antes de ler este ou outros livros de Java. Vc cometeu erros básicos na hora de escrever o post (como chamar o counter de variável, e achar que na linha 23 uma classe estava sendo criada), e acredito que ler um livro de OO vai facilitar muito a sua vida para depois entender Java, além de que Orientação a Objetos é um paradigma que te ajudará a pensar em arquitetura de sistemas, etc, e não é restrito à linguagem.
[[]]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/06/2010 10:32:36
|
wss
Smalltalk
Membro desde: 09/06/2010 19:08:01
Mensagens: 3
Offline
|
Boa dia amigos.
Diego e Daniel, agradeço pela dica. Eu achava que o livro iria comentar OO de forma suficiente, mas a dica de vocês é ótima. Tá bem difícil mesmo entender esses código.
Alguém pode sugerir alguma bibliografia e Orientação a Objetos boa para leigo?
Obrigado a todos.
|
|
|
 |
|
|
|
|