2020.02-Study_update.1

week 2.03-2.09

-Study_update
-Mon.字符串String
-TueArray
-Wes面向对象思想
-Thus封装
-Fri帮助文档生成,继承中通过super对父类构造方法的调用
-Satpublic,private,protected,default…InnerClass
Sun多态

2.03 Monday

String cannot edit.
内存区域:栈 堆 方法区 运行常量区
连接字符串(+)多个字符串连接和其他数据连接
通过+可以直接对字符串(或者其他数据类型)常量和变量做连接操作
字符串的特性字符串无法被修改
解释(引用类型,基本类型)内存区域:栈 堆 方法区 运行常量区
字符串值无法被修改,但是字符串对象可以引用别的字符串。
字符串信息获取长度
s.length();
查找子字符串的位置
s.indexOf(int c);
s.indexOf(String str);
s.lastIndexOf(String str);
获取指定位置的字符s.charAt(int index)
获取子字符串s.substring(int beginIndex);
s.substring(int beginIndex,int endIndex);
字符串判断:判断字符串的开始和结尾s.startsWith(String prefix);
s.endsWith(String suffix);
判断字符串是否相等==s.equals(String str);

public class stringdemo{
 public static void main(String [] args){
  String str="ab\nc";
  System.out.println(str);
  String str2=new String("abcde");
  System.out.println(str2.indexOf("cd"));//查找子字符串的位置
  System.out.println(str2.length());//返回字符串的长度
  System.out.println(str.charAt(0));//获取指定位置的字符
  System.out.println(str2.substring(3));//获取子字符串
  System.out.println(str2.substring(0,3));//获取子字符串 给定范围 不包含最后一个index (0,3)只返回0,1,2的字符
  System.out.println(str2.startsWith("abc"));//判断是否以某个字符串开头 返回boolean.
  System.out.println(str2.endsWith("de"));//判断是否以某个字符串结尾 返回boolean.
  System.out.println(str2.equals("abcde"));//判断字符串是否相等
  System.out.println(str2.equalsIgnoreCase("abcdE"));//判断字符串是否相等 忽略大小写
  //·················································································
  String str3="aca";
  String str4="aa.ac";
  String str5="AAAA";
  System.out.println(str3.compareTo(str4));//从一开始往后比较字符,如果相同,就跳过,如果不相同,
  //返回比较数与被比较数的差,如果前面字符一样,长度不一样,返回长度的差。
  System.out.println(str4.contains(str3));//判断参数字符串是否包含在内,返回boolean
  System.out.println(str3.isEmpty());//判断是否字符串为空
  System.out.println(str3.toUpperCase());//把字符串转换成大写
  System.out.println(str5.toLowerCase());//把字符串转换成小写
  String strs[]=str4.split("\\.");//字符串的分割 需用数组接受 用循环遍历。
  for(String s:strs){
   System.out.println(s);
  } 
  System.out.println(str4.trim());//去除字符串前面与后面的空格
  String str6="aaa";
  System.out.println(str6.replace("a","b"));//替换字符串 把第一个参数替换成后面一个
  //洋葱骑士
 }
}
exercise01

一、给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位 置.
如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入。

import java.util.Scanner;
public class exercise{
 public static void main(String[] args){
  Scanner s=new Scanner(System.in);
  String baseStr=s.nextLine();//声明需要判断的字符串
  String childStr=s.nextLine();//声明子字符串
  String res="";//声明返回的结果
  
  //如果没有子字符串,结束程序。
  if(baseStr.indexOf(childStr)==-1){
   System.out.println("没有包含");
  }
  else{
   res+=baseStr.indexOf(childStr);
   //保存当前的index
   int currIndex=baseStr.indexOf(childStr);
   //取得子字符串长度
   int childLength=childStr.length();
   //从当前字符串index往下推一个子字符串长度,然后再继续检测,直到没有新的子字符串后返回结果。
   while(baseStr.indexOf(childStr,currIndex+childLength)!=-1){
    currIndex=baseStr.indexOf(childStr,currIndex+childLength);
    res+=(" "+currIndex);
   }
  }
  System.out.println(res);
  //洋葱骑士
 
 }
}
 import java.util.Scanner;
