附:
数据类型 | 表示 | 字节 | 大小 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
字符型 | char | 2个字节 | 0-65535 |
整型 | int | 4个字节 | -231次方~2的31次方-1 |
长整型 | long | 8个字节 | -2的63次方~2的63次方-1 |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double | 4个字节 | 4.9E-324~1.7977E+308 |
布尔类型 | Boolean | 1个字节 | true、false |
————————————————
将 取值范围小的类型 自动提升为 取值范围大的类型
规则:范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
例1:int>byte
public static void main(String[] args) {
int i=1;
byte b=2;
int j=b+i;
//如果 byte j=b+i;(x),因为int>byte
System.out.println(j);
}
输出结果:3
例2:double>int
public static void main(String[] args) {
int a=1;
double b=2.5;
double c=a+b;
// int c=a+b;错误,因为double>int
System.out.println(c);
}
输出结果:3.5
将取值范围大的类型 强制转换成 取值范围小的类型
格式: 变量名 = (数据类型)被转数据值;
例1:double转int
int i=(int)1.5;
例2:int转short
先会自动转换成int类型,再强制转换成short类型
public static void main(String[] args) {
short a=1;
// a=a+1;错误
a=(short)(a+1);
}
PS:浮点转成整数,直接取消小数点,可能造成数据损失精度。 int 强制转成 short 砍掉2个字节,可能造成数据丢失。
字符 | 数值 |
---|---|
0 | 48 |
9 | 57 |
A | 65 |
Z | 90 |
a | 97 |
z | 122 |
例:‘a’+1
public static void main(String[] args) {
char c='a';
int i=1;
System.out.println(c+i);
}
输出结果:98
算数运算符包括:
符号 | 说明 |
---|---|
+ | 加法运算,字符串连接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++ 、 - - | 自增自减运算 |
public static void main(String[] args) {
int a=1;
int b=++a;
System.out.println(a);
System.out.println(b);
}
输出结果:2 、 2
public static void main(String[] args) {
int a=1;
int b=a++;
System.out.println(a);
System.out.println(b);
}
输出结果:2 、 1
PS:+符号在字符串中的操作: + 符号在遇到字符串的时候,表示连接、拼接的含义。
赋值运算符包括:
符号 | 说明 |
---|---|
== | 等于号 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 取模等 |
例:加等于运算
public static void main(String[] args) {
int i=1;
i+=1;
System.out.println(i);
}
运算结果:2
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true 或者false 。
比较运算符包括:
符号 | 说明 |
---|---|
== | 比较符号两边数据是否相等,相等结果是true。 |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true。 |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true。 |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。 |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。 |
!= | 不等于符号 ,如果符号两边的数据不相等,结果是true。 |
例:
public static void main(String[] args) {
System.out.println(1==1);
System.out.println(1!=1);
System.out.println(1>=1);
System.out.println(1<=1);
}
运算结果:true、false、true、true
逻辑运算符包括:
public static void main(String[] args) {
System.out.println(true&&true);
System.out.println(false&&false);
System.out.println(true&&false);
System.out.println(false&&true);
System.out.println(true||true);
System.out.println(false||false);
System.out.println(true||false);
System.out.println(false||true);
System.out.println(!false);
}
输出结果:true
false
false
false
true
false
true
true
true
三元运算符格式:
数据类型 变量名 = 布尔类型表达式?结果1:结果2
三元运算符计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
例:
public static void main(String[] args) {
int i=(1==1?100:200);
System.out.println(i);
int j=(1!=1?100:200);
System.out.println(j);
}
输出结果:100、200
定义格式
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
修饰符: 目前固定写法 public static 。
返回值类型: 目前固定写法 void ,其他返回值类型在后面的课程讲解。
方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。
参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。
return:方法结束。因为返回值类型是void,方法大括号内的return可以不写。
public static void methodName() {
System.out.println("方法名");
}
1.直接调用:直接写方法名调用
public static void methodName() {
System.out.println("方法名");
}
public static void main(String[] args) {
methodName();
}
public static int methodName(int a,int b) {
return a+b;
}
public static void main(String[] args) {
int sum=methodName(5,6);
System.out.println(sum);
}
public static int methodName(int a,int b) {
return a+b;
}
public static void main(String[] args) {
System.out.println(methodName(5,6));
}
注:不能输出void类型的方法,否则错误
方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法。