学习笔记:java的字符串数组String[] args
在Java中,String[] args 是main方法的参数,用于从命令行接收输入参数。这是Java程序接收外部输入的标准方式,下面详细解释其作用和用法。
1. 基本概念
main方法的签名:Java程序的入口点是public static void main(String[] args)。String[] args的含义:- 它是一个字符串数组,用于存储命令行传递给程序的参数。
- 每个参数以字符串形式存储,数组长度由参数个数决定。
2. 命令行传参示例
假设你有一个简单的Java程序:
public class Main {
public static void main(String[] args) {
System.out.println("参数个数:" + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println("参数 " + (i + 1) + ": " + args[i]);
}
}
}
编译和运行:
# 编译
javac Main.java
# 运行并传递参数
java Main apple banana "hello world"
输出结果:
参数个数:3
参数 1: apple
参数 2: banana
参数 3: hello world
3. 参数传递规则
多个参数用空格分隔:
- 例如
java Main a b c会传递3个参数:["a", "b", "c"]。
- 例如
含空格的参数需用引号包裹:
- 例如
java Main "hello world"会传递1个参数:["hello world"]。
- 例如
参数类型转换:
args中的元素始终是字符串,如需其他类型(如整数),需手动转换:int num = Integer.parseInt(args[0]);
参数可为空:
- 如果不传递参数,
args是一个长度为0的空数组(args.length == 0),不会引发NullPointerException。
- 如果不传递参数,
4. 注意事项
避免数组越界:
- 使用
args前需检查长度,例如:if (args.length > 0) {
System.out.println(args[0]);
}
- 使用
IDE中的参数设置:
- 在IDE(如IntelliJ IDEA、Eclipse)中运行时,需手动配置程序参数:
- IntelliJ:
Run→Edit Configurations→Program arguments。 - Eclipse:
Run Configurations→Arguments。
- IntelliJ:
- 在IDE(如IntelliJ IDEA、Eclipse)中运行时,需手动配置程序参数:
总结
String[] args是Java程序接收命令行参数的标准方式。- 参数以字符串数组形式传递,需注意类型转换和边界检查。
- 适用于简单配置、文件路径传递等场景,复杂场景建议使用专业库。
学习笔记:java的字符串数组String[] args的更多相关文章
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- Java基础-字符串(String)常用方法
Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...
- JavaSE学习笔记(7)---数组
JavaSE学习笔记(7)---数组 1.什么是数组 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个 ...
- Java 中将字符串数组转换为字符串
Java 中将字符串数组转换为字符串 import java.util.Arrays; import java.util.HashSet; import java.util.Set; public c ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- python3.4学习笔记(十一) 列表、数组实例
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...
- 【python学习笔记】3.字符串使用
[python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...
随机推荐
- Spring 注解之 @MapperScan 和 @Mapper
@Mapper注解 为了让别的类能够引用UserMapper,需要在UserMapper类上添加@Mapper注解: @Mapper public interface UserMapper { pub ...
- K8s新手系列之指定Pod调度到指定节点上
概述 在 Kubernetes 中,Pod的调度是通过kube-schedule来实现的,Pod的调度会经过一系列算法来进行完成. 在实际生产过程中,我们想让Pod调度到我们想要的节点上,往往通过ku ...
- IDEA jrebel热部署插件破解-降级
前言 jrebel热部署插件的破解方式我们一般使用https://jrebel.qekang.com/ 但是这个方式破解只支持到的jrebel热部署插件版本为2022.4.1 需要最新版本的破解请参考 ...
- Prometheus配置文件详解
概述 Prometheus是一个开源的系统监控和警报工具包.它的配置文件通常命名为prometheus.yml,用于配置Prometheus服务器的行为. 其配置文件主要包含以下几个部分: globa ...
- 杂七杂八系列----C#代码如何影响CPU缓存速度?
CPU与RAM的隔阂 CPU与RAM是两个独立的硬件,并非集成在一起.所以他们两个之间一定会存在一个连接的桥梁,这个桥梁的名字叫做内存总线. 内存总线由三部分组成: 地址总线(Address Bus) ...
- ChunJun&OceanBase联合方案首次发布:构建一体化数据集成方案
8月27日,ChunJun社区与OceanBase社区联合组织的开源线下Meetup成功举办,会上重磅发布了「OceanBase&ChunJun:构建一体化数据集成方案」. 这是OceanBa ...
- 超实用!SpringAI提示词的4种神级用法
提示词(Prompt)是输入给大模型(LLM)的文本指令,用于明确地告诉大模型你想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成准确答案的基础.因此 prompt 使用的好坏,直接决定了大 ...
- .NET Core应用如何通过SSL访问MongoDB?
大家好,我是Edison. 最近有一个ASP.NET Core通过SSL证书访问MongoDB的需求,但是在网上发现资料很少,于是调查了一番,做了如下的笔记,希望对你有用. 背景 在实际场景中,开发环 ...
- C#中DataGridView动态添加行及添加列的方法 并赋值在第一行
http://www.jb51.net/article/72259.htm Datagridview添加列: ? 1 2 3 4 5 DataGridViewTextBoxColumn acCode ...
- C# 遍历Enum( 枚举)
Type enumType = typeof(Domain.Models.Entitys.PermissionEntity.PermissionTypeEnum); ...