重温Java基础(二)

12 篇文章 0 订阅

目录

1.关键字

instanceof

super

final

abstract

2.数据类型

3.类型转换运算

4.数组

5.运算符

计算混合运算的精度:

按位与运算:

按位或运算:

按位非运算:

按位异或运算

6.语句


1.关键字

instanceof

  1. instanceof运算符是Java独有的双目运算符,其左面是操作元是对象,右面的操作元是,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。

super

  1. 子类一旦隐藏了继承的成员变量和方法,那么子类创建的对象就不再拥有该变量和方法,该变量和方法将归关键字super所拥有。
  2. 由于子类不继承父类的构造方法,因此子类在其构造方法中需使用super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句

final

  1. 修饰类:final类不能被继承,即不能有子类,不能成为父类
  2. 修饰方法:修饰的方法不允许被子类重写(不可修改)
  3. 修饰常量:如果成员变量或局部变量被修饰为final,那就是常量。

abstract

  1. abstract类:(1)abstract类中可以有abstract方法,也可以没有(非abstract类不可以有abstract方法)(2)abstract不能被new(3)abstract子类必须重写abstract 方法(4)abstract类声明对象,尽管不能使用new运算符创建该对象,但该对象可以成为其子类对象的上转型对象,那么该对象就可以调用子类重写的方法
  2. abstract方法:abstract方法只允许声明,不允许实现。而且不允许使用final和abstract同时修饰一个方法或类。也不允许使用static修饰abstract方法,即abstract方法必须是实例方法。

2.数据类型

数据类型分为两大类:基本数据类型、引用数据类型。

基本数据类型又分为:逻辑、整数、字符、浮点类型。

引用数据类型又分为:类、接口、数组。

3.类型转换运算

当把一种基本数据类型变量的值赋给另一种基本类型变量时,就涉及数据转换。

各数据类型按精度从低到高的排列:

byte  short  char  int  long  float  double

就会出现两种情况:低精度->高精度、高精度->低精度

低->高:

当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。

int y=3;

double x=y;

高->低:

当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。

例如:int  x=(int) 3.49;   x的值将等于3。

4.数组

  1. 创建数组需要经过声明数组和为数组分配变量两个步骤
  2. 构成二维数组的一位数组不必有相同的长度
  3. 对于二维数组“数组名.length”的值是它含有的一维数组的个数
  4. 创建数组后,系统会给数组的每一个元素一个默认的值,float型是0.0
  5. 两个相同类型的数组如果具有相同的引用,他们就有完全相同的元素

5.运算符

这里可能要注意一点的是:逻辑运算符&&和||也称作为短路逻辑运算符。如何来理解“短路”二字?

例如:p1=false;p2=true;  当进行p1&&p2运算时,计算到p1为false时,就直接给出结果时false了,不会去计算p2到底是true还是false了。当进行p2||p1运算时,因为p2为true,所以直接给出结果true,不会计算p1的值。(p1,p2可以看作是表达式)

计算混合运算的精度:

在一个表达式中,如果最高精度是双精度/单精度/long/int 时,此时表达式就是按双精度/单精度/long/int 进行运算。

若在一个表达式中,最高精度低于int型整数,则按int 精度进行运算。

按位与运算:

运算法则是:如果两个数据对应都是1,则是1。否则是0。(转二进制的对应数)

按位或运算:

运算法则是:如果两个数据对应都是0,则是0。否则是1。

按位非运算:

运算法则:对应位是0则是1,否则0

按位异或运算

运算法则:如果两个数据对应位相同,则是0,否则是1。
如果c=a^b,那么a=c^b。也就是说,^的你运算符仍然是^,即a^b^b等于a。

6.语句

几点我自己需要注意的:

1.if语句的括号里面只能是Boolean类型。不能是int类型。一直认为是可以的,可能是受C++的影响?

2.switch语句中表达式的值可以是byte、short、int、char型,但不可以是long型数据。

3.JDK1.5对for语句的功能给予补充、增强。
    for(声明循环变量:数组的名字){

    }
   注意声明二字,变量必须在括号里面声明,不能使用在括号外声明的变量

4.java没有foreach。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值