写在开头:本系列文章根据https://how2j.cn/ 的内容编写,为了记录自己复习的过程
https://how2j.cn/k/variable/variable-tutorial/258.html?p=145877
1.java有八种基本类型:
整型 (4种),字符型 (1种),浮点型 (2种),布尔型(1种)
2.4种整型数的范围
byte -128 ~ 127 ( - 2^8 ~ 2^8 - 1)
short -32,768 ~ 32,767 ( - 2^16 ~ 2^16 - 1)
int -2,147,483,648 ~ 2,147,483,647 (( - 2^32 ~ 2^32 - 1)
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 ( - 2^64 ~ 2^64 - 1)
3.字符型
char类型用于存放一个字符,值用单引号'表示 ,长度为16位,只能存放一个字符
例如 char a= 'a';
char a= '一';
4.浮点型
浮点数类型有两种:
float 长度为32位,小数的默认是double型的,如果要定义float类型的小数,后面要加f.
double 长度为64位
5.布尔型
布尔型(boolean)用于表示真假,真:true/假:false,长度为1位,但boolean的大小JVM规范并没有指定.
6.数据类型的转换
规则:从小到大自动转,从大到小强制转.强制转的数如果超过承接数的上限,会出现数据和元数据不一致的现象.
例如:
byte b = (byte) 256;//实际b的值为0,这个就涉及到二级制的转码,补码的原理了
7.变量的命名规则
变量命名只能使用字母 数字 $ _
1.首字母不能用数字.
2.不能使用关键字作为变量,单可以包含关键字
最后附上练习的范例
float f = 3.14f;
double d = 2.769343;
short s = 365;
byte b = 12;
char c = '吃';
boolean bealean = false;
String string = "不可描述" ;
long val = 26L; //以L结尾的字面值表示long型
int decVal = 26; //默认就是int型
int hexVal = 0x1a; //16进制,0x开头
int oxVal = 032; //8进制,0开头
int binVal = 0b11010; //2进制,0b开头
double d2 = 1.234e2;// 科学计数法表示double
//以下是转义字符
char tab = '\t'; //制表符
char carriageReturn = '\r'; //回车
char newLine = '\n'; //换行
char doubleQuote = '\"'; //双引号
char singleQuote = '\''; //单引号
char backslash = '\\'; //反斜杠
byte b1 = (byte) 256;//实际b的值为0
System.out.println(b1);
short a1 = 1;
short a2 = 2;
short a3 = (short)(a1 + a2);//计算时会将a1,a2先转成int来计算.
int i1 = 2147483647;
int i2 = 2147483647;
int i3 = i1 + i2;//虽然i1 + i2 已经超过int的上限,但是编译器不会报错,但最后的值是-2
System.out.println(i3);
System.out.println((long)i1 + (long)i2);