public class exercise{
 public static void main(String[] args){
  Scanner s=new Scanner(System.in);
  String baseStr=s.nextLine();//声明需要判断的字符串
  String childStr=s.nextLine();//声明子字符串
  String res="";//声明返回的结果
  
  //如果没有子字符串,结束程序。
  if(baseStr.indexOf(childStr)==-1){
   System.out.println("没有包含");
  }
  else{
   System.out.println("位置:"+baseStr.indexOf(childStr)+"\n");
   int currIndex=baseStr.indexOf(childStr);
   //取得子字符串长度
   int childLength=childStr.length();
   //从当前字符串index往下推一个子字符串长度,然后再继续检测,直到没有新的子字符串后返回结果。
   while(baseStr.indexOf(childStr,currIndex+childLength)!=-1){
    currIndex=baseStr.indexOf(childStr,currIndex+childLength);
    System.out.println("位置:"+currIndex+"\n");
   }
  }
  System.out.println(res);
  //洋葱骑士
 
 }
}

2.04 Tuesday

exercise01

一、遍历一个数组中所有的元素,并输出出来.
二、请将’A’,’B’,’C’存入数组,然后再输出.
三、复制数组,将数组里面的数据全部复制到另一个数组里面.
四、取得一个数组里面的最大值和最小值.
五、现在有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 要求将以上数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组为 int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}.
六、数据查找,有一个数组,里面存储是是整数,从这个里面查找一个指定整数,找到这个整数所在位置(索引位置)。(查找第一个出现的位置)

import java.util.Arrays;
import java.util.Scanner;
public class arraydemo{
 public static void main(String[] args){
 //①
 int[] sums=new int[10];
 for(int i=0;i<sums.length;i++){
  System.out.println(sums[i]);
 }
 
 //②
 char[] chars=new char[3];
 chars[0]='A';
 chars[1]='B';
 chars[2]='C';
 for(int i=0;i<chars.length;i++){
  System.out.println(chars[i]);
 }
 //③
 int[] sums1=new int[]{0,1,2,3};
 int[] sums2=new int[sums.length];
 for(int i=0;i<sums1.length;i++){
  sums2[i]=sums1[i];
 }
 for(int i=0;i<sums2.length;i++){
  System.out.println(sums2[i]);
 }
 //④
 int[] sums1=new int[]{0,1,2,3,1414,-525,4534,6767,456456,88};
 int max=0,min=0;
 
 for(int i=0;i<sums1.length;i++){
  if(i==0){
  max=sums1[0];}
  max=max>sums1[i]?max:sums1[i]; 
 }
 for(int i=0;i<sums1.length;i++){
  if(i==0){
  min=sums1[0];}
  min=min<sums1[i]?min:sums1[i];
 }
 System.out.println(max);
 System.out.println(min);
 //⑤
 int[] sums={0,1,1,0,0,3,0,4};
 int sumsLength=0;
 for(int i=0;i<sums.length;i++){
  if(sums[i]!=0)sumsLength++;
 }
 int[] res=new int[sumsLength];
 int index=0;
 for(int i=0;i<sums.length;i++){
  if(sums[i]!=0){
   res[index++]=sums[i];
  }
 }
 for(int i=0;i<res.length;i++){
  System.out.println(res[i]);
 }
 //⑥
 int sums[]=new int[]{1,2,1,2,2,3,3,4,5,7,8,4,5,2,2,5};
 Scanner s=new Scanner(System.in);
 int input=s.nextInt();
 for(int i=0;i<sums.length;i++){
  if(sums[i]==input){
   System.out.println("Index is:"+i);
   break;
  }
 }
 System.out.println("Cant find!");

 }
}

2.08 Saturday

内部类可以访问外部类的变量与方法 ,外部类不能访问内部类的。
How to create one innerClass.

合并排序数组 II exercise

public class Solution {
    /**
     * @param A: sorted integer array A
     * @param B: sorted integer array B
     * @return: A new sorted integer array
     */
    public int[] mergeSortedArray(int[] A, int[] B) {
        // write your code here
        int[] res=new int[A.length+B.length];
        
        int AIndex=0;
        int BIndex=0;
        
        for (int i=0;i<res.length ;i++ ){
            if(AIndex!=A.length&&BIndex!=B.length){
                 if(A[AIndex]<=B[BIndex]){
                     res[i]=A[AIndex++];
                 }else{
                     res[i]=B[BIndex++];
                 }
            }else if(AIndex==A.length&&BIndex!=B.length){
                res[i]=B[BIndex++];
            }else if(AIndex!=A.length&&BIndex==B.length){
                res[i]=A[AIndex++];
            }else{
                break;
            }
            }
            return res;
       }
   
    }

2.09 Sunday

//java 多态 有一个类 Person,Student类继承至Person。
//声明一个Person类对象p.
//就可以使用new Student();构造p.因为Person是父类.
//p可以调用Person的方法,如果要调用Student的方法,先强制转换成Student.((student)p).method;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值