1.2 变量、类型转换、运算符
一 变量和数据类型
1.1 变量
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如 y=x+5 或者 6=x+5。 程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x 也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
结论:变量就是内存中的存储空间,空间中的存储着经常发生变化的量。
1.2 数据类型
Java 的数据类型分为两类:
基本数据类型: 整数、浮点数、字符、布尔值
引用数据类型: 类、数组、接口
基本数据类型:四类八种
数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 -128 至 127 -128 短整型 short 2个字节 -32768 至 32767 整型 int(默认) 4个字节 -2^31^ 至 2^31^-1 长整型 long 8个字节 -2^63^ 至 2^63^-1 19位数字 单精度浮点数 float 4个字节 1.4013E-45 至 3.4028E+38 双精度浮点数 double(默认) 8个字节 4.9E-324 至 1.7977E+308 字符型 char 2个字节 0 至 2^16^-1 布尔类型 boolean 1个字节 true,false
(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。)
Java中默认类型:整数类型是int,浮点数类型是double。
1.3 变量的含义
变量三个要素:数据类型、变量名、数据值
格式:
// 插入代码块
数据类型 变量名 = 数据值;
比如:
int age = 18
System.out.println(age);
// 先声明 后赋值(使用前赋值即可)
数据类型 变量名;
变量名 = 数据值;
double momey;
momey = 55.5;
System.out.println(momey);
或者
还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。
但不建议使用这种方式,降低程序的可读性。
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);
练习:
public class Variable {
public static void main(String[] args) {
// 字节型 byte
byte byteDemo = 127;
System.out.println(byteDemo);
// 短整形 short
short shortDemo = 1111;
System.out.println(shortDemo);
// 整形 int
int intDemo = 123456;
System.out.println(intDemo);
// 长整形 long
long longDemo = 12345678L;
System.out.println(longDemo);
// 单精度浮点数 float
float floatDemo = 1.11F;
System.out.println(floatDemo);
// 双精度浮点数 double
double doubleDemo = 1.111;
System.out.println(doubleDemo);
// 布尔值 boolean true false
boolean booleanDemo;
booleanDemo = true;
System.out.println(booleanDemo);
// 字符型 char
char charDemo = 'a';
System.out.println(charDemo);
}
}
1.4 注意事项
变量名称:在同一个大括号范围内,变量的名字不可以相同。 变量赋值:定义的变量,不赋值不能使用。 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整 数太大可能超出int范围。 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是 double, double的取值范围是大于float的,类型不兼容。
1.5 标识符
标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
命名规则: 硬性要求 标识符可以包含英文字母26个(区分大小写) 、0-9数字 、$(美元符号) 和_(下划线) 。 标识符不能以数字开头。 标识符不能是关键字。 命名规范: 软性建议 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。 Demo02MethodDefine Demo03MethodInvoke 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。 num value maxValue
第二章 数据类型转换
Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
2.1 自动转换
例如:一个int类型加一个byte类型。结果为int类型,这就是数据类型的自动转换
自动转换:将取值范围小的类型自动提升为取值范围大的类型
public class Demo01 {
public static void main(String[] args) {
// 定义常量
byte a = 10;
int b = 100;
// byte c = a + b; // 报错,自动类型转换为int 。
int c = a + b;
System.out.println(c);
}
}
同样道理,当一个int 类型变量和一个double 变量运算时, int 类型将会自动提升为double 类型进行运算。
public class Demo01 {
public static void main(String[] args) {
// 定义常量
int b = 100;
double d = 1.11;
double e = b + d;
System.out.println(e);
}
}
转换规则:
byte、short、char-->int-->long-->float-->double
2.2 强制类型转换
强制类型转换:将取值范围大的类型强制转换成取值范围小的类型。 比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行。
转换格式:
数据类型 变量名 = (数据类型)被转数据值;
例如:
public class Demo02 {
public static void main(String[] args) {
// double 类型转 int类型,直接去掉小数点
int i = (int) 5.5;
System.out.println(i);
// short 类型,内存中两个字符
short s = 1;
// s = s + 1; // 编译失败
s = (short) (s + 1); // 编译成功, 因为 1 默认int类型
System.out.println(s);
}
}
2.3 ASCII 编码表
public class Demo03 {
public static void main(String[] args) {
// 字符类型常量
char c = 'a';
int i = 1;
// 字符类型和int类型计算
System.out.println(c + i); // 结果98
}
}
第三章 运算符
3.1 赋值运算符
运算符和表达式 运算符:对常量或者变量进行操作的符号 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 不同运算符连接的表达式体现的是不同类型的表达式。 举例说明: +:是运算符,并且是算术运算符。字符串连接运算 a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
- * / 减 乘 除
% 取模运算,两个数字相除取余数
注:Java中,整数使用以上运算符,无论怎么计算,也不会得到小数。
public class Demo04 {
public static void main(String[] args) {
int i = 3212;
System.out.println(i/1000*1000); // 3000
}
}
-
符号在字符串中的操作:
-
符号在遇到字符串的时候,表示连接、拼接的含义。 "a"+"b"的结果是“ab”,连接含义
public class Demo04 {
public static void main(String[] args) {
System.out.println("5 + 5 = " + 5 + 5); // 5 + 5 = 55
}
}
3.2 赋值运算符
符号 作用 说明 = 赋值 a=10,将10赋值给变量a += 加后赋值 a+=b,将a+b的值给a -= 减后赋值 a-=b,将a-b的值给a = 乘后赋值 a=b,将a×b的值给a /= 除后赋值 a/=b,将a÷b的商给a %= 取余后赋值 a%=b,将a÷b的余数给a
赋值运算符,就是将符号右边的值,赋给左边的变量。
public class Demo05 {
public static void main(String[] args) {
int i = 5;
i += 5;
System.out.println(i); // 10
short s = 1;
s += 1; // 没有报错,s = (short) (s + 1)
System.out.println(s); // 2
}
}
3.3 自增自减
符号 作用 说明 ++ 自增 变量的值加1 -- 自减 变量的值减1
独立运算: 变量在独立运算时, 前++ 和后++ 没有区别 。 变量前++ :例如 ++i 。 变量后++ :例如 i++ 。 混合运算: 和其他变量放在一起, 前++ 和后++ 就产生了不同。 变量前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。
a和b的结果都是2。
int c = a++; // 不是 3 是 2
System.out.println(a); // 2
System.out.println(b); // 2
System.out.println(c); // 2
int x = 4;
int y = (x++)+(++x)+(x*10); // 4 + 6 + 60 = 70
System.out.println("x="+x); // 6
System.out.println("y="+y); // 70
System.out.println("y="+ ++y); // 71

浙公网安备 33010602011771号