一、数据类型
1.1 数据类型图示
- java中的数据类型分为两大种类,基本数据类型和引用数据类型。整体数据类型如下图:
1.2 基本数据类型
- 整形:
字节类型:byte
短整形:short
整形:init
长整形:long - 浮点型
单精度浮点型:float
双精度浮点型:double - 字符型
字符:值用单引号括起来的一个字符 - 布尔型
布尔:boolean,值只有true或者false - 常用的数据类型:int、double、boolean、char
二、变量
2.1 基本概念用法
- 概念:在java编程中,可以定义一个变量,用来存储一个数据值,而且这个变量的值是可以修改的,定义变量的语法为:数据类型 变量名 = 值;
- 举例:
//定义一个整形:
int number = 10;
//定义一个浮点型
double total = 11.1;
//定义一个Boolean类型:
boolean bool = true;
//定义一个字符
char ch = 'a';
- 注意1:定义变量的时候,前面数据类型的声明要和等号后面值的数据类型相匹配,比如下面的定义是错误的
//定义单精度浮点型,要在值后面加一个f(F),否则是默认的数据类型double。
float f = 12.5f;
//定义长整形:要在值后面添加一个L,可以小写,为了不和1弄混淆,所以建议大写L,否则是默认的数据类型int
long g = 1000L;
- 注意3:在编写代码过程中,java具有默认的数据类型,整数默认数据类型为int,浮点型默认数据类型为double。
2.2 数据类型转换
- 概念:这些数据类型之间,是可以互相转换的,数据类型的转换分为两种,自动转换和强制转换。
- 自动转换:自动转换一般发生在数值范围较小的数据类型转换到数值范围较大的数据类型,比如下面
整形:byte—>short—>int—>long–>double
浮点型:float–>double - 示例代码:
//下面变量a数值为int类型,将其值赋值给long类型,会自动转换,不需要程序处理
int a = 10;
long b = a;
//下面变量f为float数据类型,将f的值赋值给double类型类型的d,会自动转型。
float f = 12.5F;
double d = f;
- 强制转换:强制转换发生在将数值范围较大的数据类型转换为数值范围较小的数据类型,比如下面
整形:long—>int—>short—>byte
浮点型:double—>float
或者浮点数转换为整形:double—>int - 示例代码
//下面num1是long数据类型,那么转换为int类型,可能会存在精度损失,所以需要强制转换。
long num1 = 1000L;
int num2 = (int)num1;
//下面num3是double数据类型,转换为float可能存在损失,所以需要强制转换。
double num3 = 12.5;
float num4 = (float)num3;
//将浮点型转换为整形,强制转换后会得到整数。
double num5 = 12.5;
int num6 = (int)num5;
三、运算符
3.1 赋值运算符
- 概念:用等号将右边的值赋值给左边的变量。
- 示例代码:
//将10这个值赋值给左边的a变量
int a = 10;
3.2 算术运算符
- 概念:完成数值类型的数学运算,比如:加(+),减(-),乘(*),除(/),取余(%),自增运算(++),自减运算(–)。
- 加法:有两个作用,如果加号两端都是数值类型的数据,则做算术加法,计算两个数的和;如果加号两端任意一端出现了字符串的,则做拼接符,将两个数据都变成字符串,再做拼接。
1)计算两个数的和
int a = 10;
int b = 20;
//下面c的值为a和b值的和:30
int c = a + b;
2)做拼接符,得到的结果也是字符串
int a = 10;
//定义一个字符串
String b = "20";
//加号的右边b为字符串,所以做拼接,c变量的值为:"1020"
String c = a + b;
- 减法:做两个数值相减,只能是字符型、整形和浮点型,其他数据类型要报错
示例代码:
int a = 10;
int b = 20;
//计算a和b的差:-10
int c = a - b;
- 乘法:做两个数的积
示例代码:
int a = 10;
int b = 20;
//计算a和b的积:200
int c = a * b;
- 除法:计算两个数的商,要求除数不能为0,而且整数除以整数只能得到整数。
示例代码:
int a = 100;
int b = 5;
//计算出a和b的商:20
int c = a / b;
int num1 = 10;
int num2 = 4;
//两个整数相除,得到的商为2,不是2.5
int res = num1 / num2;
- 取余:两个数相除,得到余数。
int a = 10;
int b = 3;
//a除以b,得到的商为:1
int c = a % b;
- 自增运算(++):每次将自身增加1。分为以下两种情况
情况1:当自运算符(++)放在变量名的前面的时候,则是先执行自增运算,再执行使用该变量。 - 示例代码:
int a = 10;
int b = ++a;
//上面两句代码,第一句为定义变量a并且赋值为10,第二句:先执行++a,将变量a的值增加1,a的值变为11,再做使用赋值运算b = 11
//所以上面代码执行结束之后:a=11,b=11
- 情况2:当自运算符(++)放在变量名的后面的时候,则是先执行使用该变量,当使用后再将自身增加1。
- 示例代码:
int a = 10;
int b = a++;
//上面两句代码,第一句为定义变量a并且赋值为10,第二句:先执行int b = a,b的值就为10,然后再执行自增运算,a++将自身增加1,a的值为11
//所以当上面代码执行结束之后:a=11,b=10
- 总结:自增运算不管是情况1还是情况2,最后变量自身的值都会增加1,根据上面的代码可以看出,有区别是b的值。放在前面,b的值为11;放在后面,b的值为10。
比较运算符
- 概念:比较运算符是用来比较两个数值的大小,或者比较两个数值是否相等。比如:大于(>),大于等于(>=),小于(<),小于等于(<=),等于(==),不等于(!=)
//定义两个变量,用于比较
int a = 10;
int b = 15;
//下面结果为:false
boolean b1 = a > b;
//下面结果为:true
boolean b2 = a < b;
//下面的结果为:false
boolean b3 = (a == b);
//下面结果为true
boolean b4 = (a != b);
- 总结:带有比较运算符的语句,称为比较语句(或者条件语句),得到的结果一定是一个boolean类型的值。
逻辑运算符
- 概念:逻辑运算符:在多条比较语句一起作用,最终的到一个结果的时候使用,其中包括:与运算(&&),或运算(||),非运算(!)
- 与运算(&&):两条比较语句,同真才为真,其余全为假
比较语句1 && 比较语句2
true && true 结果:true
true && false 结果:false
false && true 结果:false
false && false 结果:false
注意:与运算可以用一个&,也可以用两个&&,区别在于用&&的时候,当前面一条判断语句为false的时候,第二句代码将不再执行,直接返回最后结果为false;而用&的时候,不论前面判断语句是否为false,后面一句判断语句都会执行结束之后才会返回最终结果。
- 或运算(||):两条比较语句,同假才为假,其余全为真
比较语句1 || 比较语句2
true || true 结果:true
true || false 结果:true
false || true 结果:true
false || false 结果:false
- 非运算(!):取反
!真 结果:假
!假 结果:真
3.5 三元运算符
int a = 10;
int b = 20;
//使用三元运算找出a和b中的较大的值
int max = a > b?a:b;
说明:对三元运算符先看等号右边的,首先判断a>b这条判断语句,当判断语句结果为true的时候,将a的值赋值给max,相反如果a>b的结果值为false的时候,将b的值赋值给max
联系邮箱:alon_note@163.com
公众号:菜鸟崛起