/**
*数据类型不同所占内存大小也不同,所占的内存大小与平台无关
*数据类型:基本类型、引用类型
*
*
*/
public class JavaVariable
{
public static void main( String[] args)
{
byte age=20;
//byte age=128; 报错byte类型最大为127;
//age=ture;报错类型不兼容
System.out.println(age);
short number1=200;
int number2=100;
long number3=2000L;
System.out.println(number1);
System.out.println(number2);
System.out.println(number3);
//浮点数的测试
//float date1=10.5;//不兼容的类型: 从double转换到float可能会有损失
float date1=10.5f;//数据不会丢失
double date2=10.456;
double date3=.125;
double date4=0.3456e3;//科学计数法
System.out.println(date1);
//boolean类型的测试
boolean flag=true;
//flag=1;//数据类型不一致
//注意区别 c语言 c语言当中不为0则为ture此处不会出错,java是强类型语言此处会出错
System.out.println(flag);
//字符类型测试;必须用单引号括起来
char c1='A';
//在java中字符char类型使用的是unicode字符编码
char c2='\u0041';//16进制用编码代替字符
char c3=65;//10进制
System.out.println(c1);//输出结果为 A
System.out.println(c2);//输出结果为 A
System.out.println(c3);//输出结果还为 A
}
}
/**
*基本类型转换:自动类型转换、强制类型转换
*自动类型转换:在某种条件下,系统自动完成类型转换(隐式转换)
* 1、两种类型兼容
* 2、目标类型大于原类型(eg:double>float 则float赋值给double不会出错)
* 3、对于表达式,如果一个操作数为double型,则整个表达式提升为double类型(eg:a(double)+b(int) 则本式子升为double)
*强制类型转换:在一定条件下程序员手动完成类型转换(一般会丢失精度)
* 1、两种类型兼容
* 2、一般目标类型小于源类型
*/
class VarChange//数据转换
{
public static void main(String[] args){
//自动类型转换(小转大)
byte num1=10;
int num2=num1;
System.out.println(num2);
long num3=num2;
System.out.println(num3);
float f=10.5f;
double d=f;
System.out.println(d);
int num4=100;
float num5=num4;
System.out.println(num5);//此处可认为int比float小,我们比较的是他们表示的数据范围不是比较所占内存空间大小
char c2='a';
int num6=c2;//字符赋值给整形变量
System.out.println(num6);//输出97
System.out.println(c2);//输出a
//强制类型转换(显式转换)
int num7=10;
short num8=(short)num7;
System.out.println(num8);
float num9=(float)10.25;
System.out.println(num9);
int num10=
}
}