Java学习之三-Java基本数据类型及修饰符

Java学习之三-Java基本数据类型及修饰符

概述
java作为一种面向对象的语言,支持一下概念:多态、继承、封装、抽象、类、对象、实例、方法、重载。

Java对象与类
对象:对象是类的一个实例,(声明,实例化,初始化)
类:类是一个模板,它描述一类对象的行为和状态。(局部变量、成员变量、类变量(静态变量static)、构造方法(如果没有显示定义,编译器会提供一个默认的构造防范))

源文件声明规则
当一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意以下规则:

  • 一个源文件只能有一个public类
  • 可以有多个非public类
  • 源文件名称应该和public类名保持一致
  • 如果一个类定义在某个包中,那么package语句应该在源文件的首行
  • 如果源文件含有import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该放在源文件的最前面。
  • import语句和package语句对源文件中定义的所有类都有效。在同一个源文件中,不能给不同的类不同的包声明。

Java包
包主要用来对类和接口进行分类,当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。

Import语句
Import语句用来提供一个合理的路径,使编译器可以找到某个类。

Java基本数据类型
8种内置数据类型:
byte (8位) 、short (16位)、int( 32位)、long (64位)、float (32位)、double( 64位)、boolean (1位)、char (16位 unicode)
引用类型:
对象、数组。所有引用类型的默认值都是null

Java常量
常量在程序运行时是不能被修改的,Java用final关键字来修饰常量。常量通常用大写字母表示。
如: final double PI=3.1415937;

Java 特殊的转义字符序列

符号字符含义
\n换行0x0a
\r回车0x0d
\f换页符0x0c
\b退格0x08
\0空字符0x20
\s字符串
\t制表符
\“双引号
单引号
\反斜杠
\ddd八进制字符ddd
\uxxxx16进制unicode字符 xxxx

自动类型转换
byte,short,char->int->long->float->double
数据类型转换必须满足如下规则:

  • 不能对boolean类型进行转换
  • 不能把对象类型转换成不相关类的对象
  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换
  • 转换过程中可能导致溢出或损失精度
  • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

修饰符

  • default(缺省,什么也不写):同一包内可见
  • private:同一类内可见
  • public:对所有类可见
  • protected:对同一包内的类和所有子类可见
  • static:静态变量与静态方法
  • final 通常与static修饰符一起使用创建类常量,final方法可以被继承不能被修改,final类不能被继承
  • abstract 抽象类,不能同时用abstract 与final修饰。抽象方法
  • synchronized 声明的方法同一时间只能被一个线程访问。
  • transient序列化的对象包含transient修饰的实例变量时,java虚拟机跳过该特定的变量。该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。
    (public transient int limit=55;//不会持久化)
  • volatile修饰的成员变量在每次被线程访问是,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时。会强制线程将变化值写回到共享内存。这样在任何时刻。两个不同的线程总是看到某个成员变量的同一个值。
    一个volatile对象引用可能是null
public class MyRunnableTest implements Runnable
{
 private volatile boolean active;
 public void run()
 {
   active=true;
   while(active)//第一行
   {
    //代码
   }
 }
 public void stop()
 {
  active = false;//第二行
 }
}
通常情况下 一个线程调用run()方法,另一个线程调用stop()方法。如果第一行中缓冲区的active值被使用,那么第二行的active值为false时,循环也不会停止。但是上面的示例中,我们使用了volatile修饰了active ,所以该循环会停止

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值