Java学习第二期:Java基础知识(1)
- Java中常见的关键字:
Java中常见的关键字:
访问控制 | private | protected | public | ||||
类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native |
new | static | strictfp | synchronized | transient | volatile | ||
程序控制 | break | continue | return | do | while | if | else |
for | instanceof | switch | case | default | |||
错误处理 | try | catch | throw | throws | finally | ||
包相关 | import | package | |||||
基本类型 | boolean | byte | char | double | float | int | long |
short | null | true | final | false | |||
变量引用 | super | this | void | ||||
保留字 | goto | const |
Java基本数据类型:
- byte: 数据类型是八位、有符号的,以二进制补码表示的整数;
最小值:-128
最大值:127
例子:byte a = 100, byte b = -50; - short:数据类型是16位、有符号的以二进制补码表示的整数;
最小值:-2^15
最大值:2^15-1
例子:short s = 1000, short r = -20000。 - int: 数据类型是32位、有符号的以二进制补码表示的整数;
最小值:-2^31
最大值:2^31-1
例子: int i = 100000, int b = -200000。 - long:数据类型是64位、有符号的以二进制补码表示的整数;
最小值:-2^63
最大值:2^63-1
例子: long a = 100000L, long b = -200000L。 - float:数据类型是单精度、32位、符合IEEE754标准的浮点数;
浮点数不能用来表示精确的值;
例子:float f = 234.5f。 - double:数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
double类型同样不能表示精确的值;
例子:double d = 123.4。 - boolean:只有两个取值:true 和 false;
- char:char类型是一个单一的 16 位 Unicode 字符;
char 数据类型可以储存任何字符;
例子:char letter = ‘V’;
自动类型转换:
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级。
低·····························································>高
byte,short,char —> int —> long —> float —> double
数据类型转换必须满足如下规则:
- 不能对boolean类型进行类型转换。
- 不能把对象类型转换成不相关类的对象。
- 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 转换过程中可能导致溢出或损失精度,例如:
int i=128;
byte b= (byte)i;
这将会造成溢出。
5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)11.5 == 11;
(int) -25.76f == -25;
强制类型转换:
- 条件是转换的数据类型必须是兼容的。
- 格式:(type)value type是要强制类型转换后的数据类型 实例:
public class type {
public static void main(String[] args){
int i = 128;
byte b = (byte)i;//将int类型强制转换为byte;
System.out.println("强制转换为:"+b);
}
}
输出结果:
public class type {
public static void main(String[] args){
int i = 123;
byte b = (byte)i;//将int类型强制转换为byte;
System.out.println("强制转换为:"+b);
}
}
输出结果:
public class type {
public static void main(String[] args){
int i = 123;
short s = 1000;
byte b = 100;
long l = 100000L;
float f = 234.5f;
double d = 123.4;
char c = 'A';
byte b1 = (byte)i;//将int类型强制转换为byte;
short b2 = (short)b;
long l1 = (long)i;
float f1 = (float)l;
double d1 = (double)f;
double d2 = (double)c;
System.out.println("强制转换为:"+b1);
System.out.println("强制转换为:"+b2);
System.out.println("强制转换为:"+l1);
System.out.println("强制转换为:"+f1);
System.out.println("强制转换为:"+d1);
System.out.println("强制转换为:"+d2);
}
}
输出结果:
隐含强制类型转换:
- 整数的默认类型是 int。
- 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
参考地址:https://www.runoob.com/java/java-basic-datatypes.html