第一题:
public class Test2 {
public static void main(String[] arg){
String s="abceefABC12372124@@@@";
String n="12345";
// int i=Integer.parseInt(n);
// System.out.println(n+3);
// System.out.println(i+3);
StringBuffer sb=new StringBuffer(n);
System.out.println(sb.reverse());
sb.append("中");sb.append("国");sb.append("人");
//System.out.println(sb);
System.out.println(sb.delete(0, 1));
System.out.println(sb.insert(0, 9));
// int sum=0;
// for(int i=0;i<s.length();i++){
// char m=s.charAt(i);
// if(Character.isDigit(m)){
// sum=sum+(m-48);
// }
// }
// System.out.println(sum);
}
}
第二题:
public class Test1 {
public static void main(String[] args) {
String s="abceefABC12372124@@@@";
char m=s.charAt(1);
if(m>=97 && m<=100){
System.out.println(1254);
}
System.out.println(m);
if(Character.isUpperCase(m)){
}
char n='0';
System.out.println(n+1);
}
}
第三题:
public class Test {
public static void main(String[] args) {
String s1="hello world",s2=" Hello World ";
//System.out.println(s1.startsWith(" "));
//System.out.println(s2.endsWith("hd "));
//System.out.println(s1.substring(5));
//System.out.println(s1.substring(2, 8));
System.out.println(s2.length());
String s3=s2.trim();
System.out.println(s3);
System.out.println(s3.length());
}
}
第四题:
public class T {
public static void main(String[] args) {
int l1=0,l2=0,l3=0;
String s="abceefABC12372124@@@@";
for(int i=0;i<s.length();i++){
char m=s.charAt(i);
if(m>=97&&m<=123){
l1++;
}else if(m>=65&&m<=96){
l2++;
}else{
l3++;
}
}
System.out.println("大写字母个数为"+l1);
System.out.println("小写字母个数为"+l2);
System.out.println("其他个数为"+l3);
}
1、八大基本类型的包装类:
Integer,Short,Byte,Long,Character,Double,Float,Boolean;
功能:从栈内存到堆内存,可以从API文档中找得到,就可以直接调用API里面的方法;
API中午帮助文档下载:http://download.csdn.net/detail/li292052986/6467233
2、String类:
常用的方法:
charAt();//对字符串进行索引;
indexof();//判断字符串给定的字符在它里面出现位置;
replace();//代替你改变的字符;
equalsIogexCase();//比较字符串是否一样,(不论大小写)
toUpperCase();//把字符串转换成大写字母;
toLowerCase();//把字符串转换成小写字母;
subString();//截取字符串;
startWith();//从什么开始读;
endWith();//从什么结束;
Trim();//去掉头尾空格;
valueof();//把其他类型转换字符串类型;
split():它是一个字符数组类型,有分隔的功能,但是要输出 必须遍历;
valueof(指定的类型):可以转换你想要的类型;
例子:int a=1224; String s=String.valueof(a);
subString(int a):从某个给定的字符串中,a的位置开始读取
subString(int a,int b):从a的位置开始读到b的位置,但这里 面a的位置从0开始算,b的位置起始从1开始算;
3、StringBuffer类:
append().append().....;//往字符串后面加所给定的字符;
insert();//往指定的位置插入字符;
delete();//把指定的字符删除;
reverse();//反转;
4、Math()类和Date()类:
abs();//绝对值;
sqrt();//平方根;
pow();//次幂;
random();//随机函数,默认的范围:[0,1);
random()*100:表示的范围为:[0,100);
round();//接近以给定的值,用int,long类型输出,既有随机性(相似四舍五入);
new Date().toString();//输出当前时间,日期,年月;
5、String与StringBuffer之间的区别:
相同点:在同一个包里面;java.lang
都是表示字符串;
部分方法都一样;
不同点:String不可变,而StringBuffer可变;(StringBuffer里面有append()方法);
String里面没有delete(),insert(),reverse();
效率与作用点:
StringBuffer的效率快,String的信息比较可靠;
练习题:代码。
第一题:
public class As {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入要运行的程序:\n1. 成绩评分系统\n2. 12生肖 输入任何一个人的年龄,打印出属相
\n3. 打印出101-200之间所有质数\n4. 退出\n");
Pattern pat = Pattern.compile("^[1234]$");
Matcher m;
boolean b;
String a = s.nextLine();
m = pat.matcher(a);
b = m.matches();
while(!b) // 判断输入内容是否为3位以内数字
{
System.out.println("请输入正确选项(1-4):");
a = s.nextLine();
m = pat.matcher(a);
b = m.matches();
}
}
}
第二题:
public class Test
{
public static void main(String[] args)
{
String htmls="abfgeqF456IWH@#!<>fWR1314";
String pat = "[^abc]";
Pattern p1=Pattern.compile(pat);//进入正则表达式的模式;
Matcher m1=p1.matcher(htmls);//真正做事的人。
while(m1.find()){
System.out.print(m1.group());
}
}
}
第三题:
public class Test1
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();//把日期,时间设置成电脑默认的格式;
System.out.println(c.get(c.YEAR)+"年"+(c.get(c.MONTH)+1)+"月"+c.get(c.DAY_OF_MONTH)+"日");
c.add(c.YEAR, -1);
System.out.println(c.get(c.YEAR)+"年"+(c.get(c.MONTH)+1)+"月"+c.get(c.DAY_OF_MONTH)+"日");
// System.out.println(c.get(c.DAY_OF_YEAR));
}
}
第四题:
public class Test2
{
public static void main(String[] args)
{
System.out.println(new Date());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
System.out.println(sdf.format(new Date()));
SimpleDateFormat s=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");
System.out.println(s.format(new Date()));
int time = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
System.out.println(time);
}
}
第五题:
public class Test3
{
public static void main(String[] args)
{
int[][] a=new int[5][];
String str = "1,2;3,4,5;6,7,8";
//解析,split做分隔“;”
String[] s=str.split(";");
String[][] sp=new String[s.length][];
//再次解析
for(int i=0;i<s.length;i++){
//把一维数组里面的单个元素分隔开来
sp[i]=s[i].split(",");
}
double[][] D=new double[sp.length][];
for(int i=0;i<sp.length;i++){
D[i]=new double[sp[i].length];
for(int j=0;j<sp[i].length;j++){
D[i][j]=Double.parseDouble(sp[i][j]);
System.out.println();
}
}
}
}
第六题:
public class Test4
{
public static void main(String[] args)
{
try
{
System.out.println(Runtime.getRuntime().exec("E:\\eclipse\\eclipse.exe"));
}
catch (IOException e)
{
//e.printStackTrace();
System.out.println("异常在这!");
}
}
}
第七题:
public class Test
{
//八类基本类的包装类:
//int byte short long char float double boolean
//Integer Byte Short Long Character Float Double Boolean
public static void main(String[] args)
{
String s = "Mary。F。1976";
String[] s1=s.split("。");
// for(int i=0;i<s1.length;i++){
// System.out.println(s1[i]);
// }
for(String s2:s1){
System.out.println(s2);
}
int[] a={1,2,3,7,9};
// for(int i=0;i<a.length;i++){
// System.out.println(a[i]);
// }
//
}
}
第八题:
public class Test1
{
public static void main(String[] args)
{
String str="ababababab";
String s="ab";
int a=0,len,count=0;
len=s.length();
a=str.indexOf(s, a);
while(a!=-1){
count++;
a=a+len;
a=str.indexOf(s, a);
}
System.out.println(count);
}
}
第九题:
public class Test2
{
public static void main(String[] args)
{
String s="a,a,a,a,b";
String a="abclakabcjdfabcaldabcjfoiabcuhabc";
String b=a+"B";
String []m=b.split("abc");
System.out.println("该字符串出现abc的个数为"+(m.length-1));
}
}
第十题:
public class Test3
{
public static void main(String[] args)
{
String s="abc 12345 AAAAAB ab";
//先给定几个重要的变量;
char m;//把从字符串中,遍历出来的单个字符进行赋值;
int a=0,b=0,c=0;//用来计数;
for(int i=0;i<s.length();i++){
//把字符串里面每个字符做遍历;
m=s.charAt(i);
//判断所给的M值是否为大写,小写或者非字母;
if(Character.isUpperCase(m)){
a++;
}else if(Character.isLowerCase(m)){
b++;
}else{
c++;
}
}
System.out.println("大写字母一共有"+a+"\t"+"小写字母一共有"+b+"\t"+"非字母个数有"+c);
}
}
第十一题:
public class Test5
{
public static void main(String[] args)
{
String s="123456";//引用类
StringBuffer s1=new StringBuffer("123146546");//是一个具体的类;
// s1.append('/').append("12421").append('/').append("大家好");
// System.out.println(s1.insert(5, 'b'));
System.out.println(s1.delete(1, 3));
}
}
第十二题:
public class Test6
{
public static void main(String[] args)
{
//小练习:用键盘输入(Scanner)一串字母或者数字组成的字符串,然后进行反转;
Scanner s=new Scanner(System.in);
System.out.println("请输入字符:");
String str=s.next();
StringBuffer s1=new StringBuffer(str);
System.out.println(s1.reverse());
}
}