有谁能解释一下?
public class Test {
public static void main(String[] args) {
char c = 'A';
int i = 0;
boolean b = true;
System.out.println(b ? c : i);
System.out.println(b ? c : (char)i);
System.out.println(b ? c : 0);
System.out.println(b ? c : (char)0);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
65
A
A
A.
从我站立的地方看起来确实很奇怪.我原以为只A
打印出来.而且:怎么来的,当我取代0
了i
输出的变化?输出似乎对所有值都相同i
,而不仅仅是0
.
我试图在数组中找到高低数字,但我不确定为什么我的代码无法正常工作.它给了我0和56的输出.我理解为什么它给0,但56来自哪里?
package test;
public class Test {
public static void main(String[] args) {
int[] numbs = { '2', '4', '2', '8', '4', '2', '5'};
int count = 0;
int low = 0;
int high = 0;
while(count < numbs.length)
{
if(numbs[count]< low) {
low = numbs[count];
}
if(numbs[count]> high) {
high = numbs[count];
}
count++;
}
System.out.println(low);
System.out.println(high);
}
}
Run Code Online (Sandbox Code Playgroud) 我有这个代码:
while (x < 10.0) {
x += y;
}
Run Code Online (Sandbox Code Playgroud)
如果x
和y
是浮点数,显然如果你添加它们,循环将无限继续.我不明白它怎么会通过10.似乎不可能不通过十,但它不是根据我的教科书.
这是为什么?是因为浮点数会发生舍入吗?或者我错过了什么?
编辑:顺便说一句x
,y
是严格积极的
我在名为seta.py的文件中有以下内容:
def print_name():
print "hello"
Run Code Online (Sandbox Code Playgroud)
我正在从口译员那里做以下事情:
import seta
Run Code Online (Sandbox Code Playgroud)
然后
seta.print_name
Run Code Online (Sandbox Code Playgroud)
我希望输出是"你好",但它如下:
<function print_name at 0x7faffa1585f0>
我究竟做错了什么?
我有一个String[]
参数的函数.怎么可能这个:
String[] string = {"string1", "string2"};
myFunction(string);
Run Code Online (Sandbox Code Playgroud)
工作,而这:
myFunction({"string1", "string2"});
Run Code Online (Sandbox Code Playgroud)
不?它给了我错误:
Illegal start of expression not a statement ";" expected
嗨,我刚学习Java中的构造函数链接,并有一些问题......
首先,有人可以解释我何时需要使用它?在我的头脑中,我真的想不到一个情况.
在这个例子中,在没有参数的构造函数中,我调用另一个构造函数.如何访问这个新的"James Bond"对象以备将来使用?
import java.util.*;
class Employee
{
private String name;
private double salary;
public Employee()
{
this("James Bond", 34000);
}
public Employee(String n, double s)
{
name = n;
salary = s;
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public static void main(String[] args)
{
Employee a = new Employee();
}
}
Run Code Online (Sandbox Code Playgroud)abstract class Manager {
static void test() {
System.out.println(12);
}
class Manager1 {
public static void main(String args[]) {
System.out.println(Manager.test());
}
}
}
Run Code Online (Sandbox Code Playgroud)
它产生编译时错误.抽象类可以static
有void
类型的方法吗?
如果我有一本字典
d = {'a':1, 'b':2 , 'c': 3}
Run Code Online (Sandbox Code Playgroud)
与d['a']
或d.get('a')
我得到1
.
如何从键列表中获取字典中的值?
就像是
d[['a','b']]
Run Code Online (Sandbox Code Playgroud) 我有下面的地图,我想用费用地图中的每个值除以率而不迭代每个条目并构建新的地图.这可能吗?
final String rate="2";
Map<String,BigDecimal> charges=new HashMap<String,BigDecimal>();
charges.put("tax", new BigDecimal(22));
charges.put("vat", new BigDecimal(200));
charges.put("gross", new BigDecimal(100));
charges.put("principal", new BigDecimal(150));
Run Code Online (Sandbox Code Playgroud)
分裂后
charges.put("tax", new BigDecimal(11));
charges.put("vat", new BigDecimal(100));
charges.put("gross", new BigDecimal(50));
charges.put("principal", new BigDecimal(75));
Run Code Online (Sandbox Code Playgroud) 我想知道这两者之间的区别:
Integer I = 30; // is it autoboxing?
Integer I = new Integer(30); // I know it is autoboxing
Run Code Online (Sandbox Code Playgroud)