语法 & 关键字

数据类型

基本数据类型

    四种整数类型:byte、short、int、long
    两种浮点数类型:float、double
    一种字符类型:char
    一种布尔类型:boolean

引用数据类型:类,数组,接口...

取值范围通过静态常量获取,不需要记忆
基本数据类型转型原:大容量→ 小容量,需要强制转换符,可能造成精度降低

关键字

this
    this(): 调用构造方法
    指向对象本身

synchronized
    单词释义:同步,同步锁

    适用场景:解决多个线程同时访问同一块代码或者方法,导致同一变量在不同线程中数据不一致的问题

    作用对象:synchronized修饰方法or代码块,其实锁定的是调用这个方法的实例对象。
    如果加在静态方法上,锁定的就是Class。类锁和实例锁不同。class锁对类所有实例有效。            
    synchronized(class){}和加在静态上效果一样。

    作用域:类锁依赖于calss,实例锁依赖calss对象。不同线程对于同步锁是互斥的。
    例如一个线程拥有了这个对象的同步锁,则另外一个线程是拿不到的,除非这个线程释放了自己拿到的同步锁。

    当一个线程访问“某对象”的“synchronized方法”或者“synchronized代码块”时,
    其他线程访问该对象”的“synchronized方法”或者“synchronized代码块时将被阻塞。

    当一个线程访问“某对象”的“synchronized方法”或者“synchronized代码块”时,
    其他线程可以访问该对象的非同步代码块。

    当一个线程访问“某对象”的“synchronized方法”或者“synchronized代码块”时,
    其他线程对该对象的其他synchronized方法或者代码块将被阻塞。

    如果是类锁,则所有线程访问该同步方法互斥
switch
    条件选择
    可以是作用于yte、short、char、int、enum、String类型,但是long类型不能。
break
    跳出当前循环
continue
    结束本次循环进行下一次循环
static
    static修饰的变量或方法在程序里是唯一的,存在方法区
    不需要实例化就能调用
super
    子类中的父类对象引用
this
    当前类内部对当前类的引用
abstract
    只能被继承的类,而接口可以同时继承多个接口,所以推荐面向接口编程
final
    变量:不可更改 方法:不可重写 类:不可继承
==
    如果是基本数据类型,比较的是值,如果是引用类型,比较的是对象在内存中的地址
    例如string,因为自动打包成对象,比较的其实是俩对象的物理内存地址
    有关hashCode()中选用质数31: 1.结果适中 2.位操作方便:31 * i = (i << 5) - i
<<
    表示左移,左移时不管正负,低位补0  
    左移1位*2
>>
    表示右移,如果该数为正,则高位补0,若为负数,则高位补1
    右移1位/2
负数 
    以正数的反码(0,1互换)+1 ,即补码表示  最高位为0:正 最高位为1:负
public、protected、default、private
    修饰符
    适用范围<访问权限范围越小,安全性越高>

    访问权限   类   包  子类  其他包
    public     ∨   ∨    ∨     ∨          (对任何人都是可用的)

    protect    ∨   ∨   ∨     ×    (继承的类可以访问以及和private一样的权限)

    default    ∨   ∨   ×     ×    (包访问权限,即在整个包内均可被访问)

    private    ∨   ×   ×     ×    (除类型创建者和类型的内部方法之外的任何人都不能访问的元素)

    ps:实例化对象并不是类本身,我们拿到的只是一个指向该对象的引用,所以并不能访问private属性
只能在这个类本身的代码里被访问。外部通常通过public方法访问private属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值