public void testfor(){ String[] str = new String[5]; for (String myStr : str) { myStr = "atguigu"; System.out.println(myStr); } for (int i = 0; i < str.length; i++) { System.out.println(str[i]); } }为何会输出为null
时间: 2024-02-10 09:35:01 浏览: 67
在Java中,当我们定义一个数组时,数组中的每一个元素都会被默认初始化为默认值,如int类型的数组默认值为0,而String类型的数组默认值为null。在上述代码中,定义了一个String类型的数组str,但是数组中的每一个元素都没有被赋值,因此它们的初始值都是null。
在for-each循环中,myStr是一个临时变量,它是从数组str中取出的元素,然后将其赋值为"atguigu"。但是这个操作只是将myStr引用指向了一个新的字符串对象,而并没有改变数组str中元素的值,因此在循环结束后,数组中的每一个元素的值依然是null。
在第二个for循环中,我们遍历了数组str中的每一个元素,并将其输出,由于数组中的每一个元素都没有被赋值,因此输出的结果都是null。
相关问题
void message(): myStr = input("请输入密码,只能为字母和数字:") if myStr.isalnum(): print("符合要求") else print("不符合要求")
这是一个 Python 函数,名为 message(),它会提示用户输入一个密码,然后判断这个密码是否只包含字母和数字。如果是,就输出“符合要求”,否则输出“不符合要求”。
具体来说,这个函数使用了 Python 内置的字符串方法 isalnum(),它会判断字符串是否只包含字母和数字。如果是,就返回 True,否则返回 False。
注意,在 Python 中,代码块需要缩进来标识,因此 if 和 else 后面的语句都需要缩进。另外,print() 函数的括号中需要用引号将要输出的内容括起来。因此,这个函数的正确写法应该是这样的:
```
def message():
myStr = input("请输入密码,只能为字母和数字:")
if myStr.isalnum():
print("符合要求")
else:
print("不符合要求")
```
void message(): myStr=input("请输入密码,只能为字母和数字:") if myStr.isalnum(): print("符合要求") else print("不符合要求")
这是一个 Python 代码片段,作用是让用户输入一个密码,如果密码只包含字母和数字,则输出“符合要求”,否则输出“不符合要求”。
代码中的解释如下:
- `myStr=input("请输入密码,只能为字母和数字:")`:提示用户输入密码,并将用户输入的内容保存到 `myStr` 变量中。
- `if myStr.isalnum():`:判断 `myStr` 是否只包含字母和数字,如果是,则执行下一行代码。
- `print("符合要求")`:输出“符合要求”。
- `else print("不符合要求")`:如果 `myStr` 不符合要求,即包含除字母和数字以外的字符,则执行这一行代码,输出“不符合要求”。
需要注意的是,Python 中的缩进非常重要,代码中的每个代码块都需要缩进,否则会导致语法错误。
阅读全文