基础语法
数据类型
Java 有哪些数据类型 定义: Java 语言是强类型语言,对于每一种数据都定义了明确的具体的数据类
型,在内存中分配了不同大小的内存空间。
分类
一: 基本数据类型
1: 数值型
1.1:整数类型(byte,short,int,long)
1.2浮点类型(float,double)
2:字符型(char)
3: 布尔型(boolean)
二:引用数据类型
1:类(class)
2: 接口(interface)
3: 数组([])
Java 基本数据类型图
变量
变量是程序的基本组成单位
变量就是内存中的存储空间,空间中存储着发生改变的量(数据)
程序运行期间,其值可以发生改变的量变量一般是用来存储一些数据 不论哪种高级程序语言编写程序,变量都是其程序的基本组成单位如: 变量有三个要素(类型+名称+值)
class Demo{
public static void main(String[] args){
int a = 1; //定义了一个变量,类型int类型,名称a,值1
a = 22; //把22赋给名称为a的变量
System.out.println(a); //输出a变量的值
}
}
注意事项:
1.变量使用不能超过作用域的范围。【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。
2.可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。
3.变量必须先声明,后使用。
4.该区域的数据/值可以在同一类型范围内不断变化。
5.变量 = 变量名 + 值+ 数据类型
常量
1.概念
常量:内存中的一块空间,空间中存储的数据不能改变
2.常量的使用
语法:final 数据类型 变量名=值;
命名规则:全部用大写,单词之间用_做分隔,如USER_ROLE_VIP
字面常量:1,234,‘a’,“abc”,false
默认的数据类型:整数默认的数据类型是int,如果给long类型赋值,需要添加l/L,建议大写L;
小数默认的数据类型是double,如果给float类型赋值,需要添加f/F;
使用场景:
1、固定不变的量建议使用常量,WEEK_DAY
2、特殊的含义,STATE_ON,STATE_OFF
标识符
我们给变量,方法或者类取的名字就是标识符 命名规则:(硬性要求)
①标识符可以包含英文大小写字母,数字,$和_ 中文也可以
②不能以数字开头
③不能是关键字
命名规范(约定俗成)
见名知意
类名:大驼峰 HelloWorld 所有单词首字母都大写
变量名和方法名:小驼峰 helloWorld 除了第一个单词外,所有单词首字母都大写
运算符
算术运算符
+:加法
+号用途 +号左右两边全都是数字,执行的是加法运算。例如:5 + 5
+号在字符参与运算的时候,将字符对应的码表值进行运算 'a' + 2
+号在字符串参与运算的时候,做字符串的拼接
注意:字符串和字符进行+操作的时候是直接把字符的内容拼接进去,不会把字符转换成数字
-:减法
*:乘法
/:除法(java中整数相除,结果只能得到整除。如果想得到小数,需要将其中某一个数据变成小数类型)
%:取余(取模)
%取余数 比如10%3结果为1
应用场景:判断奇偶数(一个数对2取余,结果如果为0说明是偶数,不是0说明是奇数)
123获取一个数的个位(一个数对10取余的结果就是个位数.123/1%10)
单目运算符:自增自减运算符 ++,-- ++ 和 --
a++; //相当于 a = (a的数据类型) (a+1);
a--; //相当于 a = (a的数据类型) (a-1);
注意:++:自增 单独使用:不管放在变量的前面还是后面,都是将变量+1
参与运算: 如果++放在变量的前面,是先将变量+1.然后再参与运算,如果++放在变量的后面,是先将变量的原值进行参与运算。然后再+1
--:自减 单独使用:不管放在变量的前面还是后面,都是将变量-1
参与运算: 如果--放在变量的前面,是先将变量-1.然后再参与运算,如果--放在变量的后面,是先将变量的原值进行参与运算。然后再-1
赋值运算符
1.基本赋值运算符:= 代表将右侧的数据交给左侧的变量.例如:int a = 30;
2.扩展赋值运算符:+=,-=,*=,/=,%=
只要知道一种的含义,其它的就都知道了,但是需要注意一点: 扩展赋值运算符底层自带强转功能
比较(关系)运算符
`== 比较左右两边是否相等,结果是布尔类型的
< 比较左边是否小于右边,结果是布尔类型
<比较左边是否大于右边,结果是布尔类型
≤ 比较左边是否小于等于右边,结果是布尔类型
≥ 比较左边是否大于等于右边,结果是布尔类型
!= 比较左右两边是否不相等,如果不相等结果是true,否则是false`
逻辑运算符
&& 与 并且 true & false
|| 或 或者 true | false
! 非 取反 非true则false。非false则true
^ 异或 相同为false , 不同才为true true^true=false true^false=true false^false=flase
短路:左边表达式的结果确定之后,如果整个表达式的结果已经被确定了,就不会去执行右边的表达式
&&(短路与) 双与 具有短路的效果 并且的意思 如果左边是false,右边就不再执行了
|| (短路或) 双或 具有短路的效果 或者的意思 如果左边是true,右边就不再执行了