Java基础(二):变量和数据类型、运算符
变量和数据类型
变量
就是系统为程序分配的一块内存单元,用来存储各种类型的数据
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
注意:类的外面不能有变量的声明
创建变量的语法:数据类型 变量名=初始化值;
创建变量暂不赋值的语法:数据类型 变量名;
数据类型:
一、8种基本数据类型:
1、数值型:
①整数型(byte,short,int,long)
②(非整型)浮点型(float,double)、字符型(char)
2、布尔型(boolean)
二、引用数据类型:类、接口、数组
各数据类型值范围:
数据类型 | 所占位数 | 值范围 |
---|---|---|
byte (字符类型) | 8位 | -127~127 |
short (短整型) | 16位 | -32768~32768 |
int (整型) | 32位 | -2147483647~2147483647 |
long (长整型) | 64位 | -922337206854775808~922337206854775808 |
float (单精度浮点型) | 32位 | 3.4e+/-38 |
double (双精度浮点型) | 32位 | 1.79769313486231570E+308~~1.79769313486231570E+308 |
char (字符型) | 64位 | 0~65535 |
boolean (布尔型) | 1位 | true或false |
整型数据在Java程序中有三种表现形式:
- 十进制,如120、0、-127
注意:不能以0作为十进制数的开头(0除外) - 八进制:如0123(转为十进制为83)、-0123(转为十进制为-83)
注意:八进制必须以0开头 - 十六进制:0x25(转为十进制为37)、0Xb01e(转为十进制为45086)
注意:十六进制必须以0X或0x开头
浮点类型表示有小数部分的数字。默认情况下都被看作是double型,如果需要使用float型小数,则需要在小数后面添加F或f。可以用后缀D或d来明确这是一个double类型数据。
标识符
Java对包、类、参数和变量等要素命名时使用的字符序列称为标识符
规则:
①由字母、数字、下划线和美元符号组成
②不能以数字开头, 不能以下划线或美元符号开始,也不能以下划线或美元符号结束
③区分大小写
④长度无限制
⑤不能是Java种的保留关键字
标识符命名习惯:见明知意, 严禁使用拼音与英文混合的方式, 方法名、参数名、成员变量、局部变量必须遵从驼峰形式
类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
变量名规范:全部小写
常量命名规范:全部大写,单词间用下划线隔开
类型转换
自动类型转换:容量小的类型自动转换成容量大的数据类型
操作数1的数据类型 | 操作数2的数据类型 | 转换后的数据类型 |
---|---|---|
byte、short、char | int | int |
byte、short 、char、int | long | long |
byte、short、char 、int、long | float | float |
byte、short、char、int、long、float | double | double |
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制类型转换符
一、将字符串转换为整型
格式:
int i = Interger.parselint(String str);
int i = Integer.valueOf(String str).intValue();
二、整型转换为字符串:
格式:
String str = String.valueOF(int i);
String str = Integer.toString(int i);
String str = " " + i; 【注意:双引号内不能有内容,这里只是为了好理解】
三、float型转换为double型:
格式:
float f1 = 1.00f;
Float f2 = new Float(f1);
double d1 = F1.doubleValue();
四、int型转换为double型:
格式:
int i1 = 200;
double d1 = i1;
五、字符串与其他类型间的转换:
1、其他类型转换成字符串:
①调用类的串转换方法:X.toString();
②自动转换:X + " "; 【注意:双引号内不能有内容,这里只是为了好理解】
③使用String的方法:String.valueOf(X);
注意:
①boolean类型不能转换成任何其他数据类型
②float类型变量在定义时需注意:我们直接写的浮点数字,默认类型是double,会提示需要强制转换。【解决方案:在浮点数字后面加个f,表示写出来的数字类型是float】
③long类型变量定义时需注意:我们直接写的整型数字,默认类型是int,当值过大时会提示出错。【解决方案:在整型数字后面加l,表示写出来的数字类型是long】
④char类型变量定义时需注意:使用英文单引号引住一个字符
运算符
1、赋值运算符
赋值运算符以符号“=”表示,它是一个二元运算符(即对两个操作数作处理),其功能是将右方的操作数所含的值赋给左方的操作数。
左方的操作数必须是一个变量,而右方的操作数则可以是任何表达式,包括变量、常量、有效的表达式。
由于赋值运算符“=”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“=”运算符,会从最右方的“=”开始处理。例a=1,c=b=a+4,最后c=5(过程:将a与4的和赋值给变量b,然后再赋值给变量c)。
2、算术运算符
类型 | 运算符 | 说明 |
---|---|---|
基本运算符 | + | 加 |
基本运算符 | - | 减 |
基本运算符 | * | 乘 |
基本运算符 | / | 除 |
取余运算符 | % | 取模 |
递增运算符 | ++ | 递增 |
递减运算符 | – | 递减 |
注意:a++先执行程序才+1,++a是先+1再执行程序;a–先执行再-1,–a先-1再执行。
例如:a=1,则
x=a++→x=a=1,a=a+1=2
x=++a→a=a+1=2,x=a=2
x=a–→x=a=1,a=a-1=0
x=–a→a=a-1=0,x=a=0
3、关系运算符
类型 | 说明 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
4、逻辑运算符(布尔逻辑运算符)
类型 | 说明 |
---|---|
&& | 与 |
|| | 或 |
^ | 异或 |
| | 简化或 |
& | 简化与 |
! | 非 |
易混点:“&”与“&&”、“|”与“||”
- &:无论左边的表达式是false还是true,右边的表达式依旧会运算。即“&”会判断两个表达式
- &&:若左边的表达式为false,结果直接为false,不会再去判断右边的表达式是true还是false。
- |:如果左边为true,右边仍然参与运算
- ||:左边为true,右边不参与运
注意:“&”是“与”,“|”是“或”
5、赋值运算符和条件运算符
变量=(布尔表达式)? (为true时所赋予的值):(为false时所赋予的值);