如何在java中将字符转换为字节?如果我写
char c=12;
byte b=(byte)c;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
然后结果是12,正如预期的那样但是...如果,我写道
char c='\u0012';
byte b=(byte)c;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
然后结果是18.如何?
为什么会这样?此代码编译良好但在运行时抛出异常
public class Except
{
public static void main(String args[])
{
System.out.println("Hey, I am under main");
method();
}
static void method()
{
throw new NullPointerException();
}
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有编译
public class Expect
{
public static void main(String args[])
{
System.out.println("Hey, I am under main");
method();
}
static void method()
{
throw new IllegalAccessException();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样呢?那改变了异常的类型,第二个代码没有编译.有人可以解释一下,我在第一段代码中使用了throw语句,并且由于它的编译很好,那么编写throws语句的用途是什么方法声明.我使用的是jdk 1.8.0_45
我有一个代码 -
public class ThreadOne
{
public static void main(String[] args)
{
Thread1 th=new Thread1();
Thread1 th2=new Thread1();
th.start();
th2.start();
System.exit(1);
}
}
class Thread1 extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是 -
我知道这是一个愚蠢的问题,但我想知道案例标签为什么不采用变量.代码是 -
public class Hello
{
public static void main(String[] args)
{
final int y=9;
int a=1,b=2,c=3;
switch(9)
{
case y:
{
System.out.println("Hello User");
break;
}
case a:
{
System.out.println("Hello World");
break;
}
case b:
{
System.out.println("Buff");
break;
}
default:
{
System.out.println("Yo bitch");
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然,我已初始化a,b和c,但它显示错误.为什么?
我想知道BufferedReader的工作原理吗?为什么使用InputStreamReader?它与Scanner类有何不同,后者也用于输入用户?哪两个更好?
我对左移操作员有疑问,当我执行时 -
int n=(1<<1);
cout<<n;
Run Code Online (Sandbox Code Playgroud)
输出:2
int n=(1<<(1<<1));
cout<<n;
Run Code Online (Sandbox Code Playgroud)
产量:4
但是,我什么时候 -
int n=(1<<(1<<(1<<1));
cout<<n;
Run Code Online (Sandbox Code Playgroud)
产量:16
在最后一种情况下,输出不应该是8吗?为什么给16?
我在C-中有这个代码
#include <stdio.h>
void main(void)
{
int a=90;
float b=4;
printf("%f",90%4);
}
Run Code Online (Sandbox Code Playgroud)
它输出0.0000,我无法理解为什么??? 我知道90%4返回2并且指定的格式说明符是%f,这是双倍的,但我期望的是 - 它会给出一个错误,但它显示0.0000作为输出.有人可以解释一下原因吗?