Java学习.第一周


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学习.第一周_第1张图片
Java基础.png

你可能感兴趣的:(Java学习.第一周)