美文网首页
Java学习.第一周

Java学习.第一周

作者: LINKOFF | 来源:发表于2016-11-27 21:11 被阅读0次

    Java学习的第一周很快过去,课程从Java的运行环境和对应软件用法开始,到现在已经讲到算法一章的递归函数,随着课程的深入,以前不扎实的基础也有了明显的进步。
    那么分小结回顾一下之前一周的内容

    Java基础知识


    ** 1.Java运行环境**

    • JDK 和 JER的安装
    • windows有很多环境变量,路径去path方面找

    Java语法基础

    1. 注释

    • //注释只能打一行
    • /注释可以打很多行/

    ** 2. 方法和语句**

    1. 类里面包含多个方法
    • i.方法包括方法
    public    int       sum(int a,int b){}
    修饰符    方法声明          方法体
    
    • ii.void不需要返回值,int需要return,返回类型和声明的一致
      ** 3. 标识符**
    • 不能用关键词,第一个字母是字母或者_或者$,后面的字符可以是任何字符或者数字
      标识符大小写敏感,命名规范——驼峰命名法
    • i.多个单词直接连接在一起,中间不用下划线或者横杠等
    • ii.类名每个单词首字母大写
    • iii.变量名和方法名第一个字母小写,还是使用驼峰命名法
    • 尽量让名字直观易懂

    比如BodyMassIndexCalculator

    ** 4. 数据**

    • 变量需要先定义才能使用
    • 常量定义后就不能再改变

    final int ss=45;

    ** 5. 数据类型**

    • 基本数据类型有8种(基础类型没有方法,属性)
    byte short int long char float double  boolean
    8     16    32  64   16   32    64  1bit used in 32 bit integer
    

    八种基础数据类型可以转换为对应的类,转换后可以有方法

    Integer--int       Byte--byte 
    Short--short       Long--long 
    Double--doubule    Float--float 
    Boolean--boolean   Character--char
    

    数据类型装换

    • 数字之间,低精度到高精度可以自动转换
    • 从高精度到低精度不能自动转换 age=(int)shenGao可以强制转换

    ** 6. 属性**

    System.out.println
    类     属性    方法
    

    方法里面变量为局部,最外面的变量为全局变量


    运算符


    • 数字运算符 比较运算符 逻辑运算符

    ** 1. 逻辑运算符%**

    % < >&& || & |

    ** 2. 程序的三种执行方式**

    • 顺序执行
    • 分支执行
    • i. if ;else if ;else
    • ii.switch
    • 循环执行
    • i. for
    • ii.while

    ** 3. 循环**

    • for(int i=1;i<=100;i=i+1){}
    • while(条件){}//先判断再做
    • do{}while() //先做再判断

    字符串


    ** 1. 字符串的拼接**
    字符串的拼接基本方法有两个:

    1. 使用 + 号,如
    2. 使用 .concat
    3. 但如果要运用大量字符串的拼接就要考虑性能
      可以考虑使用

    StringBuffer,Stringbuilder

    ** 2. String的大量拼接**

    1. StringBuffer
      这是一个特殊的string类,它将string封装起来,从头到尾只有一个string在运行
    StringBuffer sb=new StringBuffer("0");
        for(int i=1;i<10000;i++){
            sb.append(i);
        }
    
    1. Stringbuilder
    StringBuilder sbuilder=new StringBuilder("0");
        for(int i=1;i<10000;i++){
            sbuilder.append(i);
        }
    
    • Stringbuffer和Stringbuilder在拼接过程中使用同一个对象,所以效率高(append方法)
    • StringBuffer是线程安全的,会防止多个线程同时访问String,它增加了额外的防护,

    ** 3. String的查找和替换**
    1.查找 System.out.println(str1.indexOf("are"))
    2.替换 String str2 =str1.replace('H','h');
    String str3 =str1.replace("you","me");
    3)更加复杂的查找和替换将会用到 正则表达式Regex


    数组


    ** 1. 数组的概念,声明和创建**

    int[]nums={4,5,3,5};
    String[] names=new String[10];
    String[] names=new String[10];

    • 直接用System.out.println(names)打印出来的是类名@地址

    ** 2. 数组的访问和遍历**

    1. nums[]
    2. 注意数组下标越界问题,会显示以下异常
    java.lang.ArrayIndexOutOfBoundsException
    

    ** 3. For Each语句**

    int[]nums={4,5,3,5};
            for(int num:nums){
                System.out.println(num);
            }
    

    这种方式只能运用在数组,list等集合数据结构上,结构简介但没有原先的for循环灵活
    Arrays.sort()可以排序数组,如果是字符串会按字母顺序,如果是数组会按大小顺序

    ** 4. 二维数组**

    int [][] nums ={{2,3,4},{3,2},{9}};
    String [][] names= new String[][]{{"tom","jack"},{"Alice","John"},{"Kate","Lily"}};
    String [][] names2=new String[4][3];

    names[a][b] a为行,b为类


    算法


    1.算法概念

    • 算法简单来说是解决问题的思路和步奏,对程序员至关重要
    • 算法是独立于编程语言的

    ** 2. 递归**

    1. 递归算法概念 -recursion
    • 递 是传递给自己,自己调用自己
    • 归 是退出条件,在某些条件符合的时候,停止调用自己,如果没有退出条件会出现死循环,程序上会出现
    java.lang.StackOverflowError
    

    图解

    Java基础.png

    相关文章

      网友评论

          本文标题:Java学习.第一周

          本文链接:https://www.haomeiwen.com/subject/ffunpttx.html