今天开始又要慢慢水博客了,太久太久没有动过了,希望对各位看官有一nene的帮助。
从这篇博客开始,后面java的基础部分可能都是参照耿祥义老师的《Java2实用教程(第二版)》,因为这本书是很多学校的教材,当然包括我的大学,就酱,开冲开冲。
一、编码基本概念
1、标识符
标识符这个东西大家不要想太多,就是个名字,你叫张三他叫李四我叫王五,就这么简单。不过命名需要遵守一定的规则:
- 标识符一般由字母、下划线、数字和美元符号组成(之所以说一般,是因为java还能用汉语做标识符,虽然易懂,但是整体上显得很突兀)
- 标识符不能由数字开头
- 标识符不能是关键字(见下文),也不能是true,false,null这三个其实并不算关键字的单词
- 标识符可以是中文
2、关键字
就是在敲代码时候IDE经常会高亮或者加粗的那个东西,一般像for、if、while、return等等等等这些有特定用途的单词,也只是个概念而已,不必深究,看到认识是关键字就行。
二、数据类型
数据结构中将数据类型定义为:一些数的集合与对这些数的操作一起被称为数据类型。但如果你只是一个初学者,建议不要去过分强调操作的事,就只记得数据是可以被分类的。举个例子,刚上小学时,我们学着数一二三,后来渐渐的学习100以内的加减法,再后来学习小数,计算大数,学习实数集、整数集、复数集,越往上走我们学习数的精度就越高,但是高级的数又包含着之前学习的低级的数,比如实数集包含着整数与自然数、无理数、有理数等等,而复数集又几乎涵盖了我们普通认知里所有能想到的数。编程语言中的数据类型也是如此。为了计算机计算方便,我们将数据也进行了分类。
我们从精度上从小到大来讲。
类型 | 占内存大小 | 意义 |
---|---|---|
byte | 一个字节 | 这个数可以认为是值比较小的整数,只有8bit来表示数值,不会很大 |
short | 两个字节 | 比byte稍微大一点的整数 |
char | 两个字节 | 关键得很,这是唯一的字符类型,声明的时候必须用单引号,如‘A’ |
int | 四个字节 | 最常用的整数类型,对于我们平常使用的数,这个数已经足够了 |
float | 四个字节 | 最常用的浮点类型(就是小数),一般的小数够用了,保留八位有效数字,比如123456.789456,只会保留123456.78,必须加后缀F或f |
long | 八个字节 | 凡事都有例外,如果int满足不了你,就用这个(要加后缀L) |
double | 八个字节 | 凡事都有例外,如果float满足不了你,就用这个,保留16位有效数字(要加后缀D或d,也可不加) |
boolean | 一般是一个 | 关键得很,传说中的布尔类型变量,只有true和false两个值,经常用在条件判断中,也常常会出现在数据结构图的应用中。 |
上面几个基本类型无论如何都要把对应的类型与大小记住,不然遇到问题会很麻烦。
接下来就谈谈类型转换,类型转换是面向需求的操作,不常用,但是一旦有需求,比如计算平均值后取整等操作时就要求我们要对转换的规则有一个清晰的认识。
类型转换的规则就是,小的随便放到大的,大的换成小的小的不能撑死且必须加括号(按照上面表格中的精度排序)。
//小的随便换成大的
int a = 3;
float b;
b=a; //合法合规,并且不用添加别的东西
//大的换成小的小的不能撑死
int a = 3663;
long b = 3664;
byte c;
c=(byte)a; /*语法正确,大的换成小的必须要加上括号并在括号内注明要转换到的数据类型
但是,此处是不合规的,因为byte取不到3663,将3663赋给c会让c“撑死“*/
a=(int)3664 /*语法正确且合规,因为int可以取到3664*/
基础数据类型就上面那些,记忆的同时多关注一下数据类型转换的方法即可。
三、数组
java里的数组和C/C++/Python的区别还是蛮大的,只不过本质上也都是一种线性表,只是在操作上不同的编程语言会有自己特殊需要注意的地方而已。
首先,数组的声明:下面三段代码都是等价的
int a[],c[];
int b[][];
int []a,c;
int [][]b;
int []a,c,b[];
重要部分:创建数组的三种方式(初始化):尤其要注意的是,声明数组时方括号内不注明大小。
//直接创建花括号
int a[] = {1,2,3,4};
//先声明再分配空间
int a[];
a = new int[4];
int[0] = 1;
int[1] = 2;
int[2] = 3;
int[3] = 4;
//声明与分配空间同时进行
int a[] = new int [6];
int[0] = 1;
int[1] = 2;
int[2] = 3;
int[3] = 4;
这里说一下为什么要先声明再放变量。
在几乎所有的编程语言中,数组的名称只是起一个指针的作用,它指向数组的存储空间,并按照指定的数据类型实现数据的随机存取。Java中的思想是,先声明出来这一块指针空间,然后用new把数组空间创建出来,把new执行完之后(或者花括号声明后)返回的地址赋给指针空间,即声明的数组名所在位置,这样就可以使用数组名加上索引实现数组的随机存取了。
数组的长度:length是每一个数组都会有的属性,在创建数组后可以使用“数组名.length”获取数组长度,注意数组的length是不带括号的
int k[] = {4,5,6,7};
int len = k.length; //len值为4,一位数组长度就是元素个数
int a[][] = {{1},{2,3},{4,5,6}} //二维数组中,每一行的元素个数可以不同
len = a.length; //len值为3,二维数组长度就是行数
就这么多吧,写不下去了,找女朋友去了,再见。