Java:在While循环中嵌入Equals语句
我想知道是否有人可以向我解释下面这行代码的作用Java:在While循环中嵌入Equals语句,java,apache,while-loop,opennlp,Java,Apache,While Loop,Opennlp,我想知道是否有人可以向我解释下面这行代码的作用 while((sample=samples.read())!=null) 它是否首先将sample设置为下一行samples,然后检查以确保它不是空的 这是一个更一般的问题,但如果有人有一个好的OpenNLP教程,我也会非常感激 以下是整个方法: 公共静态字典buildNGramDictionary(ObjectStream示例,int-cutoff)引发IOException{ NGramModel ngramModel = new N
while((sample=samples.read())!=null)
它是否首先将sample
设置为下一行samples
,然后检查以确保它不是空的
这是一个更一般的问题,但如果有人有一个好的OpenNLP教程,我也会非常感激
以下是整个方法:
公共静态字典buildNGramDictionary(ObjectStream示例,int-cutoff)引发IOException{
NGramModel ngramModel = new NGramModel();
POSSample sample;
while((sample = samples.read()) != null) {
String[] words = sample.getSentence();
if (words.length > 0)
ngramModel.add(new StringList(words), 1, 1);
}
ngramModel.cutoff(cutoff, Integer.MAX_VALUE);
return ngramModel.toDictionary(true);
}
samples.read()
的返回值分配给sample
变量sample
是否不为null,然后才执行while循环的主体samples.read()
的返回值分配给sample
变量sample
是否不为null,然后才执行while循环的主体表达式的计算取决于。
首先计算括号内的表达式
(sample=samples.read())
,因为()
括号的优先级高于!=
。括号内的表达式
(sample=samples.read())
首先求值,因为()
方括号的优先级高于!=
是的,它正是它所做的。=
操作,除了设置LHS,计算结果是RHS的值。是的,它正是它所做的。=
操作,除了设置LHS,计算结果是RHS的值。