Java的数据类型和流程控制语句
1. 数据类型
Java的数据类型分为两大类:
基本数据类型 :包括 整数 、 浮点数 、 字符 、 布尔 。
引用数据类型 :包括 类 、 数组 、 接口
四类八种基本数据类型:
2. 常量的定义
常量:是指在Java程序中固定不变的数据
public class ConstantDemo {
public static void main(String[] args){
//输出整数常量
System.out.println(123);
//输出小数常量
System.out.println(0.125);
//输出字符常量
System.out.println('A');
//输出布尔常量
System.out.println(true);
//输出字符串常量
System.out.println("你好Java");
}
3. 变量的定义
变量定义的格式:数据类型 变量名 = 数据值;
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
public class Variable {
public static void main(String[] args){
//定义字节型变量
byte b = 100;
System.out.println(b);
//定义短整型变量
short s = 1000;
System.out.println(s);
//定义整型变量
int i = 123456;
System.out.println(i);
//定义长整型变量
long l = 12345678900L;
System.out.println(l);
//定义单精度浮点型变量
float f = 5.5F;
System.out.println(f);
//定义双精度浮点型变量
double d = 8.5;
System.out.println(d);
//定义布尔型变量
boolean bool = false;
System.out.println(bool);
//定义字符型变量
char c = 'A';
System.out.println(c);
}
}
4. 数据类型转换
4.1自动转换
自动转换 :将 取值范围小的类型 自动提升为 取值范围大的类型
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
一个 int 类型变量和一个 byte 类型变量进行加法运算,运算结果,变量的类型将是 int 类型。
public static void main(String[] args) {
int i = 1;
byte b = 2;
// byte x = b + i; // 报错
//int类型和byte类型运算,结果是int类型
int j = b + i;
System.out.println(j);
}
当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升为 double 类型进行运算。
public static void main(String[] args) {
int i = 1;
double d = 2.5;
//int类型和double类型运算,结果是double类型
//int类型会提升为double类型
double e = d+i;
System.out.println(e);
}
4.2 强制转换
强制类型转换 :将 取值范围大的类型 强制转换成 取值范围小的类型
转换格式:数据类型 变量名 = (数据类型)被转数据值
将 1.5 赋值到 int 类型,代码修改为
//double类型数据强制转成int类型,直接去掉小数点。
int i = (int)1.5;
同样道理,当一个 short 类型与 1 相加,我们知道会类型提升,但是还想给结果赋值给short类型变量,就需要强制转换。
public static void main(String[] args) {
//short类型变量,内存中2个字节
short s = 1;
/*
出现编译失败
s和1做运算的时候,1是int类型,s会被提升为int类型
s+1后的结果是int类型,将结果在赋值会short类型时发生错误
short内存2个字节,int类型4个字节
必须将int强制转成short才能完成赋值
*/
s = s + 1;//编译失败
s = (short)(s+1);//编译成功
}
5. 运算符
5.1算数运算符
整数使用以上运算符,无论怎么计算,也不会得到小数
public static void main(String[] args) {
int i = 1234;
System.out.println(i/1000*1000);//计算结果是1000
}
++ 运算,变量自己增长1。反之, – 运算,变量自己减少1,用法与 ++ 一致
- 独立运算:
变量在独立运算时, 前 ++ 和 后 ++ 没有区别 。
变量 前 ++ :例如 ++i 。
变量 后 ++ :例如 i++ 。 - 混合运算:
和其他变量放在一起, 前 ++ 和 后 ++ 就产生了不同。
变量 前 ++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
}
变量 后 ++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b的结果是1
public static void main(String[] args) {
int a = 1;
int b = a++;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1
}
- 符号在字符串中的操作:
- 符号在遇到字符串的时候,表示连接、拼接的含义。
“a”+“b” 的结果是“ab”,连接含义
public static void main(String[] args){
System.out.println("5+5="+5+5);//输出5+5=55
}
5.2 赋值运算符
赋值运算符,就是将符号右边的值,赋给左边的变量。
public static void main(String[] args){
int i = 5;
i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i
System.out.println(i); //输出结果是10
}
5.3 比较运算符
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。
public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<2);//true
System.out.println(3>4);//false
System.out.println(3<=4);//true
System.out.println(3>=4);//false
System.out.println(3!=4);//true
}
5.4 逻辑运算符
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false
public static void main(String[] args) {
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
System.out.println(!false);//true
}
5.5 三元运算符
三元运算符格式:
数据类型 变量名 = 布尔类型表达式?结果1:结果2
三元运算符计算方式:
布尔类型表达式结果是 true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是 false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
int i = (1==2 ? 100 : 200);
System.out.println(i);//200
int j = (3<=4 ? 500 : 600);