美文网首页
一周小结

一周小结

作者: 斐顾 | 来源:发表于2016-11-27 19:19 被阅读0次

                                                      一周小结

    Java基础语法

    1.介绍

    a)这部分课程的目标是掌握Java的基础语法

    b)我们以开发BMI计算器为主要例子贯穿相关学习

    1.安装Eclipse

    a) Eclipse依赖于JDK/JRE,我们可以在window/preferences里面配置JDK/JRE,我们可以在window/preferences里面配置JDK/JRE

    b) workspace可以存放很多项目和代码

    2.使用Eclipse创建Hello程序

    a)学习Eclipse的基本用法

    b)Eclipse可以自己根据包创建文件夹

    c)Eclipse可以自动编译,直接运行

    d)Eclipse可以帮我们生成代码

    3.Java注释

    a)注释帮助程序员更好的看懂代码,不影响编译和执行

    b)两种注释写法

    i./**/可以写多行注释

    ii.//只能写一行

    c)注释有类注释,方法注释和方法内部注释

    d)注释必要的时候添加;最好的注释就是清晰的代码(不用注释)

    e)JDK自带的类包含很多注释,我们学习JDK的类的一种方式就是读它的注释

    f)我们要学会自己看注释,自己点进去看代码

    4.再次认识Java程序 – 类

    a)Java程序是由类组成的

    i.Java程序是由类组成的

    ii.系统帮我们提供了很多类:我们要了解系统的类

    iii.我们的同事可能会写很多类

    iv.我们可以去网上下载类

    v.我们自己会写很多类

    vi.类与类之间相互调用(使用)来完成任务

    5.再次认识Java程序 – 方法和语句

    a) 类里面包含多个方法

    i.类由方法组成

    ii.方法包括方法声明,和方法体两部分

    iii.方法声明包括返回值,名字,输入参数(包在小括号内),多个输入参数用逗号隔开,输入参数必须指定类型(用空格隔开);

    b)语句

    i.方法的代码是由一条条语句组成的

    ii.语句必须以分号结尾

    6.关键词

    关键词是Java预留的具有特殊含义的词,比如class

    关键词在eclipse中会有特殊颜色显示

    java编译器通过关键词和语法解析java程序

    关键词:class public void return int package

    7.标识符

    a)标识符的必须遵守的规则

    肯定不能用关键词

    标识符第一个字母必须是字母,下划线_,或者$

    后面的字符可以是任何字符或者数字

    标识符大小写敏感,name和Name

    b)java的命名规范 - 驼峰命名法

    i.多个单词直接连接在一起,中间不用下划线或者横杠等

    ii.类名每个单词首字母大写

    iii.变量名和方法名第一个单词首字母小写,其他单词大写

    c)尽量让名字直观易懂

    BodyMassIndexCalculator

    9.变量

    a)变量是存放数据的地方

    b)变量都有具体的数据类型,不同类型的变量不能赋值

    c)变量要先定义,再使用

    d)变量通过=(赋值运算符)来赋值,可以直接赋值,也可以以后在赋值

    e)变量的值可以改变

    f)定义BMI必须的变量

    10.变量的种类:属性变量和局部变量

    a)属性变量,类除了有方法,还有属性

    i.理解System.out.println(“”)

    b)局部变量

    i.只在方法中使用,是临时的数据存放的地方

    11.常量

    a)变量加上final关键词就可以了

    使用常量来定义欢迎语句

    12.数据类型

    a)基本数据类型 – 8种

    b)自定义数据类型class, interface, enum



    13.数字数据类型

    a)几种不同的数字数据类型

    //内存最小的单位是bit,1个bit只能存储一个0或者1.

    //8个bit为1个byte字节

    b)使用正确的数据类型改进bmi的变量值

    14.数据类型转换

    a)自动类型转换:

    i.数字之间,从低精度到高精度可以自动转换;

    ii.从高精度到低精度不能自动转换,因为会丢失精度

    b)强制类型转换

    c)类型转换可能会出错

    B bb = (B)a;

    15.字符串和字符

    a)字符串使用双引号括起来(一定要用英文双引号)

    b)变量名是不用双引号的,如果没加双引号,那必须是关键词或者变量

    16.运算符

    a)数字运算符

    + - * / %

    b)比较运算符

    == > < >= <=

    c)逻辑运算符

    &&  ||  &  |

    d)其他运算符

    e)计算bmi的值

    17.取余运算符%

    98 % 10 = 8    13 % 5 = 3

    方法调用:方法名();

    18.比较运算符

    布尔值数据类型

    a)只有true或者false两种

    b)逻辑运算的结果是布尔型的的值

    19.逻辑运算符

    a)&&: 两个都是ture才是ture

    b)||: 有一个true就是true

    c)&: 按位与

    d)|: 按位或

    20.程序的三种执行方式

    a)顺序执行

    b)分支执行

    i.if else    ii.switc

    c)循环执行

    i.for    ii.while

    21.分支语句if else if else

    22.使用if判断来实现bmi程序

    23.变量的作用域

    全局变量:整个类都可以使用。

    局部变量:只有在自己所属于{}里面才可以使用。

    全局变量和局部变量如果名字相同,优先使用局部变量。

    局部变量不能命名冲突。除非两个局部变量在完全相互独立的{}内。

    24.分支语句 switch case

    a)语法

    b)要加break,否则从头到尾会一直执行,直到遇到break为止

    c)最后可以加default,不进行条件判断,可以直接走进去

    d)只支持以下几种类型:int byte short char String Enum

    e)在分支比较多的时候,优先使用switch

    25.基础数据类型(int, byte等)所对应的对象

    8种基本数据类型(primitive)

    26.使用Scanner接收用户输入

    import 是从别的包引入类。下面的两种不用import

    java.lang

    new 是创建对象/类的实例

    Scanner sc = new Scanner(System.in);

    27.循环语句 for

    28.循环语句do while

    29.完善bmi程序:使用while循环支持多次计算

    30.使用DecimalFormat格式化bmi小数点到2位小数

    字符串String

    1.字符串的拼接

    2种方法:使用+或者使用concat方法

    一般情况下,2种方法都可以使用,没大区别

    但如果要拼接成千上万个字符串,应该考虑StringBuffer或者StringBuild类,后面会学习这两个类

    2.字符串的方法String

    学会使用Eclipse查看源代码

    学会使用outline查看所有的方法

    length()    charAt()   等等。。

    3.字符串查找和替换

    chartAt()      replace(“are”, “is”)

    复杂情况下应该使用正则表达式Regex

    4.StringBuffer和StringBuilder

    使用+号拼接字符串,每次拼接都会创建一个新的字符串,占用内容多,效率低

    StringBuffer和StringBuilder在拼接过程中使用同一个对象,所以效率高。(append方法)。

    StringBuffer是线程安全的,会防止多个线程同时访问String,它添加了额外的防护,所以比StringBuilder慢。

    concat方法底层实现是StringBuilder.

    数组

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

    有20个朋友,需要安排住的地方。定了20个房间。yourHotel

    yourHotel[1], yourHotel[2]…. yourHotel[20]

    数组是存储固定长度,相同类型的元素集合的数据结构

    数组的下标从0开始计算

    3种方式:

    int[] myIntArray = new int[3];

    int[] myIntArray = {1,2,3};

    int[] myIntArray = new int[]{1,2,3};

    2.数组的访问和遍历

    a)访问nums[3]

    b)注意数组下标越界

    java.lang.ArrayIndexOutOfBoundsException

    c)获得数组长度使用length – 这是一个属性

    3.for循环的第二种方式

    只能应用在数组,List等集合数据结构上

    4.Arrays和sort

    Arrays.sort

    5.二维数组

    算法

    1.算法概念

    a)算法简单说就是解决问题的思路和步骤,对程序员至关重要

    b)算法是独立于编程语言的

    c)常用算法:各种排序算法等

    d)简单例子:在数组里面查找某个元素是否存在?

    有一个数组,里面保存了很多名字,我们查找一下tom是否存在?

    2.数组 - 如何寻找一个数组中最大的或最小的值

    i.先定义一个变量max,让它很小,比如-10000

    ii.遍历这个数组,一个个比较过去,如果有一个比max大,就让max=这个数字

    iii.最后max就是最大的

    3.如何反转reverse一个数组?

    int nums = {1,3,5,7,2,6}

    方法1:再创建一个一样大的数组newNums。

    newNums[length-i-1] = nums[i];

    方法2:循环到数组长度的一半

    int n = nums[i]

    nums[i] = nums[length – i-1]

    nums[length-i-1] = n

    4.其他数组相关操作算法

    a)如何合并两个数组?

    b)如何在数组中删除1个元素?

    {1,4,6,2,4,6,8}

    c)如何在数组中添加一个元素?

    {1,4,6,2,4,6,8}

    {1,4,6,2,7,4,6,8}

    d)如何判断两个数组是否相同?

    先判断数组长度是否相同,如果相同再比较数组的每个元素是否相同

    5.递归算法概念 – recursion

    递归 Recursion – 简单说就是自己调用自己

    递是传递给自己,自己调用自己

    归是退出条件,在某些条件符合的时候,停止调用自己。如果没有退出条件会出现死循环,程序上会出现 java.lang.StackOverflowError

    6.递归算法例子 –

    什时候用递归:问题是重复的过程,可以被分解成更小的问题。

    a)讲阶乘

    b)关键是理清楚退出条件和传递方法

    7.递归算法例子3 -讲斐波那契序列

    1、1、2、3、5、8、13、21、34

    在数学上,斐波纳契数列以如下被以递归的方法定义:

    退出条件:F(1)=1,F(2)=1,

    通用公式:F(n)=F(n-1)+F(n-2)(n > 2,n∈N*)

    讲青蛙跳台阶问题

    8.排序算法

    相关文章

      网友评论

          本文标题:一周小结

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