• java 笔记整理


    在19寒假对java基础进行自学,总结的笔记整理出来

    ====================================================

        排序查找

    冒泡排序法
    1.一共会比较数组元素个数-1 轮           //0到nums.length-1
    2.每一轮,比较的次数比上次少1   //0到nums.length-i-1
    3.如果前面一个数字大于后面一个数字 那么交换  //利用temp变量交换
    选择排序(数组所有元素都与其之后的元素相比较 假设第i个值是最小值 i是下标)
    1.先比较--数组元素--轮  //0到nums.length
    2.再进行循环 i到最后    进行----数组元素-i-1---次   //i+1到nums.length 
    3.每次循环,交换i的值和minIndex的值
    sort排序(此方法效率最高)
    Arrays.sort(nums);    //nums为数组 (可排列所有类型*需导入头文件*)

    二分法查找(查找key是否在数组a[i]中 min-下限 mid-中间元素下标 high-上限 mid=(min+high)/2 )
    1.不停循环直到找到 将key与a[i]中间元素比较
    case1 若key小于中间元素 继续在数组前半元素中查找       //if(key<a[mid]) high=mid-1; mid=(min+high)/2 ; 重复1
    case2 若key大于中间元素 继续在数组后半元素中查找               //if(key>a[mid]) min=mid+1; mid=(min+high)/2 ; 重复1
    case3 若key等于中间元素 找到并退出循环        //if(key=a[mid]) break;
    2.Collections.binarySearch();          //直接运用代码使用二分法
     
     
    @@总结:sort排序(此方法效率最高)Arrays.sort(nums);  
    ======================================================
        获得当前日期与年份时间
     
    Calendar cal=Calendar.getInstance();
    System.out.println(cal.get(Calendar.YEAR);  //当前年份
    (cal.get(Calendar.MONTH)+1);   //当前月份
    cal.get(Calendar.DATE);    //当前日期
    cal.get(Calendar.DAY_OF_WEEK));   //当前星期
    MINUTTE ---------分钟
    SECOND----------秒
    hour---------------小时(12小时制
    hour_of_day-------24小时制
    day_of_week-------星期(从0开始  需要+1)
    day_of_month------同DATE
    day_of_year--------当前年的天数
    AM_PM-------------0表示上午,1表示下午
     
    cal.set(year,month,day,.....)    //为日历对象设定时间

    Date date=cal.getTime();    //初始化date 需要加util包
    System.out.println(date.toLocaleString());  //得到当前时间
     
     
    =========================================================
        随机数
    Math.random()    //[0.0,1.0)  0-1 之间小数
    (int)(Math.random() * 10000 )%10         //[0,9]
    (int)(Math.random() * 10000 )%13         //[0,12]
     
    ========================================================
        数学函数
    Math.PI     //圆周率
    Math.E     //e=2.71828
    Math.sin(角度)    //正弦值 弧度
    Math.cos(角度)    //余弦值 弧度
    Math.tan(角度)    //正切值 弧度
    Math.toRadians(degree)   //以角度为单位的值转换为弧度
    Math.toDegrees(radians)   //以弧度为单位的值转换为角度
    Math.asin(a)    //反正弦 角度
    Math.acos(a)    //反余弦 角度
    Math.atan(a)    //反正切 角度
    Math.ceil(x)    //向上取整
    Math.floor(x)    //向下取整
    Math.round(x)    //四舍五入取整
    Math.min/max    //返回两数最小/最大值
    Math.pow(a,b)    //a的b次方
    Math.abs     //取绝对值
     ====================================================
        StringBuffer与StringBuild
    StringBuffer str1=new StringBuffer( ) ;
    StringBuilder str2    //buffer安全于builder 但速度慢 主要用buffer
     

    StringBuffer的用法
    str1.append("*")    //在str1后加上*(运行效率比字符串+快)
    str1.reverse( );    //反转字符串 
    str1.insert(offset, all)    //插入在offset位置上all的内容(可char,数字,string)
    str1.delete(2, 4)    //删除[2,4)
    str1.deleteCharAt(index)   //删除位置上的一个字符
    str1.replace(2,4,"123")   //将[2,4)替换成后面字符串123的内容
    str1.setCharAt(index, ch);   //在将该位置的元素设置成char(char可设置为中文)
    str1.setLength(0);    //清空字符串对象
    @@总结:主要运用StringBuffer ,在文件中进行append操作
     
     
    =================================================
      拆装箱
    作用:能对常用类型进行方法操作
    以下给出doublechar示例:
      double-Double示例
    double a=3.14
    装箱
    Double num1=new Double("3.14");  
    Double num2=Double.valueOf(a);  //两种装箱方法
    Double num3=3.14;   //自动装箱
    拆箱
    a=num1;     //自动拆箱
    a=num2.doubleVaule();   //拆箱

    Integer num1=100;    //两者数值相同时且位于定义范围内时 两者num相同
    Integer num2=100;    
    num1==num2
     
    但超出范围(<-127||>128)
    num1!=num2    //两者不等 因为两者超出范围后 系统重定义赋予地址
         //两次都超出 赋予地址不同 因此比较时比较地址不同
    num1.compareTo(num2)   //此处比较两个数的数值 相等返回0 前大返回1 前小返回-1
     
      char-Character示例
    判断char型字符------boolean
    Character.isAlphabetic(ch);   //判断字符是否是字母
    Character.isLetter(ch);   //判断字符是否是文字(字母或者汉字)
    Character.isDigit(ch)   //判断字符是否是数字
    Character.isLetterOrDigit(ch)   //判断字符是否只含文字或数字
     
    ===================================================
      文件IO流
    File(path)  //用file类型直接打开文件
    content.append(System.getProperty("line.separator"));//拼接一个系统默认分隔符
     

    字节流
    InputStream
    OutputStream  //读/写byte型文件
    子类
    FileinputStream (file1)  
    FileOutputStream (file1) //打开文件
    ObjectInputStream  //对其目标文件进行强转成要得到的类型
    ObjectOutputStream //序列化和反序列化(实现Serializable接口)
    BufferedInputStream //缓存流包装

    字符流
    Reader
    Writer   //打开文件
    子类
    BufferedWriter   //缓冲字符输出流用其write()方法写入字符串
    BufferedReader
    InputStreamReader
    OutputStreamWriter
    PrintWriter   //用append拼接字符串
    子类
    FileReader(path/file)  //字符流读取文件
    FileWriter(path/file)   //写入文件
    RandomAccessFile   //分块读取(用处大)
     
    @@总结:以读取文件为例
    两者都实例化后方可:
    1.先用Reader/FileinputStream(上方红记号)打开文件后
    2.再用其他子类去对文件修改
    RandomAccessFile   //分块读取(用处大)
     
     
     
    =================================================
      杂记
    1.类型转换
    char[] a= {'c','a','f'};    //字符数组
    String str1=new String(a);   //将字符数组类型转换为字符串
    char[] b;     
    b=str1.toCharArray();   //将字符串转换为字符数组
     
    2.忽视大小写 当answer为y或Y时为真1 反之其他为0
    answer.equalsIgnoreCase("y")  

    3.1970-1-1到现在的毫秒数
    long time=System.currentTimeMillis();  
     
    4.键盘输入
    Scanner input=new Scanner(System.in) 
    之后对input进行函数调用 需导入头文件
     
    5.java选项面板类
    JOptionPane.showInputDialog(null,str);  //将str以对话框的形式输出  (并在结尾输入 进行下一步)
    JOptionPane.showMessageDialog(null, str); //将str以对话框的形式输出 

    JOptionPane.showMessageDialog(null, "hello", "world", JOptionPane.WARNING_MESSAGE, new ImageIcon("路径"));
    参数1 对话框父窗体对象
    参数2 对话框的提示信息
    参数3 对话框的标题信息
    参数4 对话框的消息类型(警告标志 0=不填等)
    参数5 对话框中显示的图片对象
    JOptionPane.showInputDialog(null, message, title, messageType, icon, selectionValues, initialSelectionValue)
    参数6 对话框输入/选项(添加数组)
    参数7 在参数6对话框中初始的信息
     
    6.闰年判断条件
     year % 400==0||year % 4==0 && year%100!=0
     
    7.字符串截断
    str.substring    //返回一个字符串,该字符串是此字符串的子字符串。 子字符串以指定索引处的字符开头,并扩展到该字符串的末尾。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    学习笔记之Linux开发(C语言)
    Shell脚本文件操作
    学习笔记之Shell脚本的输出重定向
    学习笔记之正则表达式 (Regular Expressions)
    学习笔记之#pragma
    eclipse启动不了报错java was started but returned exit code=13
    学习笔记之APACHE ANT
    学习笔记之Linux / Shell
    学习笔记之DB2 9 Fundamentals 730
    windows远程关机重启
  • 原文地址:https://www.cnblogs.com/cc123nice/p/10493231.html
Copyright © 2020-2023  润新知