初级Java必学的知识点


示例图片

Java的语言基本构成

  1. 你好! 我是魏铁锤,一个平庸却不平凡的少年,我喜欢学习与分享Java,在教会别人的同时,自己收获快乐和巩固自己的知识。
  2. 如果你准备学习Java或者刚开始学习Java以及对语言底层原理不清楚的,请一定要看一看这篇文章,专门为初级Java制定的讲解。

Java的类型转化

我们所学的Java基本数据类型,在同类型的数据下,可以自由转换,而不会产生报错,那么不是同类型的呢?他们又该是如何转换的呢?

类型的强制转换

  1. 首先我们先来看一个代码块:
public satic void main(String[] args){
    
    
	int a = 1;//创建了一个int类型的常量a,并把1赋值给了a;
		int b = a;//把这个a里面的数据赋值b;
			System.out.println(b);
	}
  • 从此我们可以看出在同种数据类型之间是可以直接进行赋值操作。
  1. 我们再来看另一个:
public static void main(String[] agrs){
    
    
		int a = 1;
		byte b = a;//会报错
	}
  • 当我们把大的数据类型,储存到小的数据类型时,会产生报错,因为数据类型的存储大小不一样,先以整数类型为例,整数类型总共有四个,按储存从小到大的顺序来排,依次是byte、short、int、long。具体储存信息见下表:

整数类型大小分布表

整数类型 储存大小
byte 8bit
short 16bit
int 32bit
long 64bit

知识点讲解

  1. 这个数据的强制转换,就像时你吃大米饭似的,你一个用盆装,一个用碗装,如果你想把盆装的大面饭,换到小碗里,就会有多出的情况,而多出的,就直接不要了,因为装不下,那么你现在这小碗里的米饭,就不能说都是盆里的米饭了,因为有一部分倒掉了。
  2. 咱们的数据就像大米饭似的,我们在转换数据的时候,如果大的数据储存的小的里面,会产生报错,也可强制转换,但是数据会变,而小的储存到大的里面是没有问题的。
  3. 但是有些人就会问,同样是数字1,直接赋值给int、baty都可以,说明他们是都可以装下数字1的,但为什么转换就不可以?其实道理很简单,数字1占取位置多余的,都会用null(默认值)来填充,所以没存东西,不代表他这个存储空间不存在。

数据类型不同的空间之间赋值的操作

  1. 基本类型之间是可以直接转换的,有两种方式,一个是自动转换,小的储存空间赋值给大的,另一种是强制转换,大的储存空间赋值给小的。
  2. 引用类型之间也是可以直接转换的,他有自动、强制、上转型、下转型四种转换方式。
  3. 引用类型之间是不可以直接转换,但是可以间接转换,通过包装类/封装类来进行转换的。

示例

public static void main(String[] args){
    
    
		int a = 1;
		byte b = (byte)a;
	}

注意:同种大数据类型之间才能发生转换

猜你喜欢

转载自blog.csdn.net/m0_65909361/article/details/129510946
今日推荐