如果我尝试编译
for(;;)
{
}
System.out.println("End");
Run Code Online (Sandbox Code Playgroud)
Java编译器产生错误说Unreachable statement.但是,如果我添加另一个" 无法访问 "(根据我)break声明并使其成为:
for(;;)
{
if(false) break;
}
System.out.println("End");
Run Code Online (Sandbox Code Playgroud)
它汇编.为什么它不会产生错误?
如果您有这样的程序:
public class ABC
{
public static void main(String args[])
{
System.out.println("1");
http://example.com
System.out.println("2");
}
}
Run Code Online (Sandbox Code Playgroud)
请注意在http://example.com两个输出语句之间写入的URL .
为什么程序编译没有任何错误?
我正在尝试使用Java生成蜂鸣声.我在SO上找到了这个答案.
我正在使用该答案的代码来产生哔哔声.代码是:
import javax.sound.sampled.*;
public class Sound
{
public static float SAMPLE_RATE = 8000f;
public static void tone(int hz, int msecs)
throws LineUnavailableException
{
tone(hz, msecs, 1.0);
}
public static void tone(int hz, int msecs, double vol)
throws LineUnavailableException
{
byte[] buf = new byte[1];
AudioFormat af = new AudioFormat(SAMPLE_RATE,8,1,true,false);
SourceDataLine sdl = AudioSystem.getSourceDataLine(af);
sdl.open(af);
sdl.start();
for (int i=0; i < msecs*8; i++) {
double angle = i / (SAMPLE_RATE / hz) * 2.0 * Math.PI;
buf[0] = …Run Code Online (Sandbox Code Playgroud) 我得到了一个程序,它要求我计算矩阵先前状态的数量.
给定矩阵是布尔矩阵.我将使用1的true并0为false解释程序.
矩阵中单元格的下一个状态是1,考虑到这四个单元格:
1在所有这4个细胞中只有一个,即在这4个细胞中恰好有3个0,正好是1 1个.
如果给定矩阵(M)是:
1 1 0 0
0 0 0 1
0 0 1 0
然后对于第一个小区(M [0] [0]),要考虑的四个小区是M [0] [0],M [0] [1],M [1] [0]和M [1] [1].因此,第一个细胞的下一个状态是0,因为我们1在这4个细胞中有2 个.
对于第二个小区(M [0] [1]),要考虑的四个小区是M [0] [1],M [0] [2],M [1] [1],M [1] [ 2].所以这个细胞的下一个状态是1因为1这四个细胞中只有1 个.
这样,这个矩阵(M)的下一个状态就是矩阵(N):
0 1 1
0 1 0
显然,下一个状态将比前一个状态少1行1列.因此,矩阵的给定状态可以具有许多先前的状态,例如,除了矩阵M之外,给定的矩阵:
1 …
我有这些陈述:
int \u65549 = 9;
System.out.println(\u65549);
Run Code Online (Sandbox Code Playgroud)
这完全编译.和输出
9
Run Code Online (Sandbox Code Playgroud)
但是:
System.out.println(Character.isJavaIdentifierStart(\u65549));
Run Code Online (Sandbox Code Playgroud)
输出
false
Run Code Online (Sandbox Code Playgroud)
此方法无法处理补充字符.要支持所有Unicode字符(包括增补字符),请使用该
isJavaIdentifierStart(int)方法.
然后我这样做了:
int x = \u65549;
System.out.println(Character.isJavaIdentifierStart(x));
Run Code Online (Sandbox Code Playgroud)
但即使这样打印:
false
Run Code Online (Sandbox Code Playgroud)
那么,这是否意味着,Java是\u65549一个标识符?
我正在制作一个程序(A Piglatin有点......),我无意中错过了声明中的一个变量:
String a = "R"++'a';
Run Code Online (Sandbox Code Playgroud)
它实际上应该是String a = "R"+text+'a';.编译器产生了错误.但是,当我做到时:
String a = "R"+ +'a';
Run Code Online (Sandbox Code Playgroud)
该计划编制.
我想知道为什么把一个空间变得与众不同,即使Java不关心你是否在某些陈述中放置一个空格,例如:String a="ABCD";就像String a = "ABCD";
有人可以解释一下这种行为吗?
以下代码:
int i = 0_10;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
产生输出:
8
在javadocs中,写道我们不能将下划线放在数字的开头,如示例所示int x5 = 0x_52;,这会产生错误illegal underscore.
但是,在这段代码中,0是八进制数的前缀,因为我们可以看到输出是8.但是没有产生错误.
i是8,这意味着0_10是一个八进制数,0是前缀.0_10不会产生非法的下划线错误,这意味着它0不是前缀,而是数字的一部分.为什么不产生错误?java是否将其部分视为八进制,部分不是?
我正在尝试使用Unirest-Mashape来构建java应用程序.
这是我的代码:
import com.mashape.unirest.http.*;
public class PAskMe
{
public static void main(String args[]) throws Exception
{
HttpResponse<JsonNode> response = Unirest.get("https://montanaflynn-dictionary.p.mashape.com/define?word=irony").
header("X-Mashape-Key", "KEY").
asJson();
System.out.println(response.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译我的代码时,它没有显示错误.但是当我运行它时,它显示以下运行时错误:
java.lang.NoClassDefFoundError: org/apache/http/concurrent/FutureCallback
at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68)
at PAskMe.PAskMe.main(PAskMe.java:14)
at PAskMe.__SHELL0.run(__SHELL0.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at bluej.runtime.ExecServer$3.run(ExecServer.java:725)
Caused by: java.lang.ClassNotFoundException: org.apache.http.concurrent.FutureCallback
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 8 more
Run Code Online (Sandbox Code Playgroud)
我已将这些罐子包含在我的项目中:

但我仍然得到错误.请帮我.
如果我有一段这样的代码:
public class ABC {
public static void main(String[] args) {
if (true)
int a = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
编译时,Java编译器会产生错误
.class预期.
if.int变量a,因为一旦;遇到变量,程序就会出现if,并且变量a会失去它的范围.我对此代码发出错误并不感到惊讶,但为什么错误消息".class"会出现?
什么是Java编译器试图说的?
Java 中的类Math有一个方法,Math.random()它返回 0 到 1 之间的伪随机数。
还有一个类java.util.Random有各种方法,如nextInt()、nextFloat()、nextDouble()等nextLong()。
我的问题是,如果我想获得一个范围内的随机数(比如 30-70),那么我应该走哪条路?考虑的因素是速度和随机性。
我尝试了以下for循环:
for(double i = 0.0; i<=0.001; i+=0.0001)
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
0.0
1.0E-4
2.0E-4
3.0000000000000003E-4
4.0E-4
5.0E-4
6.000000000000001E-4
7.000000000000001E-4
8.000000000000001E-4
9.000000000000002E-4
我的问题是:
.000000000000001的东西怎么来的?double适合for循环?为什么以下循环被认为是无限循环?
for(int i=0;;i++)
{
//
}
Run Code Online (Sandbox Code Playgroud)
后i达到最大值2147483647,然后当它增加后,程序应该显示一个错误,指出"整型数过大"或类似的东西.因此,程序应该终止.尽管达到该值需要一些时间,但它肯定不是无限的.那为什么它是无限循环?
public class PassingObjects {
double height;
double width;
double length;
public PassingObjects(double height, double length, double width) {
this.height = height;
this.width = width;
this.length = length;
}
public PassingObjects(PassingObjects obj) {
height = obj.height;
length = obj.length;
width = obj.width;
}
public void calculateVolume() {
System.out.println(this.length * this.width * this.height);
}
public static void main(String[] args) {
PassingObjects obj = new PassingObjects(30, 40, 10);
PassingObjects obj2 = new PassingObjects(obj);
obj.calculateVolume();
obj2.calculateVolume();
}
}
Run Code Online (Sandbox Code Playgroud)
当我calculateVolume()从两个对象运行方法时,为什么我得到相同的值?
我不明白如何传入obj构造函数参数允许编译器知道我希望30,40和10作为参数传入.
java ×13
if-statement ×2
audio ×1
beep ×1
constructor ×1
identifier ×1
javasound ×1
mashape ×1
matrix ×1
memoization ×1
octal ×1
performance ×1
random ×1
string ×1
unirest ×1