1、java核心基础
1.1 基础数据类型
8大基础数据类型:
byte(位)
short(短整数)
int(整数)
long(长整数)
float(单精度)
double(双精度)
boolean(布尔) 只有true和false 两个值,这种类型只做为一种标识
char(字符) 是一个单一的Unicode字符,可以存储任何字符
在java中数据类型有两种转换方式:
(1) 自动类型转换。编译器自动完成类型转换,不需要在程序中编写代码。
(2) 强制类型转换。强制编译器进行类型转换,必须在程序中编写代码。
由于基本数据类型boolean类型不是数字型,所以基本数据类型的转换除了boolean类型以外的其它7种类型之间的转换。
(1) 自动类型转换规则:从存储范围小的类型到存储范围大的类型,即byte->short(char)->int->long->float->double
(2) 强制类型转换规则: 从存储范围大的类型到存储范围小的类型,即double->float->long->int->shory(char)->byte。
语法格式: (type)value
其中,type是要强制类型转换后的数据类型。例如:
int a = 123
byte b = (byte)a
注意:
在整数之间进行类型转换时,数值不发生改变,而将整数类型(尤其时比较大的整数类型)转换成小数类型时,由于存储方式的不同,可能存在数据精度的损失。
1.2 常量和变量
1.2.1 常量
常量即在程序运行过程中一直不会改变的量。常量在整个过程中只能被赋值一次,并且一旦被定义,它的值就不能在被改变。格式如下:
java
final 数据类型 变量名 [=值]
常量名称通常使用大小写字母。常量标识符可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)等组成,标识符不能以数字开头,也不能是java中的保留字和关键字。
当常量用于一个类的成员变量时必须给常量赋值,否则会出现编译错误。
1.2.2 变量
变量代表程序的状态,程序通过改变变量的值来改变整个程序的状态,声明如下:
java
数据类型 变量名称;
- 变量的命名规则:
1、变量名必须是一个有效的标识符
2、变量名不可以使用Java中的关键字
3、变量名不能重复
4、选择有意义的单词作为变量名
- 变量的分类
根据作用域不同,分为成员变量和局部变量。
(1) 成员变量
成员变量有分为全局变量和静态变量
全局变量不需要使用static 关键字修饰,而静态变量则需要使用static关键字进 行修饰。
(2)局部变量
局部变量是指在方法或者方法代码块中定义的变量,其作用域时其所在的代码块。可分为:
方法参数变量(形参):在整个方法内有效。
方法局部变量(方法内定义): 从定义这个变量开始到方法结束这一段时间内有效。
代码快局部变量(代码块内定义): 从定义这个变量开始到代码块结束这一段时间内有效。常用于 try ....catch 代码块中。
1.3 运算符和表达式
程序是有许多语句组成的,而语句的基本单位就是表达式与运算符。表达式是由操作数与运算符组成的。操作数可以是常量、变量,也可以是方法,而运算符就是数学中的运算符号,
如 "+"、"-"、"*"、"/"。
1.3.1 算数运算符
|-----|-----------------------|
| 操作符 | 含义 |
| + | 加法,把运算符两侧的值相加,即a+b |
| - | 减法,用左操作数减去右操作数,即a-b |
| * | 乘法,把操作符两侧的值相乘,即a*b |
| / | 除法,用左侧数除以右操作数,即a/b |
| % | 取余,左操作数除以右操作数的余数,即a%b |
| ++ | 自增,操作数的值增加1,即a++ |
| -- | 自减,操作数的值减1,即a-- |
1.3.2 关系运算符
关系运算符也称比较运算符,是指对两个操作数进行关系运算的运算符,主要用于确定两个操作数之间的关系。
|-----|----------------------------------|
| 操作符 | 含义 |
| == | 检查两个操作数的值是否相等,即a==b,条件为真 |
| != | 检查两个操作数的值是否相等,即a!=b,条件为真 |
| > | 检查左操作数的值是否大于右操作数的值,即a>b,条件为真 |
| < | 检查左操作数的值是否小于右操作数的值,即a<b,条件为真 |
| >= | 检查左操作数的值是否大于等于右操作数的值,即a>=b,条件为真 |
| <= | 检查左操作数的值是否小于等于右操作数的值,即a<=b,条件为真 |
1.3.3 逻辑运算符
逻辑运算符用来把各个运算的变量连接起来,组成一个逻辑表达式,判断编程中某个表达式是否成立,判断的结果是true或false。
|------|---------------------------------------------------------|
| 操作符 | 含义 |
| && | 逻辑与运算符,当且仅当两个操作数都为真,条件才为true,即a&&b |
| || | 逻辑或运算符,如果两个操作数中的任何一个值为真,条件为true,即a||b |
| ! | 逻辑非运算符,反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false, 即!(a&&b) |
1.3.4 赋值运算符
赋值运算符就是为各种不同类型的变量赋值,简单的赋值运算符由符号(=)来实现 ,即是把等号右边的赋值给等号左边的变量。
|-----|--------------------------------------------------|
| 操作符 | 含义 |
| = | 简单的赋值运算符,将右边操作数的值赋给左操作数,即 c=a+b |
| += | 加和赋值运算符,把左操作数和右操作数相加并赋值给左操作数,即c += a 等价于 c=c+a |
| -= | 减和赋值运算符,把左操作数和右操作数相减并赋值给左操作数,即c -= a 等价于 c=c-a |
| *= | 乘和赋值运算符,把左操作数和右操作数相乘并赋值给左操作数,即c *= a 等价于 c=c*a |
| /= | 除和赋值运算符,把左操作数和右操作数相除并赋值给左操作数,即c /= a 等价于 c=c/a |
| %= | 取模和赋值运算符,把左操作数和右操作数取模后赋值给左操作数,即c %= a 等价于 c=c%a |
1.3.5 位运算符
位运算符主要用来对操作数为二进制的位进行运算,按位运算表示按每个二进制位来进行运算,其操作数的类型是整数类型以及字符串,运算的结果是整数类型。
|-------|-----------|
| 操作符 | 含义 |
| <<= | 左移位赋值运算符 |
| >>= | 右移位赋值运算符 |
| &= | 按位与赋值运算符 |
| ^= | 按位异或赋值操作符 |
| |= | 按位或赋值操作符 |