文章目录
Java主类结构
类是Java程序的基本组成单元,类中包括属性+方法。每个程序都必须包含一个main()方法,这是程序开始执行的地方,包含main()方法的类称为主类。
类的属性称为类的全局变量,方法中的属性称为局部变量
基本数据类型
Java中有8种基本数据类型
数值型
整数
整数类型用于存储整数,可正可负,在Java中有3种表示形式。
- 十进制:除了0,不能以0作为其余十进制数的开头
- 八进制:0开头
- 十六进制:0X或0x开头
根据所占内存大小不同,整数型可分为4种。
类型 | 内存空间(8位=1字节) | 取值范围 |
---|---|---|
byte | 8位 | -128~127 |
short | 16位 | -32768~32767 |
int | 32位 | -2147483648~2147483647 |
long | 64位 | -9223372036854775808~9223372036854775807 |
浮点
浮点类型表示有小数部分的数字,分为单精度float和双精度double两种。
类型 | 内存空间(8位=1字节) | 取值范围 |
---|---|---|
float | 32位 | 1.4E-45~3.4028235E38 |
double | 64位 | 4.9E-324~1.7976931348623157E308 |
注:小数系统默认看作double型,若要使用float型,则要在小数后加F或f
字符型
char用于存储单个字符,占16位,用单引号表示。双引号则表示一个字符串,无论中间有几个字母。
将一个字符转为int型会得到该字符的unicode编码,同理也可以用unicode编码去声明字符变量
布尔型
也叫逻辑型,只有true和false两个值,常用作判断条件
变量与常量
程序执行时,值不能变的量称为常量,值能变的量称为变量。
变量和常量的标识符只能由字母数字下划线和$组成,且不能数字开头,Java大小写敏感。
定义一个量就是要告诉编译器这个变量的类型,编译器才知道分配多少空间、它能存什么数据
声明变量
类型 变量名; //声明变量
类型 变量名 = 值; //声明变量并赋值
声明常量
常量声明语句必须用final关键字进行限定
final 类型 常量名 = 值;
变量的生命周期
成员变量
在类体中定义的变量,在整个类中都有效,成员变量又分为两类:
静态变量:被static修饰的成员变量,静态变量的生命周期可以跨类
实例变量:普通成员变量
局部变量
类的方法体中定义的变量,包括方法的参数。局部变量只在当前方法中有效,方法被调用时JVM为方法内的局部变量分配空间,调用结束后会释放,销毁局部变量。
当局部变量和成员变量名称相同时,成员变量将被隐藏,成员变量在该方法中暂时失效
运算符
赋值运算符
“=”,将右方操作数的值赋给左方操作数
int a = 100;
int a = b + c; //将b+c运算后的值赋给a
赋值运算符可以连用,如a=b=c=5,将a,b,c都赋值为5,但不推荐这样写
算数运算符
加(+)减(-)乘(*)除(/)取余(%)
0不能做除数,否则会报错
自增和自减运算符
单目运算符,使变量的值增1或减1,其位于操作数的位置决定其执行的先后顺序,操作数必须是整型或浮点型变量
++a //使用a之前,先将a的值+1
a-- //使用a之后,使a的值-1
比较运算符
运算符 | 操作数据 |
---|---|
> | 整型、浮点、字符 |
< | 整型、浮点、字符 |
== | 基本数据类型、引用型 |
>= | 整型、浮点、字符 |
<= | 整型、浮点、字符 |
!= | 基本数据类型、引用型 |
逻辑运算符
操作元必须是布尔型数据,返回值为布尔型,包括&、&&(逻辑与)||(逻辑或)!(逻辑非)
都真与才真,都假或才假
&和&&都是逻辑与,区别在于&&属于短路运算符,而&属于非短路运算符。&&当第一个表达式为false时不会去判断第二个表达式;&则在任何情况下都会判断两个表达式
位运算符
针对位方面的操作
按位与&
按位或|
按位异或^ 同0异1
按位取反~
移位操作<<按位左移(低位补0); >>按位右移(高位补原来的值);>>>无符号右移(高位补0)
三元运算符
若条件式为true,则整个表达式取值1,否则取值2
条件式?值1:值2
运算符优先级
自增自减
算术运算
比较运算
逻辑运算
赋值运算
数据类型转换
除逻辑类型和字符类型外,基本数据类型的精度排序为
byte<short<int<long<float<double
隐式
从低级类型到高级类型的转换,系统自动执行,程序员无需任何操作
低精度类型转为高精度类型时是隐式转换。
显式
将高精度类型的值赋给低精度变量时,必须使用显示类型转换运算,语法为:
(类型名)要转换的值
int a = (int) 3.15; // 此时a的值为3
long y = (long) 456.6F; // 此时y的值为456
int b = (int) ‘d’; // 此时b的值为100
显示转换会带来精度损失,除布尔类型外,其余基本类型都能显示转换
注:将整数赋值给一个整型变量时,不能超出其取值范围,否则必须进行强制类型转换