201711671233《Java程序设计》第3周学习总结

                 201711671233《Java程序设计》第3周学习总结

一、教程学习内容总结

这周主要学习了Java运算符、表达式和语句,类与对象部分内容。

 

(一)运算符与表达式(运算符可用括号()实现想要的运算次序。)

1.加减运算符+、-

二目运算符(连接两个操作元的运算符)。

结合方向:左到右。

操作元是整型或浮点型数据。

优先级是4级。

 

2.乘、除和求余运算符*、/、%

二目运算符。

结合方向:左到右。

操作元是整型或浮点型数据。

优先级是3级。

 

3.自增、自减运算符(多用于for循环)

单目运算符。

操作元必须是整型或浮点型数据。

++x和x++的区别:++x是先执行x=x+1再使用x的值,而x++是先使用x的值再执行x=x+1。

 

4.算数混合运算的精度

精度低到高:byte  short  char  int  long  float  double

若表达式中最高精度是double、float、long型数据,则按着这3个中的1个来运算。若表达式中的最高精度低于int型数据,则按int进行运算。

Java允许把不超出byte、short、char的取值范围的算术表达式的值赋给byte、short、char型变量。

 

5.关系运算符与表达式

关系运算符:大于>、小于<、大于等于>=、小于等于<=、等于==、不等于!=。

二目运算符。

运算结果是boolean型,成立为true,不成立为false。

 

6.逻辑运算符与表达式

逻辑与&&、逻辑或||、逻辑非!

逻辑与&&、逻辑或||是二目运算符。逻辑非!是单目运算符。

    运算结果是boolean型,成立为true,不成立为false。

可用来连接关系表达式。

 

7.赋值运算符与表达式

赋值运算符=是双目运算符。左边是变量,不能是常量或表达式。

结合运算右到左。

 

8.位运算符

是指对两个整型数据按照对应的位进行运算,结果为新的整型数据。

左边最高位是符号位,最高位是0表示正数,是1表示负数。负数用补码表示。

与逻辑运算符的不同:位运算符要计算完a,b的值后再给出运算结果。

 

(1)按位与运算符&(双目)

运算法则:若a,b两个数据对应位都是1,则c的该位是1,否则是0。c的精度取a,b精度中最高的一位。

 

(2)按位或运算符|(双目)

运算法则:若a,b两个数据对应位都是0,则c的该位是0,否则是1。c的精度取a,b精度中最高的一位。

 

(3)按位非运算符~(单目)

运算法则:若a对应位是0,则c的该位是1,否则是0。

 

(4)按位异或运算^(双目)

运算法则:若a,b两个数据对应位相同,则c的该位是0,否则是1。c的精度取a,b精度中最高的一位。

a ^ a = 0, a ^ 0 = a。

^的逆运算是^。

 

9.instanceof 运算符(双目)

左边是对象,右边是类。

当左边的对象是右边的类或子类创建的对象时,该运算符结果为true,否则为false。(可以用来验证是否是某个类的对象。)

 

(二)语句

语句分为以下6类:

1.表达式语句:由表达式+分号构成。

2.复合语句:用{ }把一些语句括起构成。

3.空语句:一个分号;

4.方法调用语句:如System.out.println(“hello!”);

5.控制语句:条件分支语句,开关语句,循环语句

6.package语句和import语句

 

5.控制语句

if条件分支语句

(1)if语句

if后的一对小括号()的表达式的值必须是boolean类型。不能用0代替false,不能用1代替true。

(2)if-else语句

(3)if-else if-else语句

 

switch开关语句

表达式的值和常量值可以是byte、short、char、int型,但常量值需互不相同。

 

循环语句

(1)for

表达式1是初始化。表达式2必须是求值为boolean型数据的表达式。表达式3是增量表达式。

 

(2)while

括号()中的表达式必须是求值为boolean型数据的表达式

 

(3)do-while

与while循环的区别:do-while的循环体至少被执行一次。

 

break和continue语句

循环中执行break语句,则整个循环语句结束。

循环中执行continue语句,则本次循环结束,进入下一个循环。

 

(三)类

面向对象编程三特性:封装、多态、继承

 

1.类

类的定义包括类声明和类体。

声明:class 类名  (类名首字母使用大写字母。)

类体:大括号及其之间的内容。

 

2.类体

类体的内容包括变量的声明和方法的定义(给出算法)。

 

3.成员变量

成员变量的类型可以是byte、short、char、int、long、float、double。引用类型:数组、对象和接口。

    在整个类内有效,与在类体中书写的先后位置无关。

一行只声明一个变量。

 

4.方法

定义包括方法头和方法体。

 

(1)方法头

由方法的类型、名称和名称后的一对小括号及其中的参数列表构成。

方法返回的数据类型可以是byte、short、char、int、long、float、double。若方法是void类型,则不需要返回数据。

 

(2)方法体

由大括号{ }及其之间的内容构成。

内容包括局部变量的声明和Java语句。

在方法体中声明的变量称为局部变量。局部变量只在方法内有效,且与声明位置有关。局部变量从声明它的位置后开始有效。

 

(3)成员变量和局部变量

如果成员变量和局部变量名字相同,取局部变量。若想使用成员变量,使用关键字this。

成员变量有默认值,局部变量没有默认值。声明成员变量时可以赋初值。

 

(4)构造方法

类中构造方法的名字必须与它所在类的名字完全相同,且没有类型。如果类中没有编写构造方法,系统会默认该类只有一个构造方法。允许在一个类中编写多个构造方法。

方法重载:一个类中可以有多个方法具有相同的名字,但必须保证它们的参数不同。参数不同:参数个数不同或参数个数相同,但某个参数类型不同。方法的返回类型和名字不参与。

 

二、教材中的问题与解决过程

        刚开始上课的时候老师讲了方法这个知识点,我没反应过来。后来看书写学习总结的时候,才联系起C++中的成员函数,构造方法与构造函数类似。

 

三、代码调试过程中的问题与解决

       上课的时候老师出了几道题,其中有一道是输入一元二次方程的三个参数,并输出方程的根。C/C++中,开方要用到sqrt,头文件要加个math头文件,到Java中,我就不会了,不知道Java要使用sqrt,应该怎么操作。

 

四、感悟

         C++中有许多对方和Java不同,但也有一部分和Java类似,对于这些类似的地方,可以联系起来,理解就轻松点。

 

五、学习进度条

 

        代码行数

    (新增/累计)

          博客量

    (新增/累计)

       学习时间

   (新增/累计)

            目标

         2500行

            10篇

        200小时

          第一周

            30

              1

            10

          第二周

          30/60

             1/2

          10/20

          第三周

          30/90

             1/3

          10/30

 

六、参考资料

Java2实用教程(第5版)

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值