Java 是一门面向对象的编程语言。它最牛逼的地方就在于它是跨平台的,你可以在 Windows 操作系统上编写 Java 源代码,然后在
Linux 操作系统上执行编译后的字节码,而无需对源代码做任何的修改。
一、数据类型
Java 有 2 种数据类型
- 一种是基本数据类型
- 一种是引用类型:
基本数据类型用于存储简单类型的数据,比如说:
- int、long、byte、short 用于存储整数
- float、double 用于存储浮点数
- char 用于存储字符
- boolean 用于存储布尔值
不同的基本数据类型,有不同的默认值和大小,来个表格感受下。
二、声明变量
变量的使用时程序设计中一个十分重要的环节,定义变量就是要告诉编译器(compiler)
这个变量的数据类型,这样编译才知道需要配置多少空间给他,以及他能存放什么样的数据。在程序运行的过程中,空间内的值是变化的,这个内存空间就称为变量。
为了便于操作,给这个空间去个名字,称为变量名。变量的命名必须是合法的标识符,内存空间的值是就是变量值。在声明变量时可以是没有赋值,也可以是直接赋给初始值。
三、关键字
为了便于你作为参照,我列举了 48 个常用的关键字。
1.abstract: abstract
关键字用于声明抽象类——可以有抽象和非抽象方法。
2.boolean: boolean
关键字用于将变量声明为布尔值类型,它只有 true
和 false
两个值。
3.break: break
关键字用于中断循环或 switch
语句。
4.byte: byte
关键字用于声明一个可以容纳 8 个比特的变量。
5.case: case
关键字用于在 switch 语句中标记条件的值。
6.catch: catch
关键字用于捕获 try
语句中的异常。
7.char: char
关键字用于声明一个可以容纳无符号 16 位比特的 Unicode
字符的变量。
8.class: class
关键字用于声明一个类。
9.continue: continue
关键字用于继续下一个循环。它可以在指定条件下跳过其余代码。
10.default: default
关键字用于指定 switch
语句中除去 case 条件之外的默认代码块。
11.do: do
关键字通常和 while 关键字配合使用,do
后紧跟循环体。
12.double: double
关键字用于声明一个可以容纳 64 位浮点数的变量。
13.else: else
关键字用于指示 if
语句中的备用分支。
14.enum: enum
(枚举)关键字用于定义一组固定的常量。
15.extends: extends
关键字用于指示一个类是从另一个类或接口继承的。
16.final: final
关键字用于指示该变量是不可更改的。
17.finally: finally
关键字和 try-catch
配合使用,表示无论是否处理异常,总是执行 finally
块中的代码。
18.float: float
关键字用于声明一个可以容纳 32 位浮点数的变量。
19.for: for
关键字用于启动一个 for
循环,如果循环次数是固定的,建议使用 for 循环。
20.if: if
关键字用于指定条件,如果条件为真,则执行对应代码。
21.implements: implements
关键字用于实现接口。
22.import: import
关键字用于导入对应的类或者接口。
23.instanceof: instanceof
关键字用于判断对象是否属于某个类型(class
)。
24.int: int
关键字用于声明一个可以容纳 32 位带符号的整数变量。
25.interface: interface
关键字用于声明接口——只能具有抽象方法。
26.long: long
关键字用于声明一个可以容纳 64 位整数的变量。
27.native: native
关键字用于指定一个方法是通过调用本机接口(非 Java
)实现的。
28.new: new
关键字用于创建一个新的对象。
29.null: 如果一个变量是空的(什么引用也没有指向),就可以将它赋值为 null
。
30.package: package
关键字用于声明类所在的包。
31.private: private
关键字是一个访问修饰符,表示方法或变量只对当前类可见。
32.protected: protected
关键字也是一个访问修饰符,表示方法或变量对同一包内的类和所有子类可见。
33.public: public
关键字是另外一个访问修饰符,除了可以声明方法和变量(所有类可见),还可以声明类。main
() 方法必须声明为 public
。
34.return: return
关键字用于在代码执行完成后返回(一个值)。
35.short: short
关键字用于声明一个可以容纳 16 位整数的变量。
36.static: static
关键字表示该变量或方法是静态变量或静态方法。
37.strictfp: strictfp
关键字并不常见,通常用于修饰一个方法,确保方法体内的浮点数运算在每个平台上执行的结果相同。
38.super: super
关键字可用于调用父类的方法或者变量。
39.switch: switch
关键字通常用于三个(以上)的条件判断。
40.synchronized: synchronized
关键字用于指定多线程代码中的同步方法、变量或者代码块。
41.this: this
关键字可用于在方法或构造函数中引用当前对象。
42.throw: throw
关键字主动抛出异常。
43.throws: throws
关键字用于声明异常。
44.transient: transient
关键字在序列化的使用用到,它修饰的字段不会被序列化。
45.try: try
关键字用于包裹要捕获异常的代码块。
46.void: void
关键字用于指定方法没有返回值。
47.volatile: volatile
关键字保证了不同线程对它修饰的变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
48.while: 如果循环次数不固定,建议使用 while
循环。
四、运算符
在Java中包含的运算符有:
- 算数运算符
- 逻辑运算符
- 关系运算符
算数运算符也就是我们平时的加减乘除余等操作:
在Java中都是将右边的值赋值给左边,所以一般格式为:结果 = 值;
加(+):result = value1 + value2;例如 result = 10 + 10;结果result值为20;
减(-):result = value1 - value2; 例如 result = 20 - 10; 结果result值为10;
乘(*): result = value1 * value2; 例如 result = 20 * 10; 结果result值为200;
除(/): result = value1 / value2; 例如result = 20 / 10;结果result值为2;如果value2的值为0,则Java会抛出一个异常;
余(%):求余,即获取不能除尽的值,result = value1 % value2;例如result = 12 % 5;result结果为2;
自增(++):value++或者++value;意思是将value的值加1;自增有两种写法,一种是++在前面,一种是++在后面,这两种单独使用的时候没有区别,但是和其他变量或者其他语法一起使用的时候,就有区别了,++在前说明是先将value加1然后在计算;++在后面说明先使用value在进行value加1;例如value = 10;result = value++; result的结果为10,value结果为11,因为++在后面所以先使用value赋值给result,然后value在进行加1;在如:result = ++value; result 的结果为11,value的结果为11;因为++在前面,所以value值先加一变成了11,然后再将value值赋值给result,所以result的结果为11;
自减(–):与自增一样的逻辑,只不过是将自身进行减1;
逻辑运算符:&&(并且) ||(或) !(非),逻辑运算符判断的变量为boolean,只有true与false;
并且(&&):result = value1 && value2;当value1与value2都为true的时候,result的结果为true;当其中任何一个为false的时候,result结果为false;而且,当value1的值如果为false的时候,value2不会进行判断,整个结果result的结果为false;例如if( value != null && value.length() > 10);如果value == null,则整个结果为false,并且value.length()不进行判断;这样如果value == null;则后面由于不会进行运算也就不会发生异常;
或(||):result = value1 || value2; 当value1与value2都为false的时候,result结果为false;如果有一个为true,那么result结果为true;并且如果value1为true的时候,value2不需要进行判断,result为true;
非(!): result = !value; result的结果与value的结果相反;value为true,则result为false;value为false,则result为true;
关系运算符:(>(大于), >=(大于等于), <(小于), <=(小于等于), ==(等于), !=(不等于)),关系运算法的结果为boolean类型的值,只有true或者false;
大于(>):判断第一个值是否大于第二个值,如果满足条件,则结果为true;否则为false;
大于等于(>=):判断第一个值是否大于等于第二个值;
小于(<):判断第一个值是否小于第二个值;
小于等于(<=):判断第一个值是否小于等于第二个值;
等于(==):判断两个值是否相等;
不等于(!=):判断两个值是否不相等;
这些整理不易,小伙伴记得三连呀呀呀。