Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么是解析/解析?_Java_Parsing - Fatal编程技术网

Java 什么是解析/解析?

Java 什么是解析/解析?,java,parsing,Java,Parsing,在Java中,解析到底是什么?为什么使用它们 例如:Integer.parseInt(…),解析字符串?来自: 电脑。分析(一串) 字符)以便关联 具有 底层语言的句法单位 语法 定义的上下文是将程序文本或一般意义上的语言翻译成其组成部分(相对于定义的语法)——将程序文本转换为代码。但是,在特定语言关键字的上下文中,它通常意味着将基本数据类型的字符串值转换为该数据类型的内部表示形式。例如,字符串“10”变成数字(整数)10。解析是读取一个对象的值,将其转换为另一种类型。例如,您可能有一个值为“1

在Java中,解析到底是什么?为什么使用它们

例如:
Integer.parseInt(…)
,解析字符串?

来自:

电脑。分析(一串) 字符)以便关联 具有 底层语言的句法单位 语法


定义的上下文是将程序文本或一般意义上的语言翻译成其组成部分(相对于定义的语法)——将程序文本转换为代码。但是,在特定语言关键字的上下文中,它通常意味着将基本数据类型的字符串值转换为该数据类型的内部表示形式。例如,字符串“10”变成数字(整数)10。

解析是读取一个对象的值,将其转换为另一种类型。例如,您可能有一个值为“10”的字符串。在内部,该字符串包含Unicode字符“1”和“0”,而不是实际的数字10。方法Integer.parseInt接受该字符串值并返回实数

String tenString = "10"

//This won't work since you can't add an integer and a string
Integer result = 20 + tenString;

//This will set result to 30
Integer result = 20 + Integer.parseInt(tenString);
可以说,解析一个字符串就是分析这个字符串以查找标记或项,然后根据结果创建一个结构

在您的示例中,对字符串调用
Integer.parseInt
就是解析该字符串以查找整数

因此,如果您有:

String someString = "123";
然后你调用:

int i = Integer.parseInt( someString );
您告诉java分析
“123”
字符串并在那里找到一个整数

其他示例:

java编译器在编译源代码时所做的一项操作是“解析”您的.java文件并创建与java语法匹配的标记

如果未能正确编写源代码(例如,忘记在语句末尾添加
),则由解析器识别错误


这里有更多信息:

解析是将文本分成一组部分或标记。

解析只是分析字符串并从该字符串中找到标记的过程,解析器是解释器和编译器的一个组件。它使用词法分析,然后
语法分析。它解析它,然后在编译整个过程之后编译代码

解析意味着我们专门分析一个对象。例如,当我们在搜索引擎中输入一些关键字时,它们解析关键字并通过搜索每个单词返回结果。因此,它基本上是从文件中提取一个字符串并对其进行处理,以提取我们想要的信息

使用
indexOf
计算字符串在另一个字符串中的位置的解析示例:

String s="What a Beautiful day!";

int i=s.indexOf("day");//value of i would be 17
int j=s.indexOf("be");//value of j would be -1
int k=s.indexOf("ea");//value of k would be 8
paresInt
基本上将
字符串
转换为
整数

String s="9876543";
int a=new Integer(s);//uses constructor
System.out.println("Constructor method: " + a);
a=Integer.parseInt(s);//uses parseInt() method
System.out.println("parseInt() method: " + a);
输出:


解析可以被看作是“分解成小块”的同义词,然后分析其中的内容或以修改的方式使用它。在Java中,字符串被解析为十进制、八进制、二进制、十六进制等。如果您的应用程序以字符串的形式接收用户的输入,但在应用程序中的某个地方,您希望以整数或双精度类型的形式使用该输入,则可以这样做。它与类型铸造不同。对于类型转换,所使用的类型应兼容,以便进行转换,但在解析中不能进行任何转换。

“解析是读取一个对象的值,以将其转换为另一个类型”。这只是解析的一部分。解析是获取数据(文本)并根据一组规则确定其含义的过程。另见-1抱歉,这真的很难理解,并且没有添加任何其他答案未涵盖的内容。欢迎来到堆栈溢出+1.虽然结构可能会更好,(提交编辑),但你的答案准确而简洁。你的答案如何提供其他答案所没有的东西?我想知道,为什么评级最高的答案不在顶部。@Faizan你是什么意思?你确定吗?每个人都同意这是正确的定义吗?但其中的“解析”是什么??
Constructor method: 9876543

parseInt() method: 9876543