补充JAVA基本数据类性的转换:
一. 数据类型:
说明:(大小是指数据类型的字节大小)。
①大转小需要进行数值类型的强制转化。
②小转大可以直接转。
③转小,数据可能会丢失。
(小杯子的水给大杯倒,很容易;但大杯的水给小杯倒会溢出,丢失)
要求:
先熟记各种类型的字节大小,和取值范围。
二.数据基本类型的字节大小及取值范围:
注意:
①整数类型默认变量为int型;
②浮点型默认变量为double型;
③int类型与char类型的字节大小相同,可以直接转。
三.举例说明并分析:
public class Text {
public static void main(String[] args) {
byte height=100;//默认类型为int但未超出byte的范围
//byte转short,小转大。
short heightOne=height;
//int转short,大转小
int number = 1;
short numberOne = (short) number;//强制转换需要给变量值前加所要强转的类型
//short转long,小转大。
short wight=200;
long wightOne=wight;
//long转int,大转小
long length=1000;
int lengthTwo=(int)length;
//char转int,同大小
char character='c';
int characterOne=character;
//int转char,同大小
int theInteger=10;
char theIntegerTwo= (char) theInteger;
//默认为Double,转float,大转小
float decimal= (float) 10.1;//float类型特殊,可以直接给变量值后加f进行强制转化,float decimal=10.1f;
//float转float
float decimalTwo=decimal;
//double转float,大转小
double doubleTwo=1000.55;
float dobleTwos=(float) doubleTwo;
//结果==>100
System.out.println(heightOne);
//结果==>1
System.out.println(numberOne);
//结果==>200
System.out.println(wightOne);
//结果==>1000
System.out.println(lengthTwo);
//结果==>99
System.out.println(characterOne);
//结果==>??
System.out.println(theIntegerTwo);
//结果==>10.1
System.out.println(decimalTwo);
//结果==>1000.55
System.out.println(dobleTwos);
}
}
四.扩展:
题目:司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
public class Text{
public static void main(String[] args) {
//键盘扫描,进行接收
Scanner scanner1 = new Scanner(System.in);
//打印语句块
System.out.println("请输入一个四位数的整数");
//接收并赋值给a
int a=scanner1.nextInt();
int a1=((a%10)+5)%10;//个位数+5/10
int a2=((a%100/10)+5)%10;//十位数+5/10
int a3=((a%1000/100)+5)%10;//百位数+5/10
int a4=((a%10000/1000)+5)%10;//千位数+5/10
//把结果赋值给results,并且调换位置
int results=a4*1000+a3*100+a2*10+a1;
//打印输出
System.out.println("最终结果为"+results);
}