Java再入:02 - Java语言的基本成分

02 Java语言的基本成分

默认大家都有C语言基础,所以一些东西只是简单的提一下,甚至忽略

基本成分:

  • 字符集
  • 词法元素
    • 标识符和关键字
    • 运算符、限届符和分隔符
    • 字面量
    • 注释
  • 数据类型
    • 什么是数据类型
      • 数据类型的含义
      • 预定义数据类型
    • 数据类型的实例
    • Java类型系统的概述
    • Java的基本数据类型
  • 表达式
    • 含义
    • 计算过程中的类型转换
      • 类型兼容赋值
      • 自动类型转换
    • 表达式的运算顺序
  • 语句
  • 子程序

一、数据类型

(1) 数据类型定义

  • 类型名
  • 取值范围
  • 操作集合

(2) 数据类型分类

  • 预定义数据类型
  • 基本数据类型
  • 自定义数据类型
  1. 基本数据类型:如Java的int,cher等,设立目的

    • 刻画数据的最基本的成分
    • 作为类型构造的最小元素
    • 提升运行速度(为了提高整体速度,常用汇编等语言设计实现基本类型)
  2. 预定义数据类型包括:基本数据类型和Java的类库

  3. 自定义数据类型:在复杂的应用场景下,预定义数据类型显然不够用,也不够灵活,为了满足用户需要新的数据类型可以自定义,而出现了自定义数据类型。

(3) 数据类型的实例

计算的数据被称为计算量,它是数据的实例。即数据类型的取值范围的一个值。
在命令式程序员范型中,数据存储于内存单元。计算量代表着特定的的内存单元,变量名代就是内存单元的名字,变量值就是内存单元的存储的值。其中变量的取值是可以变化的,但是变量的类型是不可以变化的。

(4) Java数据类型分类

基本数据类型:

  • 整型:byte,short,char,int,long
  • 浮点型:float,double

引用类型:class,interface,数组

(5) Java引用数据类型

  1. 堆和栈的关系,堆是给引用类型变量所指向的真实结构类型划分空间的容器,栈是为基本类型划分空间的容器。

  2. null 比较特殊,当 Object object = null,注意已经为其分配一个栈内存,但是还没有初始话堆内存(即,堆内存的真实结构没有构造)。

  3. int [] a 和 int a[] 是一个意思,但是推荐使用前一个。

  4. 数组初始化:int [] a = {1, 2, 3},只有在申明的时候可以这么写,其它地方会报错。

  5. 只有可以被正确被分配空间的声明才有效:

    int [] [] a = new int [3][];
    int [] [] b = new int [][3]; //无法计算内存分配
    
  6. 字符串:Java中,它可以直接看作对象。String是极其使用频繁的引用类型,且极其造成内存泄漏,Java专门设置一个字符串常量池,用于储存(这个池,也是在堆内存中)

    String str1 = 'zix'; //查找Java字符串常量池,如果有,则将其地址赋值给str1;如果没有,在常量池中建一个 'zix' String 对象,返回其地址
    String str2 = 'zix'; // str1 == str2 => true
    String str3 = new String('zix') // 在堆内存创建一个String 类型结构对象,返回其地址给str3
    // str3 == str2 => false
    

(3) 表达式

自动类型转换:

  • if 和 while 的条件判断,都必须确保其内表达式的最终结构为boolean类型
    if(2) { // 编译无法通过
        System.print.out('zix')
    }
    
  • 对byte、short型变量,不管是否存在其他类型,都将自动提升为int型
  • 对其它类型,则转换与其他类型最接近的高宽度类型
  • byte、short、cahr ==> int ==> long ==> float ==> double

强制类型转换:
(类型) + 表达式

char c = (char)('a' + 1);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值