相关疑难解决方法(0)

分号在'if'语句结束时

今天,经过半小时的搜索bug,我发现可以在if语句后面加一个分号而不是代码,如下所示:

if(a == b);
// Do stuff
Run Code Online (Sandbox Code Playgroud)

这基本上意味着无论a是否等于b都会完成,if语句没有任何意义.为什么Java没有给我一个错误?有什么情况可以使用吗?

java if-statement

65
推荐指数
7
解决办法
3万
查看次数

什么时候你会在一个方法关闭括号后放一个分号?

我已经用Java编程了一段时间,我第一次遇到这种语法:

public Object getSomething(){return something;}; 
Run Code Online (Sandbox Code Playgroud)

有趣的是我的最后一个分号.它似乎没有导致编译器错误,并且据我所知不会生成运行时错误,所以它似乎是有效的语法.我什么时候会使用这种语法?或者它只是允许但通常不使用的东西?

java syntax

15
推荐指数
3
解决办法
8947
查看次数

为什么Java在语句结尾处不显示双分号错误?

我不小心写了一个带有两个分号的java语句.java编译器没有显示任何错误,它运行.

码:

System.out.println("Length after delete the text is "+name.length());;
Run Code Online (Sandbox Code Playgroud)

出于学习目的,我尝试在分号后添加不同的字符,并且java编译器已将编译时错误显示为令牌")"上的语法错误,删除此标记.

这个说法:

System.out.println("Length after delete the text is "+name.length());)
Run Code Online (Sandbox Code Playgroud)

为什么java将分号和其他字符视为不同?

java java-compiler-api

11
推荐指数
3
解决办法
9174
查看次数

为什么连续分号的代码会编译?

根据我的科学Java实验,int x = 0;相当于int x = 0;;相当于int x = 0;;;;;;;;;;;;;;;

  1. 为什么Java允许这样做?它有什么实际应用吗?
  2. 这些都是空洞的陈述吗?他们实际上是否在运行时占用了额外的处理时间?(我会假设他们刚刚优化了?)
  3. 其他语言是这样做的吗?我猜它是从C继承的东西,就像Java中的很多东西一样.这是真的?

java

9
推荐指数
3
解决办法
1430
查看次数

当我用两个分号结束一行时,编译器不会抱怨.为什么?

当我结束这样一条线时,我觉得会发生不好的事情.但编译器甚至没有抱怨.有没有人有一个想法,为什么这在java中是合法的.

displayDataMap.put("dateInterval", getDateInterval());;

编辑:Eclipse没有抱怨的原因是因为preference->java->compiler->Errors/Warning我有Empty语句:as ignore.

在此输入图像描述

java

5
推荐指数
1
解决办法
2947
查看次数

标签 统计

java ×5

if-statement ×1

java-compiler-api ×1

syntax ×1