6.1基本数据类型
整数类型:byte,short,int,long
浮点类型:float,double
字符类型:char
布尔类型:boolean
byte1个字节,short2个字节,int4个字节,long8个字节
float4个字节,double8个字节
char两个字节
6.2整数类型
Java的默认整数类型是int
long类型需要在数值后面加l或L
package ChapterSix;
public class integertype {
public static void main (String[] args) {
//声明整形变量
//输出一个默认整数常量
System.out.println("默认整数常量 = " + 16);
byte a = 16;
short b = 16;
int c = 16;
long d = 16L;
long e = 16l;
System.out.println("byte整数 =" + a);
System.out.println("short整数 =" + b);
System.out.println("int整数 =" + c);
System.out.println("long整数 =" + d);
System.out.println("long整数 =" + e);
}
}
6.3浮点类型
Java中使用的默认浮点类型是double
使用float类型需要在数值后面加f或F
package ChapterSix;
public class floatingtype {
public static void main (String[] args) {
//声明一个浮点数
//输出一个默认浮点类型
System.out.println("默认浮点常量 = " + 360.66);
float myMoney = 360.66f;
double yourMoney = 360.66;
final double PI = 3.14159d;
System.out.println("float浮点数 = " + myMoney);
System.out.println("double浮点数 = " + yourMoney);
System.out.println("PI = " + PI);
}
}
6.4数值表示方式
进制数值的表示
二进制数:以0b或者0B为前缀,注意0是阿拉伯数字
八进制数:以0为前缀,注意0是阿拉伯数字
十六进制数:以0x或者0X为前缀,注意0是阿拉伯数字
例:下列表达的都是int整数28
int decimalInt = 28;
int binaryInt1 = 0b11100;
int binaryInt2 = 0B11100;
int octalInt = 034;
int hexadecimalInt1 = 0x1C;
int hexadecimalInt2 = 0X1C;
指数的表示
使用大写或者小写的e表示幂,e2表示10的二次方
6.5字符类型
字符类型表示的是单个字符,char声明字符类型,java中的字符常量必须是用单引号括起来的单个字符
package ChapterSix;
public class charactertype {
public static void main(String[] args) {
char c1 = 'A';
char c2 = '\u0041';
char c3 = '花';
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
}
}
在java中味蕾表示一些特殊字符,前面要加上反斜杠(\),这代表字符转义。
\t \u0009 水平制表符tab
\n \u000a 换行
\r \u000d 回车
\" \u0022 双引号
\' \u0027 单引号
\\ \u005c 反斜线
package ChapterSix;
public class specialcharacter {
public static void main(String[] args) {
//制表符
String specialCharTab1 = "Hello\tWorld.";
//制表符,使用Unicode编码\u0009表示
String specialCharTab2 = "Hello\u0009World.";
//换行符
String specialCharNewLine = "Hello\nWorld.";
//回车符
String specialCharReturn = "Hello\rWorld.";
//双引号
String specialCharQuotationMark = "Hello\"World.";
//单引号
String specialCharApostrophe = "Hello\'World.";
//反斜杠
String specialCharReverseSolidus = "Hello\\World.";
System.out.println("水平制表符tab1:" + specialCharTab1);
System.out.println("水平制表符tab2:" + specialCharTab2);
System.out.println("换行:" + specialCharNewLine);
System.out.println("回车:" + specialCharReturn);
System.out.println("双引号:" + specialCharQuotationMark);
System.out.println("单引号:" + specialCharApotrophe);
System.out.println("反斜杠:" + specialCharReverseSolidus);
}
}
6.6布尔类型
他的值只有两个true或false
6.7数值类型转换
6.7.1自动类型转换
byte-short-int-long-float-double
char-int-long-float-double
从前到后可以自动转换
如:
byte byteNum = 16;
int intNum = 16;
//byte类型转换为int类型
intNum = bytenum;
6.7.2强制类型转换
强制类型转换是在变量或者常量之前加上“(目标类型)”来实现。
如:
//int型变量
int i = 10;
//把int变量i强制转换为byte
byte b = (byte)i;
有时为了提高精度来进行强制转换
如;
//int型变量
int i = 10;
float c1 = i / 3;
System.out.println(c1);
//吧int变量i强制转换为float
float c2 = (float)i / 3;
System.out.println(c2);
6.8引用数据类型
例子:
int x = 7;
int y = x;
String str1 = "Hello";
String str2 = str1;
str2 = "Hello";