基本数据类型
整数类型
表示形式:
- 十进制:不能以0作为十进制数的开头
- 八进制:必须以0开头
- 十六进制:必须以0X或0×开头
数据类型:
- byte:内存空间8位,取值范围:-128~127
- short:内存空间16位,取值范围:-32768~32767
- int :内存空间32位,取值范围:-2147483648~2147483647
- long:内存空间64位,取值范围:-9223372036854775808~9223372036854775807
注:long型定义时需要在数字后加L或l
浮点类型
数据类型:
- float:内存空间32位,取值范围:1.4E-45~3.4028235E38
- double:内存空间64位,取值范围:4.9E-324~1.7976931348623157E308
注:定义float时需要在数字后加F或f,定义double时在数字后加D或d或什么都不加
字符类型
数据类型:
- char:内存空间16位,'X'表示一个字符,“X”表示一个字符串
字符与Unicode转换:转换时需要进行强制转换
实例:
[block]
char x= 'd'; int p = 23045; System.out.println((int)x); System.out.println(char)p);
[/block]
转义字符:
- \ddd:1~3位八进制数据所表示的字符,如\123
- \uxxxx:4位十六进制数据所表示的字符,如\u0052
- \':单引号字符
- \\:反转义,反斜杠字符
- \t:垂直制表符
- \r:回车
- \n:换行
- \b:退格
- \f:换页
布尔类型
数据类型
- true真
- false假
实例:
[block]
boolean a = true; boolean b = false;
[/block]
变量与常量
标识符与关键字
标识符:可由字母,下划线,美元符号,数字组成,第一个字符不能是数字。
关键字
| int | public | this | finally | boolean | abstact |
| continue | float | long | short | throw | throws |
| return | break | for | static | new | interface |
| if | goto | default | byte | do | case |
| strictfp | package | super | void | try | switch |
| else | catch | implements | private | final | class |
| extends | volatile | while | synchronized | instanceof | char |
| protected | import | transient | dafault | double |
声明变量
同C语言
声明常量
在变量前加final
常量不可以重新赋值
变量的有效范围
成员变量
定义:成员变量在类体中定义,并且在整个类中都有效,类的成员变量又可分为两类,静态变量和实例变量
实例:
[block]
class var{
int x = 45;
static int y = 90
}
[/block]
x为实例变量,y为静态变量,静态变量的有效范围可以跨类,可达到整个应用程序之内,在其他类内以类名.静态变量的方式使用。
局部变量
定义:在类的方法体中定义的变量称为局部变量,局部变量旨在当前代码块中有效。
实例:
[block]
public class Val{
static int times = 3;
public static void main(String[] args){
int times = 4;
Ststem.out.println("time 的值为:"+times);
}
}
[/block]
赋值运算符
符号:=
定义:是一个二元运算符,将右方的值赋给左方
实例:
[block]
int a = 10;
[/block]
算术运算符
符号:+、-、*、/、%
自增自减运算符
定义:是单目运算符,是变量值增一或减一
实例:
[block]
++a; --a; a++; a--;
[/block]
符号在前,先自增再运算
符号在后,先运算再自增
比较运算符
定义:可以用于变量与变量之间比较,运算结果为boolean类型,运算关系成立时,运算结果为true,否则为false,通常用作条件语句中。
符号:>,<,==,>=,<=,!=
逻辑运算符
定义:逻辑运算符的操作元必须是boolean型数据
符号:&&、&、!、||
位运算符
移位操作
定义:将数据的二进制数据按照指定的位数移动,空位补0
适用类型:byte,short,char,int,long
符号:
- <<:左移
- >>:右移
- >>>:无符号右移
[block]
小结:移位可以实现整数除以或乘以2^n的效果,左移乘2^n,右移除以2^n 例:y<<2与y*4的结果相同 y>>1与y/2的结果相同
[/block]
三元运算符
格式:条件式?值1:值2
定义:若条件式的值为true,则整个表达式取值1,否则取值2(相当于if else语句)
实例:
[highlight lanaguage="java"]
boolean b = 20<45?true:false;
[/highlight]
等价于
[highlight lanaguage="java"]
boolean a; if (20<45) a = true; else a = false;
[/highlight]
运算符优先级
运算符优先级由高到低的顺序依次是:
- 增量与减量运算
- 算术运算
- 比较运算
- 逻辑运算
- 赋值运算
| 优先级 | 描述 | 运算符 |
| 1 | 括号 | () |
| 2 | 正负号 | +、- |
| 3 | 一元运算符 | ++、--、! |
| 4 | 乘除 | *、/、% |
| 5 | 加减 | +、- |
| 6 | 移位运算 | >>、>>>、<< |
| 7 | 比较大小 | <、>、>=、<= |
| 8 | 比较是否相等 | ==、!= |
| 9 | 按位与运算 | & |
| 10 | 按位异或运算 | ^ |
| 11 | 按位或运算 | | |
| 12 | 逻辑与运算 | && |
| 13 | 逻辑或运算 | || |
| 14 | 三元运算符 | ?: |
| 15 | 赋值运算符 | = |
数据类型转换
精度从低到高排列顺序为:byte<short<int<long<float<double
隐式类型转换
规则:按低精度向高精度转换
实例:
[highlight lanaguage="java"]
int x = 50; float y = x;
[/highlight]
显示类型转换(强制转换)
规则:当高精度转换为低精度是,使用强制转换,但会损失精度
实例:
[highlight lanaguage="java"]
int a = (int)45.23; long y = (long)456.6F; ing b = (int)'d';
[/highlight]


![缓存[-128-127]数字](https://www.7z7z7z.cn/wp-content/themes/begin/prune.php?src=https://www.7z7z7z.cn/wp-content/uploads/2020/06/image.png&w=280&h=210&a=&zc=1)



