2-1基本数据类型
public static void main(String[] args){
//1.整形:byte(1字节) \ short(2字节) \ int(4字节) \ long(8字节)
//byte范围:-128~127
byte s2=124;
short s1=129;
int i1=1234;
long l1=123214937128L;
System.out.println(s1);
System.out.println(s2);
System.out.println(l1);
System.out.println(i1);
//2.浮点型:float (4字节) / double(8字节)
//①浮点型 ,表示带小数点的数值
//②float 表示数值的范围比long还大
double d1=123.3;
System.out.println(d1+1);
//①定义float变量的时候,要在其末尾加上一个“f”或者“F”结尾
float f1=12.3f;
System.out.println(f1);
//②通常定义浮点型变量时,使用double形
//3.字符型:char (1字符=2字节)
//①定义char 字符,通常使用一对‘ ’
char c1= ‘a’;
//c1=’AB’; 会编译不通过,只能写一个
System.out.println(c1);
//② 表示方式:1.声明一个字符 2.转义字符 3.直接使用unicode码来表示字符型变量
char c2 =’\n’;
System.out.print(“hello”+c2);
System.out.println(“world”);
char c3= ‘\u0043’;
System.out.println(c3);
}
//4.布尔型:boolean
// ①只能取两个值之一:true 、flase
//常常在条件判断、循环结构中使用
boolean bb1=true;
System.out.println(bb1);
**
2-2 基本数据类型间的转换
/*
基本数据类型之间的运算规则:
前提:这里讨论的只是7种基本数据类型变量之间的运算,不包含boolean类型的
1.自动类型提升:
当容量小的数据类型变量与容量大的数据类型变量进行运算时候,
结果自动提升为容量大的类型
byte —> short —> int —> long —> float —>double
特别的 当byte int char 进行运算的时候最终结果为int类型
2.强制类型转换:
自动类型提升的逆运算。
1.需要使用强制转换符:()
2.注意点:强制类型转换,可能导致精度损失。
说明:此时的容量大小指的是,表示数的范围的大和小。
比如:float容量是要大于long的
即:long+float=float
*/
package day02;
public class type2 {
public static void main(String[] args){
byte b1=2;
int i1=3;
int i2=b1+i1;
System.out.println(i2);
float f1=b1+i1;
System.out.println(f1);
short s1=123;
double d1=s1;
System.out.println(d1);
//**特别的**
char c1=’a’;//97
int i3=10;
int i4=i3+c1;
System.out.println(i4);
short s2=10;
int s3=c1+s2;
System.out.println(s3);
//**强制类型转换**
double d2=12.3;
int i5=(int) d2; //截断操作,只去整数部分
System.out.println(i5);
//没有精度损失
long l1=123;
short s6=(short)l1;
int i7=128;
byte b=(byte)i7;
System.out.println(b);
}
}
public class type3 {
public static void main(String[] args) {
//1.编码情况:
long l=123321;
System.out.println(l);
//long l2=123124123123; 编译失败,过大的整数
long l3=123124123123l;
System.out.println(l3);
//*
//编译失败 ,后面需要加上一个f
//float f1=123.5;
//2.编码情况2:
//整形常量,默认类型为int型
//浮点类型常量,默认类型为double型
byte b=12;
// byte b1=b+1; //编译失败
//float f1=b+12.3; //编译失败
}
}
2-3 基本数据类型和String的转换
/*
String 类型变量的使用
1、String 属于引用数据类型
2. 声明String类型变量的时候,使用一对“ ”
3.String 是可以和8种基本数据类型变量进行运算的,且运算只能是连接运算:+
4.运算的结果仍然是String类型
*/
package day02;
public class Stringtype {
public static void main(String[] args) {
String s2=”Hello World”;
System.out.println(s2);
int number =1001;
String numberstr =”学号:”;
String info =numberstr +number;
System.out.println(info);
//**
char c=’a’;
int num =10;
String str= “hello”;
System.out.println(c + num + str); //107hello
System.out.println(c + str + num); //ahello10
System.out.println(c + (num + str)); //a10hello
System.out.println((c + num )+ str); //107hello
System.out.println(str + num + c); //hello10a
System.out.println(‘‘+”\t”+’‘);
//如何将字符串str转换为int类型?可以使用强制类型转换嘛?
//答案:不可以,,只能用Integer.parseInt()
String str1=”123”;
int num1 =Integer.parseInt(str1);
System.out.println(num1);
}
}
2-4进制与进制间的转换
无论正负,在计算机中,数字都是以二进制的形式进行存储的**
public class binary {
public static void main(String[] args) {
int num1=0b110;
int num2=110;
int num3=0127;
int num4=0x110A;
System.out.println(“num1=”+num1); //num1=6
System.out.println(“num2=”+num2); //num2=110
System.out.println(“num3=”+num3); //num3=87
System.out.println(“num4=”+num4); //num4=4362
}
}