一 、基本数据类型
java中有八种基本数据类型来储存数值,字符和布尔值。

整数类型
1.1int 型
定义int型变量有以下4种语法,代码演示语法:
int a;//定义int型变量a
int a,b;//同时定义int型变量a,b
int a=10,b=-5;//同时定义int型变量a,b并赋予初
int a=5+23;//定义int型变量a,并赋予公式(5+23)计算结果的初值
1.2byte型
byte型的定义方式与int型相同,代码演示语法:
byte a;
byte a,b,c;
byte a=19,b=-45;
1.3short型
short型的定义方式与int相同,代码演示语法:
short a;
short a,b,c;
short a=1000,b=-19;
short a=20000/10;
1.4long型
由于long型得取值范围比int型大,且属于高精度数据类型,所以在赋值时要和int型做出区分,需要在整数后加L或者l,代码演示语法:
long a;
long a,b;
long a=12345678l,b=-987654321L;
long a=123456789L*987654321L;
浮点类型
2.1在默认情况下小数都被看做double型,诺想使用float型小数,则需要在小数后面添加F或f。代码演示语法
float a=12.12f;
double b=1234.12d;
double b=12345.1234;
字符类型
3.1char型
在定义字符型变量时要以单引号表示,如's'表示一个字符,但是"s”则表示一个字符串,虽然只有一个字符,但是由于使用双引号,它仍然表示字符串,尔不是字符,代码演示语法:
char a='b';
3.2转义字符
转义字符是一种特殊的字符变量,它以反斜杠 \开头,java中常见的转义字符如表:
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符''\' | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\0 | 空字符(NULL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 1到2位十六进制所代表的任意字符 | 二位十六进制 |
代码演示语法:
char a ='\\';
char b ='u2605';
4布尔类型
4.1布尔类型只有true和false两个值分别代表布尔逻辑中的真和假,布尔类型不能进行转换代码演示语法:
doolean a;
doolean b,c;
doolean a=c;
二 、变量与常量
1,标识符和关键字
1.1标识符
java语言规定标识符由任意顺序的字母,下划线(_),美元符号($)和数字组成,并且第一个字不能是数字,标识符不能是java中的关键字。
合法标识符代码演示:
name
user_age
$page
非法标识符代码演示:
4word
String
User name
1.2 关键字
关键字是java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来适用,java语言中的关键字如下:
Java关键字类别 | Java关键字 | 关键字含义 |
访问控制 | private | 一种访问控制方式:私用模式,访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量) |
protected | 一种访问控制方式:保护模式,可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符 | |
public | 一种访问控制方式:共用模式,可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 | |
类、方法和变量修饰符 | abstract | 表明类或者成员方法具有抽象属性,用于修改类或方法 |
class | 声明一个类,用来声明新的Java类 | |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 | |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 | |
implements | 表明一个类实现了给定的接口 | |
interface | 接口 | |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 | |
new | 用来创建新实例对象 | |
static | 表明具有静态属性 | |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 | |
synchronized | 表明一段代码需要同步执行 | |
transient | 声明不用序列化的成员域 | |
volatile | 表明两个或者多个变量必须同步地发生变化 | |
程序控制 | break | 提前跳出一个块 |
continue | 回到一个块的开始处 | |
return | 从成员方法中返回数据 | |
do | 用在do-while循环结构中 | |
while | 用在循环结构中 | |
if | 条件语句的引导词 | |
else | 用在条件语句中,表明当条件不成立时的分支 | |
for | 一种循环结构的引导词 | |
instanceof | 用来测试一个对象是否是指定类型的实例对象 | |
switch | 分支语句结构的引导词 | |
case | 用在switch语句之中,表示其中的一个分支 | |
default | 默认,例如:用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 | |
错误处理 | try | 尝试一个可能抛出异常的程序块 |
catch | 用在异常处理中,用来捕捉异常 | |
throw | 抛出一个异常 | |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 | |
包相关 | import | 表明要访问指定的类或包 |
package | 包 | |
基本类型 | boolean | 基本数据类型之一,声明布尔类型的关键字 |
byte | 基本数据类型之一,字节类型 | |
char | 基本数据类型之一,字符类型 | |
double | 基本数据类型之一,双精度浮点数类型 | |
float | 基本数据类型之一,单精度浮点数类型 | |
int | 基本数据类型之一,整数类型 | |
long | 基本数据类型之一,长整数类型 | |
short | 基本数据类型之一,短整数类型 | |
null | 空,表示无值,不能将null赋给原始类型(byte、short、int、long、char、float、double、boolean)变量 | |
true | 真,boolean变量的两个合法值中的一个 | |
false | 假,boolean变量的两个合法值之一 | |
变量引用 | super | 表明当前对象的父类型的引用或者父类型的构造方法 |
this | 指向当前实例对象的引用,用于引用当前实例 | |
void | 声明当前成员方法没有返回值,void可以用作方法的返回类型,以指示该方法不返回值 | |
保留字 | goto | 保留关键字,没有具体含义 |
const | 保留关键字,没有具体含义,是一个类型修饰符,使用const声明的 |
2.声明变量
对于变量的命名并不是随意的,应遵循以下几条规则:变量名必须是一个有效的标识符,变量名不可以使用Java中的关键字,变量名不能重复应选择有意义的单词作为变量名。
代码演示:
int a;
char char1 ='r'
三、运算符
1.赋值运算符
赋值运算符以符号 = 表示,它是一个二元运算符其功能是将右方操作数所含的值付给左方的操作数。
代码演示:
int a=10;
算术运算符
java中的算术运算符主要有+,-,*,/,%,它们都是二元运算符,java中的算术运算符的功能及使用方式如表:
运算符 | 描述 | 例子 |
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
2.自增和自减运算符
自增和自减运算符的作用是使变量的值增1或减1,++ 是给变量的值 +1 , -- 是给变量的值 -1 。
而前置++和后置++也有不一样的区别,前置++是先赋加再进行赋值,而后置++是先赋值再加。
代码演示:
int a=1
a++; //后置++ 表示给a的值加1,此时a的值为2
++a; // 前置++ 表示给a的值加1
3.逻辑运算符
逻辑运算符主要有三个 : && || !
3.1 逻辑与 &&
表达式均为真,整体才为真
3.2 逻辑或 ||
只要有一个表达式为真,则整体为真
3. 3逻辑非 !
真变假,假变真
代码演示:
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
运行结果:

