第一次笔记

     2021.7.17
注释:ctrl+
打印:System.out.println(  +“ ” );
输入:Scanner scanner=new Scanner(System.in);
           int a=scanner.nextLine();
布尔类型(整型,浮点型一类的):只有true和flase两种
运算符号:&相与  | 相或   ~取反   ^异或   
位移运算:<<    >>   
                  注:对于int类型,第二个操作符先对2^n取模,余数是实际移动的位数
if语句: 
                   if                 if
                   if                 else if
                  else              else
switch语句:
                  switch(express){
                   case value1:
                    ……;
                    break;
                   case value2:
                     ……;
                     break;
                     default:
                      ……;
                      }
while   do-while  for    break 语句
cotinue:跳过当前循环


初始化数组  :int a[]; a=new int[n];
                      int a[]=new int[n];
                      int a[5]={1,2,3,4,5};
                            ps:   int a[]=new int [5];a[]={1,2,3,4,5};         //错误
                                    数组可以理解为地址
矩阵的乘法:
                              一、
                                 1、用A的第1行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第1行第1列的数;
                                 2、用A的第1行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第1行第2列的数;
                                 3、用A的第1行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第1行第3列的数; 
                             二、                                
                                 1、用A的第2行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第2行第1列的数;
                                 2、用A的第2行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第2行第2列的数;
                                 3、用A的第2行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第2行第3列的数;
                                 A有i行B有j列,C有i行j列
矩阵乘法程序:
                        for(i=0;i<a[].length;i++)
                             {
                               tmp=0;
                               for(k=0;k<b[0].length;k++)
                                     {
                                       for(j=0;j<b[0].length;j++)
                                            tmp+=a[i][j]*b[j][k];
                                     }
                                    r[i][k]=temp;
                             }     
Arrays类:
               Arrays.sort(array):对数组array进行排序;
               display(array):打印出数组array;
                int index=Arrays.binarySeach(array,39):找出数组array中39的位置    
                                 ps:如果key在数组中,则返回搜索值的索引;否则返回-1(key小于数组中的任意一个元素)或者”-“(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素索引。
                Arrays.fill(array,0,3,-1):将 array[0,3)换为-1;
*****
          import  java.text.Collator;
          import  java.util.Arrays;
          import  java.util.Comparator;
          String[] arrStrings={"计算机",“长江”,“通信”,“数学”};
          Arrays.sort(arrStrings);                       ------------排序不成功,Array.sort只能进行数值和字母排序;
          Comparator comparator=Collator.getInstance(java.util.Local.CHINA);----------------将汉字转化为拼音
          Arrays.sort(arrStrings,comparator);

   2021.7.18
抽象类的特点:抽象类和抽象方法必须用abstract关键词修饰
                                   public abstract class 类名{}
                                   public abstract void eat()
                         抽象类不一定有抽象方法(这样没啥意义),有抽象方法一定是抽象类
                       抽象类不能实例化,但是可以在派生子类中实例化
                       抽象类的子类
                                           要么重写抽象类中所有的抽象方法
                                            要么它也是抽象类
 get和set:get变量名(),用于获取成员变量的值,用public修饰
                  set变量名(参数),用于设置成员变量的值
   
2021.7.20
面向对象的特征:
             1.封装:将一种操作和操作涉及的数据捆绑在一起,使其免受外界的干扰和误用
                         2.继承:指一个新的类继承原有类的基本特征,并增加新的特性。可间接继承。子类extends父类。
                         3.多态性:指类中同一名称(名称相同就行,参数类型不考虑)的行为可以有多种不同的功能,或者相同的接口有多中实现方法
             其中包括方法重载和方法重写

类:
         关键字:class
         地位:Java中最基本的元素
         类体:包括定义类的成员变量和方法

反射:    获取类的常用方法:

    Class<?> classBook = Class.forName("com.jourwon.reflect.Book");
    
    获取构造方法:

        getConstructor(Class…<?> parameterTypes)        获得该类中与参数类型匹配的公有构造方法
    getConstructors()                    获得该类的所有公有构造方法
    getDeclaredConstructor(Class…<?> parameterTypes)    获得该类中与参数类型匹配的构造方法
    getDeclaredConstructors()                获得该类所有构造方法
  2021.7.23
判断周几的公式:
                            int week = (year-1+(year-1)/4-(year-1)/100+(year-1)/400+days)%7;
split切割字符串:
      String s = string-string
      String【】 s1 = s.split("-")
      for(String s2 : s1)
      System.out.println(s2);
                  --------------
      string
      string
  2021.7.26
String类的使用方法:
        连接:String1.concat(String2)
        提取指定字符:String1.charAt(i)
        从i开始提取str2的j个字符给str1:str1=new String(str2 , i, j)
        比较是否相等:str1.equals(str2)
            str1.equalIgnore(str2)忽略大小写
        str1.startsWith(str2):判断前缀是否有str2
                                      .ends                               后缀
        str1.compareTo(str2):比较大小
        int i = str1.indexOf(‘char’):判断字符char在字符串str1中排第几个
            .lastIndexOf      :从后向前判断
        str.substring(i):从第i个截取后面的字符串
        str1.replace(str2,str3):str3替换str1中的str2
StringBuffer:
        添加:sbf.append(str)
        插入:sbf.insert(i,str):第i个后插入
        删除:sbf.delete(i,j):删除(i-j)
        替换:sbf.replac(i,j,str):(i-j)替换为str


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值