首页 > 代码库 > java字符串,包,数组及空心正方形,菱形的实例
java字符串,包,数组及空心正方形,菱形的实例
一、数组:相同类型的多个对像
引用类型:所有的类,接口,数组,
int[] ints(变量名) = new int[3]
new:指的是在内存空间重新开辟一块区域
String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); String s3 = new String("abc"); String s4 = new String("abc"); System.out.println(s3==s4); System.out.println(s3.equals(s4));
分析:
String s1 = "abc";
String s2 = "abc";
System.out.println(s1==s2);//输出的是true,s1定义之后,s2将会在常量池中寻找所存储的地址,s1==s2是看是否指向的是同一个内存 存储地址
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1==s2);//输出的是false这个则是在常量池中定义一个新的数组,s2也是定义一个新的,就是在常量池中的两个相同的数组,s1==s2所指向的存储地址不同,所以是 false
二、包装类:Integer.parseInt()
int、、、Integer
short、、、Short
long、、、Long
float、、、Float
byte、、、、Byte
System.out.println(Integer.MIN_VALUE); System.out.println(Integer.MAX_VALUE); System.out.println(Byte.MIN_VALUE); System.out.println(Byte.MAX_VALUE); System.out.println(Long.MIN_VALUE); System.out.println(Long.MAX_VALUE); System.out.println(Short.MIN_VALUE); System.out.println(Short.MAX_VALUE); System.out.println(Float.MIN_VALUE); System.out.println(Float.MAX_VALUE); System.out.println(Double.MIN_VALUE); System.out.println(Double.MAX_VALUE); System.out.println(Float.parseFloat("12.34"));
分析:分别为各个数据类型的最大最小值
三、字符串处理
String str ="a new world a new strat";
System.out.println(str.length());//返回整个字符串的长度
System.out.println(str.trim());//去掉字符串两边的空格的长度
System.out.println(str.trim().length());//返回整个字符串的长度
System.out.println(str.charAt(3));//取出字符串中制定索引位置的字符
System.out.println(str.contains("abc"));//判断一个字符串是否包含另一个字符串
.startsWith()判断某个字符串是不是以这个开头
System.out.println(str.replace(‘a‘,‘b‘));将字符串中的a改为b
。
.toUpperCase()改变字符串的大小写(大写)
.toLowerCase()小写
.valueOf()将数字转换成字符串输出toString()
.indexOf("new")字符串第一次出现的位置
.lastIndexOf("new")最后一次出现的位置,若没有返回-1
.substring(5)从第5个字符开始截取包括第5个
.substring(5,8)从第一个数字开始截取,到第二个数字结束,不包含第二个数字
str.length(); str.trim(); str.charAt(int i); str.contains(CharSequence s); str.startsWith(String s); str.endsWith(String s); replace(char o, char n); replace(CharSequence o, CharSequence n); split(String s); toUpperCase(); toLowerCase(); valueOf(any args); str.indexOf(String s); str.lastIndexOf(String s); str.substring(int i); str.substring(int a, int b);
String str = "像勇士这样的球队,只有防守一松懈,他们才能抓住机会,打完了三场,爵士还是没找到应对勇士的办法";
1, 写代码找出关键字"球队","机会"所在字符串str的索引位置, 找出字符串中第二个"勇士"的位置, 并输出在控制台上
2, 定义int型变量m, 取值为第一题中所有索引值的和
3, 在控制台上输出m作为char型时显示的内容
4, 写代码实现将str字符串用","分割成数组, 并输出索引值为4的值
5, 写代码实现将str字符串中"爵士"用"勇士"代替, "勇士"用"爵士"代替, 并将结果输出到控制台上(禁用replace方法)
6, 编写代码从str字符串中取一部分在控制台上打印这样一句话: 勇士抓住机会,找到应对办法
7, 写一段代码, 可以取出任意qq邮箱地址中的qq号码
String qqemail = "12345678@qq.com";
int a=0; int b=0; int c=0; int m=0; String str = "像勇士这样的球队,只有防守一松懈,他们才能抓住机会,打完了三场,爵士还是没找到应对勇士的办法"; b=str.indexOf("球队"); a=str.indexOf("机会"); c=str.lastIndexOf("勇士"); m=a+b+c; System.out.println((char)m);
System.out.println(str.split(",")[4]); String[] newstr = str.split(""); for(int i=0;i<newstr.length;i++){ if("勇".equals(newstr[i])){ newstr[i]="爵"; }else if("爵".equals(newstr[i])){ newstr[i]="勇"; } System.out.print(newstr[i]); }
System.out.println(str.substring(1,3)); System.out.println(str.substring(21,26)); System.out.println(str.substring(37,41)); System.out.println(str.substring(44,46));
String qqemail = "12345678@qq.com"; System.out.println(qqemail.substring(0,8));
8, 使用for和if打印一个空心正方形
9, 使用for循环打印一个菱形
10, 使用for循环打印一个空心菱形(选做题)
package aaa; public class Text { public static void main(String[] args) { int n = 5; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { if(i==0||i==4) { System.out.print("* "); } else { if(j==0||j==4) { System.out.print("* "); } else { System.out.print(" "); } } } System.out.println(); } } }
for( int i=4; i>0; i--){ for( int j=0;j<8;j++){ if(j>i&&j<8-i){ System.out.print("*"); }else{ System.out.print(" "); } }System.out.println(); } for(int i=0;i<4;i++){ for( int j=0;j<8;j++){ if( j >i&&j<8-i){ System.out.print("*"); }else{ System.out.print(" "); } }System.out.println(); }
分析:首先确定的是以长宽都为7的正方形,分为两个部分,上半部分是i表示的是看不到的空格部分,随着*的增多,i越小,所以为自减,j则为星号的个数自增,下半部分则是i随着j增加,i逐渐增大,星号的个数也越来越少。
java字符串,包,数组及空心正方形,菱形的实例