上次的内容有没有把你劝退呢?如果没有,那就继续吧。
本文将会提到:
1.标识符与关键字
2.一些需要固化的内容
3.数据
4.运算符
5.输入与输出
标识符与关键字
其实在Helloworld中已经见到了一些标识符了,而标识符的作用很明显:打上标记,用来识别。
既然是用来帮助识别的那么就必然会有一些规范。而这些规范分为硬规范和软规范。硬规范就是语言硬性要求的规范,只要不遵守,直接报错。而Java的硬规范有:a、只能由数字、字母和下划线组成;b、数字不能开头;c、严格区分大小写。软规范就是行业内部的了,虽然不遵守不会报错,但是会被嘲笑。具体的有:1、见名知意,能用英文用英文,英文写不出来可以用全拼;2、按照约定俗成的方式起名(具体的约定后面说)。
Java的标识符可以初步分为两类:语言预定义标识符和用户自定义标识符。语言标识符就是语言定义好了的,除了规定使用的地方外一律不能使用,也被叫做关键字,Java有50多个关键字,它们会在后续内容中一一出现。用户自定义标识符就是开发者自己定义的标识符了,按照定义者又分为先人自定义(也就是一些先人写好了,我们可以直接拿来用的那种)和自己自定义。而自己自定义标识符也是所有标识符中唯一一种可以由我们自己控制的。
一些需要固化的知识点
类的定义:
现阶段这样去记忆就行了
public class Main{
}
main方法的定义
main可以有多种写法,至于为什么要这样,等学到了更多内容,自然就知道了。
public static void main(String[] args)
public static void main(String args[])
public static void main(String... args)
static public void main(String args[])
static public void main(String... args)
static public void main(String[] args)
单行注释、多行注释与文本注释
单行注释:用来注释单独一行,以//作为标志。
多行注释:可以一次性注释多行,以’/*‘开头,’*/结尾。
文档注释:用来生成Java文档,以’/**‘开头,’*/'结尾。
数据
数据类型
其实数据的种类非常丰富的,一串数字,一个字母,一张图片,甚至是你那1个G的学习资料都可以成为数据。而我们的机器最终会把它们变成机器自己能看懂的方式,即二进制串。由于数据的种类太丰富了,我们需要通过某种方式告诉计算机,通过什么方式把这些数据变成二进制串,以及划分多少空间来存它,于是,就有了数据类型。
在Java中,我们的数据类型分为基本数据类型和引用数据类型,我们这里先说基本数据类型。基本数据类型分为4类:整数型、浮点型、字符型和布尔型。
整数型
这个类型就不需要我过多表述了吧,就是生活中的整数。至于这种类型怎么变成0和1的,可以去网上参考:xx进制整数怎么转二进制整数,计算机也是按这种进制转换的方式存的,但是要注意一点:计算机存数时,最高的那一位是符号位,拿来表示正负的,0为正,1为负(现在某些破解者大致应该知道为什么改了一个特别大的值最后反而变成负数的原因了吧)。
根据空间划分大小不同,整数型可以分为byte(字节)、short(短整型)、int,以及long(长整型),存储空间分别是1字节(8位)、2字节(16位)、4字节(32位)和8字节(64位),数值范围分别是:
byte:-128(-2^7)到127(2^7-1)
short:-2^15到2^15-1
int:-2^31~2^31-1
long:-2^63~2^63-1
浮点型
其实这里可以对应到生活中的实数了,拿它来表示整数和小数都行。至于为啥我管它叫浮点数,就和存储方式有关了。在存储时,会把二进制串用几位数来表示小数点的移动情况,因此叫做浮点数
浮点型只有两种:float和double,分别需要32位和64位的空间,数值范围分别是1.4E-45到3.4028235E38、4.9E-324到1.7976931348623157E308
字符型-char
字符就是一个字、一个符号、一位数字(不能带符号),其实整数和小数还能按数字的存储规范来存,但是一个字符怎么存呢?
这就要说一说字符编码了。通过将字符进行数字编码,就可以将字符转换为二进制串了。现在Java可以用Unicode编码,也可用ASCII编码。当然了,除了世界通用的Unicode以外,一些国家也会有自己的字符编码集,如果你在码字的时候用了不是默认的字符集,那么就会出现编码错误。(现在你该知道锟斤拷怎么来的了吧)。Java中字符类型的空间是16位。
布尔型-boolean
这个数据类型就是我们生活中的“真”与“假”、“是”或“否”。那么计算机怎么存呢?欸,等等,布尔类型就只有两个值啊,恰好二进制是用0和1表示的,那么,我们是不是可以……
于是我们就是用0表示false,1表示true。但是计算机会用多少空间存呢?这个就没有固定说法了,得看你的机器怎么想的了。
数据量
既然我们可以通过数据类型来指定存储方式了,那么我们表示数据量了。也就是把值存进对应空间。
数据量分为常量和变量两种。
变量
你还记得以前在解方程的时候写的那些xyz吗?没错,那就是变量。而我们也可以在Java中声明一个变量。声明变量的标准语法是:
数据类型 变量名 = 值;
(虽然可以不直接写值,但是如果要使用,一定要在使用前为变量赋值。)
拓展知识:
Java中变量使用范围就是在声明它的那个{}中,在哪里声明,就在哪里使用。
常量
就是我们在生活中长期使用的某个固定量。在Java中,你可以直接写一个值上去作为常量,那就是值常量,也可以起个名作为符号常量。符号常量的声明规则是:
final 数据类型 常量名 = 值;
上面四个内容缺一不可。
类型转换
其实我们在实际开发过程中,肯定会遇到两个不同数据类型的碰撞,这个时候,就要用到数据类型转换了。这里先说基本数据类型的。
运算时:同一类型运算,结果必然是同一类型。不同类型运算,谁大变成谁。
赋值时:小类型自动转大类型,大类型只能通过强制转换才能转小类型。
运算符
算术运算符:+,-,*(乘),/(除),%(取余)
赋值运算符:=,+=,-=,(前)++,(前)–,(后)++,(后)–
比较运算符:>,<,>=,<=,==,!=(不等于)
逻辑运算符:&&(与),||(或),!(非)
三目运算符:逻辑表达式?表达式1:表达式2
其实还有位运算符,但是使用量不高,就不一一列举了,最多知道位与、位或、左位移、右位移,就行了。
输入与输出
通过Scanner类,可以实现控制台输入。需要通过’import java.util.Scanner;'来导入它。以下是在已经导入的情况下,获取int输入的代码,其他数据类型可以参考此代码。
Scanner sc = new Scanner();
int a = sc.nextInt();
sc.close();
至于输出,就是那个System.out。目前用println或者print就够了。
好了,本文全部内容到此结束,我们下一篇文章见。