在Java中,我们有一个只能在方法内部定义的局部变量;局部变量的范围位于定义它的块内。在块之外,我们甚至无法访问该变量,因为我们实际上不知道它是否存在。当我们需要一些临时变量来保存块内的值,并且我们不需要这些变量用于其他方法或java中的整个类时,局部变量非常有用,那么在这种情况下,我们可以将变量定义为局部变量在java中完全满足要求。在本教程的下一部分中,我们将看到它的内部工作原理、实现以及它们的用法,以及我们在 Java 编程时如何使用它。
广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
语法
我们知道,在java中,局部变量是特定于块的,而不是块之外的;让我们看一下声明局部变量的语法,以便更好地理解,如下所示;
Variable_type varibale_name = value_to_hold;
正如你在上面的语法中看到的,我们可以这样定义局部变量;让我们仔细看看练习语法,这将使我们更清楚地理解并开始在初学者的程序中使用它;见下文;
例如:
String demo = ""my variable !!;
在接下来的部分中,我们将更详细地了解它的工作原理以及一些在 java 中定义局部变量以避免编译时错误的重要规则。
局部变量在 Java 中如何工作?
我们已经知道java中什么是局部变量,但是在本节中,我们将看到一些在java中的类方法内或任何块内定义局部变量的基本规则。当我们必须在代码中的非常有限的范围内使用该变量时,该变量非常有用;那么,我们应该使用局部变量。它们充当临时变量,供我们使用以保持值并在特定代码段停止或完成执行时消失。在本节中,我们首先将了解 java 中定义和使用局部变量的规则,然后我们将了解 java 将局部变量存储在哪里,让我们开始看下面的内容;
1.具有局部变量声明的方法
现在,我们将看一下方法的创建,我们将在该方法中定义一个局部变量。作为参考,请参阅下面的代码;
例如:
public String getmsg(){ int temp = 0; Syste.out.println(temp); }
上面是我们可以用来定义局部变量的示例代码;在这里,我们创建一种方法来声明和初始化一个局部变量。该变量的作用域仅限于该方法,而不是该方法或类中存在的其他方法之外。
2.静态局部变量
在java中,我们不能在非静态的方法中声明静态局部变量。因为静态变量是与类级别直接关联的。让我们用一段代码来定义这个场景,并在创建它时给我们带来编译时错误;见下文;
例如:
public void test(){ static String teststr = "hello"; // compile time error }
3.静态方法内的静态局部变量
在java中,我们甚至不能在java的静态方法中定义静态变量。也会出现上面同样的问题;它会给我们一个编译时错误。作为参考,请参阅下面的代码;
例如:
public static void test(){ static String teststr = "hello"; // compile time error }
4.最终局部变量
在java中,我们可以在方法内部定义final局部变量。我们只需要与它相关联的最终关键字。作为参考,请参阅下面的代码;
例如:
public void test(){ final String teststr = "hello"; }
在java中使用局部变量时要记住的要点:
- Java将局部变量存储在栈内存空间中,而不是堆内存中。
- 局部变量仅特定于该块,而不是方法块之外。
- 即使是类的其他方法也无法访问局部变量;他们甚至没有意识到它们。
- 我们无法创建静态局部变量,因为它们特定于类级别。
Java 中局部变量的示例
下面给出了 Java 中局部变量的示例:
示例#1
在此示例中,我们创建一个方法,该方法返回局部变量作为调用函数的结果。
代码:
package com.practise.tets; public class SimpleArray { public static void main(String[] args) { SimpleArray simpleArray = new SimpleArray(); String result = simpleArray.test(); System.out.println("result is ::" + result); } public String test(){ String localstr = "hello world !! "; return localstr; } }
输出:
示例#2
在这个例子中,我们通过将调用函数的值作为参数传递给局部变量赋值,这是一个供初学者更好理解的示例。
Code:
package com.practise.tets; public class SimpleArray { public static void main(String[] args) { SimpleArray simpleArray = new SimpleArray(); String result = simpleArray.test("passing string to local variable !!!"); System.out.println("result is ::" + result); } public String test(String str){ String localstr = str; return localstr; } }
Output:
Example #3
In this example, we will have a compile-time error while trying to create the static local variable.
Code:
package com.practise.tets; import java.util.ArrayList; import java.util.List; public class SimpleArray { public static void main(String[] args) { SimpleArray simpleArray = new SimpleArray(); String result = simpleArray.test(); System.out.println("result is ::" + result); } public String test(){ static String localstr = "hello word !!!"; return localstr; } }
Output:
Conclusion
As we have already seen in the tutorial, local variables are important and how we can use them in our program to treat them like temporary variables to hold any value for performing some task on them. They are easy to sue and handle for the developers as well.
以上是Java中的局部变量的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能