网站图片要求世界优秀摄影作品网站
web/
2025/9/29 11:15:10/
文章来源:
网站图片要求,世界优秀摄影作品网站,wordpress用户名密码,苏州网站定制字符串的特点#xff1a;
1#xff0e;String是java定义好的一个类#xff0c;定义在java.lang包里面#xff0c;所以使用的时候是不需要进行导包的
2.java程序中的所有字符串文字#xff0c;都被实为此类的对象。也就是说当我们就算是进行赋值#xff0c;这个也会创造…字符串的特点
1String是java定义好的一个类定义在java.lang包里面所以使用的时候是不需要进行导包的
2.java程序中的所有字符串文字都被实为此类的对象。也就是说当我们就算是进行赋值这个也会创造两个字符串
3.字符串是不可变的它的值在创建后不能被更改 创建String对象的两种方式
直接赋值 String name “关岁安”;可以使用new一个String来创建 创建字符串的几种方式
public class Role {public static void main(String[] args) {//1.直接赋值String s1 abc;System.out.println(s1);//2.使用new一个字符串对象//空参构造;可以获取一个空白的字符串对象String s2 new String();System.out.println(s2!);//3.有参构造根据传递的字符串内容再创建以一个新的字符串String s3 new String(abc);System.out.println(s3);//4.传递一个字符数组根据字符串数组的内容再创建一个新的字符串对象//修改字符串的内容abc {a,b,c}--{q,b,c}可以通过字符行数组进行改变char[] chs {a,b,c};String s4 new String(chs);System.out.println(s4);//传递一个字节数组根据字节数组的内容再创建一个新的字符串对象//引用场景以后在网络种传输的数据其实都是字节信息byte[] bytes {100,23,33};//这个是一个ASILL值区查找相应的字符String s5 new String(bytes);System.out.println(s5);}
}这几种创建字符串的内存方式 当使用双引号直接赋值的时候系统会检查该字符串在串池中是否存在
不存在创建新的
存在复用 使用字符数组进行创建字符串 s1和s2是创建两个空间 java的常见方法比较 所以这个是什么意思
如果是基本数据类型比较的是数值
如果是引用数据了类型比较的是地址值 如果我们想要比较字符床就需要使用两个函数第一个是
Boolean equals方法要比较的字符串—这个是不能忽略大小写
Boolean equalsignoreCase方法要比较的字符串—这个是可以忽略大小写 public class Role {public static void main(String[] args) {//1.创建两个字符串对象String s1 new String(abc);String s2 new String(abc);System.out.println(s1 s2);}
}由于最后的地址不一样的
所以最后的答案是:false boolean result s1.equals(s2);
System.out.println(result);如果是比较两个字符串里面的内容这个时候返回的值是true String s3 new String(Abc);
boolean result_1 s1.equalsIgnoreCase(s3);
System.out.println(result_1);那么最后出来的是true import java.util.Scanner;//这个相当于一个iostream的头文件public class Role {public static void main(String[] args) {//如果我想要通过键盘进行字符串比较//1.创建一个输入的对象名栈区存放的是一个地址Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串);//2.原来输入一个字符串是这样的String s1 sc.next();String s2 abc;//3.使用比较这两者能一样吗System.out.println(s1 s2);}
}答案很显然是false是因为这个我们输入的这个是通过Scanner sc new Scanner(System.in)
New出来的一个新的地址所以肯定会不一样最好使用之前介绍的两个函数进行比较 案例用户登录
需求已知正确的用户名和密码请用程序实现模拟用户登录
总共给三次机会登录之后给出相应的提示 小提示自动生成左边ctrl alt v
使用ctrl alt t 使我们所写的代码在一个while if for等语句中 这个是一个判定用户密码输入的小程序
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {//1.创建正确的用户名和密码String RightUserName 关岁安;String RightUserWord 2829649106;Scanner sc new Scanner(System.in);for (int i 1;i3;i) {System.out.println(请输入用户名);String name sc.next();System.out.println(请输入密码);String word sc.next();//3.判断用户名和我们输入的密码是否一致if(name.equals(RightUserName)word.equals(RightUserWord)){System.out.println(输入密码正确);break;}else{if(i 3){System.out.println(账号已锁定 name 请联系我解决);}else{System.out.println(输入的密码或者用户名不存在你还剩下(3-i)次机会);}}}}
}遍历字符串
需求键盘输入一个字符串使用程序实现在控制台遍历该字符串
public char charAt(int index)
public int length();返回此字符串的长度
数组长度数组名.lenght;
字符串长度字符串对象.lengh 小技巧当我们在进行输入字符串的时候可以先写左边的输入 sc.next() 然后按着ctrl shift v 就会自动生成左边 当我们的这个项目体量增加后有可能会忘记这个变量的名字所以这个可以有效帮助我们进行书写
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {Scanner sc new Scanner((System.in));System.out.println(请输入一个字符串);//1.进行输入字符串String str sc.next();//2.遍历字符串for (int i 0; i str.length(); i) {char c str.charAt(i);System.out.println(c);}}
}在这里函数charAt(i) 相当于是一个数组下标 其实把这个看成一个数组下表i就行 统计字符串的大小写数字的一个小程序
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {//1.键盘录入一个字符串Scanner sc new Scanner(System.in);System.out.println(请输入一个字符串);String str sc.next();//2.统计...计数器的思想int bigcount 0;int smallcount 0;int num 0;for (int i 0; i str.length(); i) {char c str.charAt(i);if (c a c z) {smallcount;} else if (c A c Z) {bigcount;} else if (c 0 c 9) {num;}}System.out.println(小写 smallcount);System.out.println(大写 bigcount);System.out.println(数字 num);}
}这个其实就是和c语言的差不多 但是我们需要知道其中的具体操作 拼接字符串
需求定义一个方法把int数组中的数据按照指定的格式拼接一个字符串返回调用该方法并在控制台进行输出 最后的代码呈现
需要注意的是这个[ ]和空格和逗号的问题我们在遍历到最后一个时候就不需要再加逗号和空格。
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {int[] a {1, 2, 3};String str arrToString(a);System.out.println(str);}public static String arrToString(int[] arr) {if (arr null) {return ;}if (arr.length 0) {return [];}String result [;for (int i 0; i arr.length; i) {if (arr.length - 1 i) {result result arr[i] ];} else {result result arr[i] , ;}}return result;}
}再来一个训练字符串的反转 小技巧当我们写str.length的时候再加上.fori或者.forr 其中fori是从0开始遍历而forr是从最后一个开始到下标为0结束。 我犯下的错误1.字符串不能进行自加行为 2.我们在使用函数进行调用时是不能像c语言直接使用sout(加函数) 只能使用一个变量进行承接然后通过输出变量进行输出字符串。
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {String str reverser(abc);System.out.println(str);}public static String reverser(String str){String ans ;for(int i str.length() - 1;i0 ;i--){char c str.charAt(i);ans ans c;}return ans;}
} 小程序金额转化 我犯下的错误1.在while循环中我将int型变量放在了while循环的小括号中在java中对于类型的要求时十分严格的不能将整型的变量放这个小括号。 所以里面只能是true或者false 在后面我还搞错了一个东西String类型的字符串中常常会赋初值”” 这个是不会占用String里面的下标的只有赋” ”(里面含一个空格才能行) 首先我需要明白一件事String[]是一个字符型数组每个下标里面存放的是一个字符串。而对于一个String类型的字符串来说我们想要访问它其中的元素只能是通过str.charAt(i)来访问相应下标的元素。 关于这一题的相关代码
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int num;//1.输入数字并且判断这个数字是否合法while (true) {System.out.println(请输入一个数字);num sc.nextInt();if (num 0 || num 9999999) {System.out.println(数字不符合常规请重新输入);} else {break;}}String str ;//2.将每一位数字都输入到方法中while (true) {int go num % 10;String bignum ToChangeNum(go);str bignum str;num / 10;if (num 0) break;}//补零int count 7 - str.length();for (int i 0; i count; i) {str 零 str;}System.out.println(str);String result ;String[] arr {佰, 拾,万,仟,佰,拾,元};for (int i 0; i str.length(); i) {char c str.charAt(i);result result c arr[i];}System.out.println(result);}public static String ToChangeNum(int num) {String[] change {零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖};return change[num];}
}substring函数的使用方法:
String substring(int beginindex,int endindex)截取函数
注意点包头不包尾包做补包右 只有返回值才是截取的最小串对原来的字符串没有影响
重载的方式 String substring(int beginindex)从beginindex直接截取到末尾 我犯下的错误String类型赋初值的时候我们不需要加上{}这样反而会错应该直接加上双引号。
实体样例我们把密码中间那一步使用*代替
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {String numberPhone 15570936136;String start numberPhone.substring(0,3);String end numberPhone.substring(7);String result start **** end;System.out.println(result);}
}新学一个方法替换str.replace(target:”字符串中的字符”,replacemaent:”***”);
后面这个可以和原来的字符串长度不一样。 我犯下的错误这个其实和上面那截取是一样的都容易犯忘记冲定义一个字符串来获取新字符串注意截取和替换操作都无法对原来的字符串造成改变
import java.util.Scanner;public class StringDemo1 {public static void main(String[] args) {String str 你可真牛tmd;String ss str.replace(tmd,******);System.out.println(ss);}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83864.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!