美文网首页
一周小结

一周小结

作者: 斐顾 | 来源:发表于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.排序算法

相关文章

  • 我的零碎杂乱(2020-12-20-08)

    开始的第8天,我的一周小结。 工作不是很忙碌,零散的时间却很拥挤。一周,一转眼。如约而至,我的一周小结来了。 ①人...

  • 本周阅读小结(20180415)

    -----《财富自由之路》第一周阅读小结 这周开始...

  • 周小结|溜号的一周

    【本周时间:2022.07.18~2022.07.24】 上一周没写周小结,感觉没什么写的,这一周就相反,简书外,...

  • 一周小结~

    2日18日-2月24日小结. 这次,因为要去永无岛阅读馆中学习,所以,早早的初五便从老家回来了。 ...

  • 一周小结

    总结一下这一周,这周里发生了很多大大小小的事儿,但是现在回想起来记忆深刻的也是有几件的。 最深刻的当然是昨天发生的...

  • 一周小结

    坚持七天都在写作,虽然是活动,但是我参加了就认真去写每一天。虽然都是生活琐事,每个人都有可能遇到,...

  • 一周小结

    整体感知: 最近几日状态不佳,计划没能很好的执行,时间管理有些疏忽。 写作没有跟上,有些心烦意乱。 身体感觉有些酸...

  • 一周小结

    本周之后我们基本过了大部分音标,说实话有些我仍然不够熟悉,练习时间不充足是主要原因,不给自己找任何借口,放水要主动...

  • 一周小结

    时间过得太快,第六周已经结束了,小结如下: 语文学完第三单元(韵母部分),整个拼音部分全部学完,但是掌握情况不乐观...

  • 一周小结

    昨天晚上和舍友偶然聊起自己的心情不好,虽然毕业很久了,虽然曾经四年互相diss,虽然曾经闹过很多别扭,但也许这就是...

网友评论

      本文标题:一周小结

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