//1.整型:byte(1字节=8bit) / short(2字节) / int(4字节) / long(8字节)
//① byte范围:-128~127
byte b1 = 12;
byte b2= -128;
//b2=128;超出范围编译不通过
System.out.println(b1);
System.out.println(b2);
//② 声明long类型变量,必须以"l"或"L"结尾。通常写L结尾容易识别
short s1 = 128;
int i1 = 1234;
long l1= 12344L;
System.out.println(l1);
//③ 通常,定义整型变量时,使用int型
与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响
浮点型常量由两种表现形式
十进制数形式:如5.12 512.0f .512(必须有小数点)
科学计数法形式:如5.12e2 512E2 100E-2
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求
double:双精度,精度是float的两倍。通常采用此类型
Java的浮点型常量默认为double型,声明float型常量,须在后面加"f"或"F"
//2.浮点型:float(4字节)/double(8字节)
//① 浮点型,表示带小数点的数值
//② float表示数值的范围比long还大
double d1 = 123.3;
float f1 = 12.3F;
//③ 定义float类型变量时,变量要以"f"或"F"结尾
System.out.println(f1);
//④ 通常,定义浮点型变量时,使用double型
char型数据用来表示通常意义上“字符”(2字节)
Java中所有字符都是用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符
字符型变量的三种表现形式
字符常量使用单引号(‘‘)括起来的单个字符,例如:char c1 = ‘a‘; char c2 = ‘中‘;char c3 = ‘9‘;
char类型是可以进行运算的。因为它都对应有Unicode码
//3.字符型:char(1字符=2字节)
//① 定义char类型变量,通常使用一对‘‘,内部只能写一个字符
char c1 = ‘a‘;
//编译不通过
//c1 = ‘AB‘;
System.out.println(c1);
char c2 = ‘1‘;
char c3 = ‘中‘;
char c4 = ‘ぇ‘;
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
//② 表示方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
char c5 = ‘\n‘;//换行符
c5 = ‘\t‘;//制表符,相当于Tab键
System.out.print("hello"+c5);
System.out.println("world");
char c6 = ‘\u0043‘;
System.out.println(c6);
//4.布尔型:boolean
//① 只能取两个值之一:true,false
//② 常常在条件判断,循环结构中使用
boolean bl1 = true;
System.out.println(bl1);
boolean isMarried = true;
if(isMarried){
System.out.println("你就不能参加\"单身\"party了!\\n很遗憾");
}else{
System.out.println("你要多谈谈女朋友");
}
String不是基本数据类型,属于引用数据类型
使用方式与基本数据类型一致。例如:String str = "abcd";
一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如
str = str + "xyz";
int n = 100;
str = str + n;
//String类型变量的使用
String str = "Hello World!";
System.out.println(str);
String str2 = "a";
String str3 = "";
int number = 1001;
String numberStr = "学号:";
numberStr = numberStr + number;
System.out.println(numberStr);
boolean info = true;
numberStr = numberStr + info;
System.out.println(numberStr);
//*************************
//练习一
char ch = ‘a‘;//编码位置是97
int num = 10;
String strs = "hello";
System.out.println(ch + num + strs);//107hello
System.out.println(ch + strs + num);//ahello10
System.out.println(ch + (num + strs));//a10hello
System.out.println((ch + num) + strs);//107hello
System.out.println(strs + num + ch);//hello10a
//练习二
System.out.println("* *");//* *
System.out.println(‘*‘ + ‘\t‘ + ‘*‘);//93
System.out.println(‘*‘ + "\t" + ‘*‘);//* *
System.out.println(‘*‘ + ‘\t‘ + "*");//51*
System.out.println(‘*‘ + (‘\t‘ + "*"));//* *
自动类型转换 :容量小的类型自动转换成容量大的数据类型。数据类型按容量大小排序为:
//自动类型转换
byte by1 = 2;
int in1 = 129;
//编译不通过。
//byte by2 = by1 + in1;
int in2 = by1 + in1;
long lo1 = by1 + in1;
System.out.println(in2);
float fl1 = by1 + in1;
System.out.println(fl1);
short sh1 =123;
double do1 = sh1;
System.out.println(do1);
强制类型转换
//强制类型转换
double dou1 = 12.9;
//精度损失举例1
int int1 = (int)dou1;//截断操作
System.out.println(int1);
//没有精度损失
long lon1 =123;
short sho1 = (short)lon1;
//精度损失举例2
int int2 = 128;
byte byt1 = (byte)int2;
System.out.println(byt1);//-128
Java定义的数据类型
一,变量按照数据类型来分:
基本数据类型:
整型:byte/short/int/long
浮点型:float/double
字符型:char
布尔型:boolean
引用数据类型:
类(class)
接口(interface)
数组(array)
二,变量在类中声明的位置
成员变量
局部变量
三,基本数据类型之间的运算规则
前提:这里讨论的只是7中基本数据类型变量间的运算。不包含boolean类型的
说明:容量大小指的是表示数的范围的大小。比如:float容量要大于long的容量
1.自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型的变量运算时,结果自动提升为容量大的
byte ,char , short --> int --> long --> float --> double
特别的:当byte ,char , short三种类型的变量做运算时,结果为int型
2.强制类型转换:自动类型提升的逆运算
1.需要使用强转符:()
2.注意点:强制类型转换,可能导致精度损失。
四,String类型变量的使用
1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一对""
3.String可以和8中数据类型变量做运算,且运算只能是连接运算:+
4.运算的结果仍然是String类型
5.判断+是否为连接运算的方法是看+两边是否有字符串类型的值
原文:https://www.cnblogs.com/mzchuan/p/13884322.html