鉴于:
public class Spock {
public static void main(String[] args) {
Long tail = 2000L;
Long distance = 1999L;
Long story = 1000L;
if ((tail > distance) ^ ((story * 2) == tail)) {
System.out.print("1");
}
if ((distance + 1 != tail) ^ ((story * 2) == distance)) {
System.out.print("2");
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这个示例代码不输出任何内容?
我已经阅读了有关的解释
int a = 0x1; //hexadecimal format
Run Code Online (Sandbox Code Playgroud)
但是,我仍然无法找到程序员应该使用0x1,0x2而不是普通整数1或2的原因...
有人可以解释一下吗?
谢谢.
使用以下代码:
Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Run Code Online (Sandbox Code Playgroud)
不幸的是,只返回false.
根据文档,这应该工作:http://docs.oracle.com/javase/8/docs/api/java/awt/Toolkit.html#getLockingKeyState-int-
可运行的例子:
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Foo {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.execute(new Runnable() {
public void run() {
while(true) {
try{ Thread.sleep(250); }catch(Exception ignored) { }
System.out.println("Capslock state: " + Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
}
}
});
executorService.shutdown();
}
}
Run Code Online (Sandbox Code Playgroud)
应该补充说我在Windows上使用Java SE 1.8并且我的Caplock键工作正常
控制台输出截图:

考虑以下正则表达式,其中X和Y是任何正则表达式.
XY|YX|X|Y
Run Code Online (Sandbox Code Playgroud)
这个正则表达式测试X和/或Y,但如果找不到"和"子句,则必须仔细检查表达式.
匹配X 和/或 Y?的最佳方式是什么?
特定于类型的Java字节码指令具有单字符前缀以指定该指令所涉及的类型。
在每种情况下,前缀选择都是有意义的,它由该类型的第一个字母组成(布尔型除外,布尔型没有指令前缀)。但是,对象引用前缀似乎不合逻辑,因为o和和r(两个第一字母)都是免费的。相反,对象引用指令a用作其前缀。
对象引用字节码指令为什么前缀a,而不是貌似更合适o还是r?
我想知道是否可以在String数组上存储String变量?我不能很好地解释它,但这是我做的:
String st1 = "",st2 = "",st3 = "",st4 = "";
String[] str = {st1,st2,st3,st4};
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我使用for循环时,str获取st1和st2以及st3和st4的值而不是它自己的变量..
这就是我想要完全按照我的想法做的事情.每当有一个String数组时,例如:
String[] containsValue = { "hi", "hello", "there" };
String strHi, strHello, strThere;
String[] getContainsValue = { strHi, strHello, strThere };
for (int x = 0; x < getContainsValue.length; x++) {
getContainsValue[x] = containsValue[x];
}
The value of:
strHi = "hi"
strHello = "hello"
strThere = "there";
Run Code Online (Sandbox Code Playgroud)
基本上我想将containsValue []的值传递给3个String,它是存储在getContainsValue []中的strHi,strHello,strThere.然后使用for循环来对它们赋值来自containsValue [].这是真的吗?如果是这样,那么你可以给我一些格式怎么做?谢谢..
我正在使用JNAerator生成一个我可以包含在项目中的jar文件,我想支持每个操作系统的动态库并在这个jar中进行全部归档.
到目前为止,在摆弄JNAerator时,我已经能够使用如下命令包含单个动态库:
java -jar jnaerator.jar test.dll test.h [...] -mode StandaloneJar
Run Code Online (Sandbox Code Playgroud)
然而,这只包test.dll,而我有多个系统(动态库test_win32.dll,test_win64.dll,libtest_mac.dylib,libtest_linux_x86.so,和libtest_linux_amd64.so),我想都已经打包成和一个罐子的支持.
有没有办法用一次JNAerator运行这种"一体化"方法,还是我必须为每个平台生成一个不同的jar文件?
java java-native-interface cross-platform shared-libraries jnaerator
当我跑:
for($o=1;$o<=655;$o++){
$r = $r+0.01;
echo $r." ";}
在某些时候,我得到:
...4.29 4.3 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.4
4.41 4.42 4.4299999999999 4.4399999999999 4.4499999999999
4.4599999999999 4.4699999999999 ...
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时:
for($o=1;$o<=5;$o+=0.01){
echo $o." ";
}
异常开始于:
4.34 4.35 4.36 4.37 4.38 4.3899999999999 4.3999999999999
Run Code Online (Sandbox Code Playgroud)
为什么添加是for循环的一部分,或者在for循环中有什么区别?
java ×8
php ×2
android ×1
bytecode ×1
file-upload ×1
fonts ×1
hex ×1
instructions ×1
javascript ×1
jnaerator ×1
jquery ×1
regex ×1
scjp ×1
system ×1
variables ×1