带你入门学习java,从菜鸟逐渐变强第四天(数据类型、常量的引用、数据类型转换)Continuous update

第二章java基础语法

2.7数据类型

2.7.1数据类型的分类

带你入门学习java,从菜鸟逐渐变强第四天(数据类型、常量的引用、数据类型转换)Continuous update_第1张图片

2.7.2数据类型之间的字节大小

类型名称 数据类型 所占空间 大小
字节型 byte 1个字节 8位
短整型 short 2个字节 16位
整形 int 4个字节 32位
长整型 long 8个字节 64位
单精度 float 4个字节 32位
双精度 double 8个字节 64位
字符型 char 2个字节 16位
布尔型 boolean 1个字节 8位

注意:布尔类型分配是一个字节空间,但实际存储只是一位(true/false)

2.7.3数据类型的转换

在java中不同的数据类型之间是可以互相转换的,分为:自动类型转换强制类型转换

注意:大小数据类型可以通过数据类型所占空间的大小的大小来判断

i.自动类型转换
  • 定义:指小的数据类型向大的数据类型转换,可以自动进行转换
  • 语法规则:大的数据类型 变量名=小的数据类型的变量;
public class Demo01{
	public static void main(String[] args){
		//声明一个byte类型的变量
		byte b=100;
		//通过自动类型转换将byte类型的变量变为int类型
		int num=b;
		System.out.println("byte类型的变量b:"+b);
		System.out.println("int类型的变量num:"+num);
	}
}

捕获14.PNG

public class Demo02{
    public static void main(String[] args){
        double num=12*3+3.3f;
        System.out.println(num);
    }
}

捕获15.PNG

public class Demo03{
    public static void main(String[] args){
        char ch=65;
        byte a=20;
        short b=30;
        char ch=ch+a+b;
        System.out.println(ch);
    }
}

带你入门学习java,从菜鸟逐渐变强第四天(数据类型、常量的引用、数据类型转换)Continuous update_第2张图片
注意事项:

  • java中整数类型数据默认类型是int,小数数据类型是double
  • 在给byte和short赋值时,只要保证数值在byte和short表示数范围之内
  • 在四则运算中,数据类型提升规则如下:
    • byte=>short=>int=>long=>float=>double
    • char=>int=>long=>float=>double
    • boolean不能参与转换,也不能参与四则运算
    • 所有的byte型、short型和char的值将被提升为int型
ii.强制类型转换
  • 定义:指大的数据类型向小的数据类型转换,无法自动转换,只能通过强制性转换
  • 语法规则:小数据类型 变量名=(小数据类型)大数据类型的变量;
public class Demo03{
    public static void main(String[] args){
        int a=30;
        //将int类型的变量强制转换成byte类型的变量
        byte b=(byte)a;
        System.out.println(b);
    }
}

捕获17.PNG

public class Demo03{
    public static void main(String[] args){
      	//声明一个int类型的变量
		int	num=129;
		//声明一个byte类型变量存储int变量中的值
		byteb=(byte)num;
		System.out.println("b="+b);  
    }
}

捕获18.PNG

  • 129=> 0000 0000 0000 0000 0000 0000 1000 0001(对应的int类型的补码)
  • =>byte 1个字节1000 0001(强制转换后,变成byte类型的补码)
  • =符号位是1(所有负数所有的数据都是补码存储原码展示)
  • =>1000 0001=>(反)1000 0000 ->原码1111 1111 -> -127(计算机输出原码给我们看)

注意事项:

  • 强制类型的转换有可能造成数错误,不推荐使用
  • 强转有风险,转换需谨慎
  • 计算机是以补码的形式存储,原码展示

2.8常量

2.8.1什么是常量?

  • 定义:在程序运行期间,其值不可以发生改变的变量。

2.8.2为什么需要常量?

  • 在软件开发的过程中,书写程序的过程中,有一些值是不允许或者是没有必要重新多次赋值的,对于这些值而言,我们可以通过常量来将其定义,防止在程序运行期间发生改变。

2.8.3常量的分类(个人定义,仅供参考)

  • 字面常量:看到什么就是什么。例如 int a=1;
  • 符号常量:通过final修饰的变量之后变为常量

2.8.4常量的用法

public class FinalVarTest01{
	public static void main(String[] args){
		//1:声明一个变量存放r
		int	r=10;
		//2:声明一个变量存放PI的值
		//当通过final修饰完pi之后,pi的值不能修改,不然程序编译报错。
		final double pi=3.14;
		//3:声明一个变量存放圆的面积
		double area=pi*r*r;
		System.out.println("area:"+area);
		//4:声明一个变量存放周长
		pi=3.1415926;
		doublezc=2*pi*r;
		System.out.println("zc"+zc);
	}
}

带你入门学习java,从菜鸟逐渐变强第四天(数据类型、常量的引用、数据类型转换)Continuous update_第3张图片

你可能感兴趣的:(java学习笔记,数据类型,常量的引用,数据类型转换)