Java关键字
什么是关键字
关键字就是在Java中具有一定的特殊意义的单词。
五十一个关键字


Java保留字
### 什么是保留字
保留字就是在Java现在没有意义但以后可以有特殊含义的关键字。
9个保留字
-
cast
-
future
-
generic
-
inner
-
operator
-
outer
-
rest
-
goto
-
const
标识符
什么是标识符
标识符就是起名字的。
标识符的规则
1. 标识符组成由字母、数字、下划线、美元符号组成 1. 且不能是数字开头 1. 标识符不能使用关键字,但可以包含关键字 1. 变量名字 遵循小驼峰命名 1. 类名和接口名 遵循大驼峰命名
注释
单行注释
//
多行注释
/**/
文档注释
/**
*
**/
变量
什么是变量
变量就是指在内存中开辟一块空间,并起一个名字。
变量怎么定义
-
数据类型 变量名 = 初始值;
-
数据类型 变量名;
注意:变量必须先声明在使用,不能直接使用会编译报错。
数据类型
-
基本数据类型
整型:byte short int long
浮点型:float double
字符型:char
布尔型: boolean
-
引用数据类型
数组
类
接口
变量案例
public class MyTest01{
public static void main(String[] args){
/*
定义变量:数据类型 变量名 = 初始值;
*/
//定义一个int 类型的变量
int a = 10;
int b = 20;
//打印这两个变量
System.out.println(a);
System.out.println(b);
//定义一个int 类型的变量
int c;
System.out.println(c);//编译报错因为这个c变量没有初始值
}
}
运行结果截图

数据类型
基本数据类型转化
自动类型转化
自动类型转化就是在人为不干预的情况下完成的数据类型转化
自动类型转化原则
-
容量小的转为容量大的
-
精度小的转为精度大的
-
byte short char 不能进行转化 需要借助int才可以完成转化
-
当多种类型混合运算时,数据类型转化为最大的
强制类型转化
强制类型转化,就是自动类型转化的逆过程。
注意转换的时候会出现精度丢失,数据丢失等问题。
运算符
算数运算符
注意:
-
如果两侧都是整数,最后的结果时整数;如果有一侧是小数,结果是小数
-
取余运算,+-只和前面的数字的正负相关
-
++表示自增一,--表示自减一
-
++放在前面,先自增,在返回(返回自增之前的值),再自增; ++放在后面,先返回(返回自增之前的值),再自增;
-
--放在前面,先自减,在返回(返回自减之前的值),再自减; --放在后面,先返回(返回自减之前的值),再自减;
public class MyTest04{
public static void main(String[] args){
System.out.println( 10 / 3);//3
System.out.println(10.0 /3);
System.out.println(3 % 2);//1
System.out.println(3 % -2);//1
System.out.println(-3 % 2);//-1
System.out.println(-3 % -2);//-1
System.out.println("-------------");
int num = 10;
num++;
System.out.println("num = " + num);//11
++num;
System.out.println("num = " + num);//12
num = 10;
num--;
System.out.println("num = " + num);//9
--num;
System.out.println("num = " + num);//8
num = 10;
int x = ++num;
System.out.println("num = " + num);//11
System.out.println("x = " + x);//11
num = 10;
x = num++;
System.out.println("num = " + num);//11
System.out.println("x = " + x);//10
num = 10;
System.out.println(num--);//10
System.out.println("num = " + num);//9
}
}
赋值运算符
交换两个变量的例子
public class MyTest05{
public static void main(String[] args){
//赋值运算
int a = 10;
System.out.println("a =" + a);
//复合赋值元素 += -=
a += 1; //a = a + 1;
System.out.println("a = " + a);//11
/*
交换两个变量的值 借助第三变量
*/
int n = 100;
int m = 10;
System.out.println("m = " + m);
System.out.println("n = " + n);
int temp = m;
m = n;
n = temp;
System.out.println("m = " + m);
System.out.println("n = " + n);
/*
交换两个变量的值 不借助第三变量
*/
n = 100;
m = 10;
m = m ^ n;
n = m ^ n;
m = m ^ n;
System.out.println("m = " + m);
System.out.println("n = " + n);
}
}
关系运算符
== 等于
!= 不等于
注意关系运算的结果都是布尔类型
逻辑运算符
逻辑运算
& && 与运算 当两侧都为真时,结果才为真,当有一侧为假结果就为假
| || 或运算 当两侧都为假时,结果才为假,当有一侧为真结果就为真
! 非运算 将真变成假,将假变成真
^ 异或运算 当两侧不一样是为真,一样为假
注意:逻辑运算两侧必须是布尔类型。
短路与和短路或
&& 短路与 当左侧结果为假则不执行右侧
|| 短路或 当左侧结果为真则不执行右侧
三元运算
语法 条件表达式 ? 表达式1:表达式2;
当条件表达式为真 则执行表达式1
当条件表达式为假 则执行表达式2
运算符优先级
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序,先算谁,再算谁。
如上表,上一行运算符总优先于下一行。
只有单目运算符、三元运算符、赋值运算符是从右向左运算的。
顺序记不住没有关系,先算乘除,后算加减,有括号先算括号里面的,在代码中通过括号限定运算顺序


被折叠的 条评论
为什么被折叠?



