数据与数据

基础中的基础

数据类型

  1. 基本数据类型

    1. 数值型(byte,short,int,long,float,double)
    2. 字符型(char)
    3. Boolean(boolean)
  2. 引用数据类型

    1. 类(class)
    2. 接口(interface)
    3. 数组

整数

  1. 十进制数
  2. 八进制数,要求以0开头,如012
  3. 十六进制,要求以0x0X开头
  4. 二进制数,要求以0b0B开头

默认的数字是int型,可以通过添加lL使其变为Long(Long为8字)

java不支持无符号数

Boolean

  • boolean只允许truefalse,不允许0或非0

Char

  • Java使用Unicode编码,每个字符占两个字节

    char c = 'a';
    //等价于
    char c1 = '\u0061'

浮点数

  • float:4字节
  • double:双精度,最大是$e^{308}$,约合

要求必须包括小数点.,千分为分隔符可以用_表示,同时支持eN的科学计数法

默认的浮点数是double,如果想要转float,在后面标记fF

标识符

就是代码中的名字,有如下的规定

  1. 由字母,数字,下划线,美元号组成
  2. 不能用数字开头

同时应该满足:

  1. 类名首字母大写
  2. 其余小写
  3. 少用下划线

运算符

和C基本一致,左移右移有点区别

  • 默认的左移右移是去掉符号进行左移右移,再补符号
  • 多了一个无符号右移>>>,表示强制右移(与C一致)
提出的意义:使复数也可以简单的左右移动

(虽然也不难实现)

类型提升

  • 默认支持:

    shortintintlongfloatdouble

表达式语句

如果单独出现表达式而没有赋值的情况,编译器会阻止这样的发生

函数的实参本身就是赋值的过程

数组

与C差不多,由于JAVA的数组是引用,类似于C的指针,所以必须要new一下

int []a = new int[5];
int []a = new int[]{3,4,5};
int []a = {3,4,5};    

都是可以的

长度

数组自带一个计数器来保存长度,使用.lenght来获得。

for-each语句

下面的代码

int[] ages = new int[10];
for(int age:ages){
    System.out.println(age);
}

这种语句得到的是const引用,所以不能修改,只能读取

复制

通过使用System.arraycopy()可以实现数组的拷贝

System.arraycopy(source, 0, dest, 0 , source.Length)

参数自己猜一猜能明白是啥意思

  • 原数组
  • 原数组的起始index
  • 目标数组
  • 目标数组的起始index
  • 拷贝的长度
Last modification:March 21st, 2020 at 01:46 pm
Compared with money, your comment could inspire me more.
相较于钱财,你的留言更能激发我创作的灵感