文章目录
包package
- 同一个包下的程序可以直接访问
- 访问其他包下的程序必须导包才能访问
- Java.lang包可以不用导,直接使用eg.Scanner
- 访问多个其他包下的程序,但是这些程序名一样的话,注意导入正确的包才能正确使用。同名方法的包只能导入一个,另一个同名程序必须带包名.类名.方法名访问
String注意
== 和 equals()
- ==是比较地址。equals()是数值
- 基本数据类型的变量或者值应该用==比较
String的对象是不可变的对象
每次试图改变字符串对象实际上是产生了新的字符串对象,变量每次都是指向了新的字符串变量,之前的字符串对象的内容确实是没有改变的,因此说String的对象是不可变的。
双引号" "方式写出的字符串对象
- 会存储到常量池,且相同内容的字符串只会存储一份
- 但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中
常用方法
可以去API文档查
下图是黑马程序员学习视频中的
使用String来开发验证码
代码
package string;
import java.util.Scanner;
/**
* @Author: ggdpzhk
* @CreateTime: 2024-08-06
* 使用String来开发验证码
* 随机产生验证码,要求验证码的每位可能是数字,大写字母,小写字母
*/
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入验证码位数:");
int n = sc.nextInt();
String ans = yzm(n);
System.out.println("随机生成的验证码为:");
System.out.println(ans);
}
public static String yzm(int n){
String ans = "";
String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < n ;i++) {
int index =(int)(Math.random()*str.length());
ans += str.charAt(index);
}
return ans;
}
}
运行结果
反思
- 注意随机数的使用,对整体转int
int index =(int)(Math.random()*str.length());
标签:String,int,验证码,应用程序,对象,API,ans,字符串
From: https://blog.csdn.net/m0_75257168/article/details/140928168