Soy un novato de Java. Solo lo he usado por unos días y todavía estoy tratando de resolverlo todo. En un programa, ¿una línea es lo mismo que una declaración?¿Es una línea en un programa Java lo mismo que una instrucción?
Respuesta
No. El compilador de Java no mira las líneas, el espaciado u otros problemas de formato al compilar un programa. Solo quiere ver el ;
al final de cada declaración . Esta línea de funcionaría bien:
int i = 13; i += 23;
Sin embargo, haciendo cosas como esta pueden - y lo más probable es que - los problemas de legibilidad causa con el código fuente. Por esta razón, no es recomendable.
También es posible que una sola declaración a ocupar varias líneas:
int i =
13;
En un programa, ¿es una línea lo mismo que una afirmación?
Nº
¿Quieres saber la diferencia? Empezar con la JLS §14.5: Blocks and Statements:
Statement: StatementWithoutTrailingSubstatement LabeledStatement IfThenStatement IfThenElseStatement WhileStatement ForStatement StatementWithoutTrailingSubstatement: Block EmptyStatement ExpressionStatement AssertStatement SwitchStatement DoStatement BreakStatement ContinueStatement ReturnStatement SynchronizedStatement ThrowStatement TryStatement StatementNoShortIf: StatementWithoutTrailingSubstatement LabeledStatementNoShortIf IfThenElseStatementNoShortIf WhileStatementNoShortIf ForStatementNoShortIf
Esta línea incluye dos declaraciones:
j = 5; j += 3;
Por lo tanto, una línea no es necesariamente una declaración ...
No. Me puede escribir:
int x = 1; int y = 2;
Esa es una línea, y dos declaraciones.
Solo por práctica común y por legibilidad. En Java, las sentencias terminan con punto y coma, o en el caso de bloques, con pares de curlybraces ({}).
Según Java grammar:
Statement:
Block
if ParExpression Statement [else Statement]
for (ForInitOpt ; [Expression] ; ForUpdateOpt) Statement
while ParExpression Statement
do Statement while ParExpression ;
try Block (Catches | [Catches] finally Block)
switch ParExpression { SwitchBlockStatementGroups }
synchronized ParExpression Block
return [Expression] ;
throw Expression ;
break [Identifier]
continue [Identifier]
;
ExpressionStatement
Identifier : Statement
Sobre la base de esto se puede ver fácilmente que una sentencia puede abarcar varias líneas, sino también sola línea puede alojar múltiples declaraciones. También tenga en cuenta que la declaración es un término muy amplio.
Su punto es? – delnan
Sólo una cabeza, esa no es la versión más reciente de JLS. –
- 1. es SSIS inserción masiva lo mismo que una inserción masiva
- 2. ¿Es Java 1.6 lo mismo que JDK 6?
- 3. ¿Window.location() es lo mismo que una solicitud GET?
- 4. ¿Es OpenJDK JVM lo mismo que Oracle Java SE JVM?
- 5. ¿Es posible hacer lo siguiente en una instrucción Switch - C++?
- 6. puntero NULL es lo mismo que desasignarlo?
- 7. ¿DbContext es lo mismo que DataContext?
- 8. ¿Es '<? =' Lo mismo que 'eco'?
- 9. ¿Es LinqToSQL lo mismo que Linq?
- 10. YARD no es lo mismo que RDoc?
- 11. ¿Es "extend self" lo mismo que "module_function"?
- 12. ¿No es 00.0 lo mismo que 0.0?
- 13. es si (variable) lo mismo que si en Objective-C
- 14. ¿Es dp lo mismo que dip?
- 15. ¿Corba es lo mismo que SOA?
- 16. ¿Es 'yield self' lo mismo que instance_eval?
- 17. ¿Es AppendHeader exactamente lo mismo que AddHeader?
- 18. ¿Currying es lo mismo que sobrecargar?
- 19. ¿Es una instrucción LINQ más rápida que un bucle 'foreach'?
- 20. ¿Es el mango lo mismo que un puntero inteligente?
- 21. Python: instrucción try en una sola línea
- 22. instrucción MySQL que devuelve una instrucción SQL?
- 23. ¿Es una cadena de Markov lo mismo que una máquina de estado finito?
- 24. ¿Cómo veo un STDOUT de un programa en ejecución de un programa perl que lo llamó?
- 25. Encoding.Default no es lo mismo que ninguna codificación en File.ReadAllText?
- 26. lo que es un método abstracto en una interfaz en Java
- 27. Explicación sobre una instrucción Java
- 28. Cuando el método devuelve vacío, ¿es lo mismo que una tarea?
- 29. ¿Qué es una instrucción JVM?
- 30. ¿Es syscall una instrucción en x86_64?
Tantas respuestas ... ¿Cuál acepto? – Benny
Acepte el que funcione para usted. – fireshadow52
El que sea más útil para usted. Si todos son igualmente útiles, generalmente se acepta la primera respuesta publicada. –