【Java学习系列】Java基础之变量和数据类型
变量命名规则
- 字、下、美、人、数、骆驼有意义
- 不能使用关键字,如public、class
Java常用数据类型
- 数值
- 整型:int
- 浮点型:double、float
- 非数值:char、boolean、String(String不是基本数据类型,是引用数据类型,它是Java提供的一个类)
数据类型说明
数据类型 | 大小 | 取值范围 |
byte | 1字节8位 | -128 ~ +127 |
int | 4字节32位 | -2147483648(-231) ~ + 2147483647(231-1) |
short | 2字节16位 | -32768 (-215) ~ + 32767 (+215-1) |
long | 8字节64位 | -263 ~ + 263-1 |
float | 4字节32位浮点数 | 1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38 |
double | 8字节64位浮点数 | 4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308 |
常量
- 在程序运行中,其值不能改变的量
- 优点 :比较安全
- 推荐做法:
- (1)常量名通常大写
- (2)不同字符使用下划线分隔
- (3)只能被赋值一次,通常定义时即对其初始化
Scanner的使用
- 在程序运行中,可以接收用户键盘输入的值
使用Scanner
- 第一步:导入Scanner类
import java.util.*;
- 第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
- 第三步:获得键盘输入的数据
int now = input.nextInt();
- 注意:输入代码时注意代码顺序
类型转换
自动类型转换规则
- 规则1:如果一个操作数为double型,则整个表达式可提升为double型
- 规则2:满足自动类型转换的条件
- 两种类型要兼容
- 数值类型(整型和浮点型)互相兼容
- 目标类型大于源类型:
- 例如:double 型大于 int 型
强制类型转换规则
- 大范围往小范围转化 , 转换后的值会有所损失。
- 不同数据类型精度由小到大排列如下:
- char–>byte --> short --> int --> long --> float --> double
实例
public class Lx3 {
/**
*
* @param args
*/
public static void main(String[] args) {
//强制类型转换
double a = 3.33;
int b = (int)a;
System.out.println(b);
//自动类型转换(隐式类型转换)
int c = 3;
double d = 3.33;
double e = c + d;
System.out.println(e);
}
}
赋值运算符
- =
算数运算符
- 基本的算术运算
+、-、*、/、%、++、--
++(–)的不同位置的输出
int a = 1;
System.out.println(a++); //结果为1
System.out.println(++a); //结果为3
System.out.println(a); //最后结果为3
- 复合算术运算符
+=、-=、*=、/=、%=
关系运算符
运算符 | 含义 | 范例 | 结果 |
== | 等于 | 5==6 | false |
!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
- 注意:
- =为赋值运算符,==为等于运算符
关系表达式的结果为布尔值
- <、>、>=、<= 运算符的优先级别高于==、!=
- <、>、>=、<=运算符只支持数值类型的数据比较
逻辑运算符
运算符 | 含义 | 运算规则 |
&& | 短路与 | 两个操作都是true,结果才是true |
|| | 短路或 | 两个操作数一个是true,结果就是true |
! | 非 | 操作数为true,结果为false |
操作数为false,结果为true |
- 如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了;
- 优先级别 ! > && > ||
短路与(&&)和与(&)的区别
- &&:一旦有false结果就直接出结果(不再往后走)
- &:无论有没有false结果都继续往后走
条件运算(三目(三元)运算符)
- 条件?表达式1(true):表达式2(false)