3.4短路运算符
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
代码演示:
int a = 5;//定义一个变量;
boolean b = (a<4)&&(a++<10);
System.out.println("使用短路逻辑运算符的结果为"+b);
System.out.println("a的结果为"+a);
运行结果

4.位运算符
位运算符主要有四个 : & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。
1、 按位与
如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
代码演示:
int a = 10;
int b = 20;
System.out.println(a & b);
2、 按位或
如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
代码演示:
int a = 10;
int b = 20;
System.out.println(a | b);
按位取反
如果该位为 0 则转为 1, 如果该位为 1 则转为 0
代码演示:
int a = 0xf;
System.out.printf("%x\n", ~a)
4、 按位异或
如果两个数字的二进制位相同 , 则结果为 0, 相异则结果为 1.
代码演示:
int a = 0x1;
int b = 0x2;
System.out.printf("%x\n", a ^ b);
5、移位运算
移位运算符有三个 : << >> >>> ,都是二元运算符,且都是按照二进制比特位来运算的
整体右移,正数补0,负数补1,溢出去掉。
整体左移,空位补0,溢出去掉。
整体右移,空位补0,溢出去掉。
四、三元运算符
格式:(条件表达式)?表达式1:表达式2;
如果条件表达式为true,就输出打印表达式1的内容
如果条件表达式为false,就输出打印表达式2的内容
代码演示:
int a =10,b = 20 ;
System.out.println(a>b?a:b);
//a大于b吗?如果大于输出a,否则输出b