【Java】碎片知识小结一

本文深入探讨Java中变量默认值、逻辑运算符、数组操作、构造方法及类属性等核心概念,解析Java特性与C语言的差异,为初学者提供清晰的学习路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量默认值

Java中每个数据类型在创建变量的时候都有默认值,如果未进行初始化想看到该数据类型的默认值到底是什么
在这里插入图片描述
通过上面的方式显然是错误的,正确的做法是结合类来实现
在这里插入图片描述
引用数据类型的默认值为null
Java中一个具体的数值,如果是整数,默认是int类型;如果是小数,默认是double类型

& |

在C语言中,可以用非0表示真,0表示假,而Java中用于逻辑判断有专门的boolean类型
所以在用于逻辑表达式时,&和|可以表示逻辑与和逻辑或,同&&(短路与)和||(短路或)有些许区别:

  • 当使用"&“时,明确的表示多个条件都判断了,如果在多个表达式中有条件返回了false,剩余的条件也要判 断;而如果使用”&&"(短路与),只要有条件返回false,剩余条件不再判断,返回false。
  • 当使用"|“时,明确的表示多个条件都判断了,如果在多个表达式中有条件返回了true,剩余的条件也要判 断;而如果使用”||"(短路非),只要有条件返回true,剩余条件不再判断,返回true。

再者&和|还在非逻辑表达式的地方进行按位运算

二维数组

Java中一维数组和C语言相同,但是二维数组在进行静态初始化时和C语言中有些许变化。C语言中如果静态初始化一个二维数组,会根据所有行的最大列数开辟行数X最大列数的空间大小,然后未初始化的空间会被默认赋值为0;而在Java中静态初始化二维数组,会根据每行每列的确切大小进行开辟空间。

public static void main(String[] args) {

		int[][] data = new int[][] {
			{1,2,3},
			{4,5},
			{6,7,8,9}
		};
		for (int x = 0; x<data.length ; x++) {
			for (int y = 0; y<data[x].length ; y ++) {
				System.out.println("data{"+x+"]["+y+"]="+data[x][y]) ;
			}
			System.out.println();
		}
	}

在这里插入图片描述

数组拷贝方法

System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);
System.Arrays.copyOf(源数组名称,新数组长度)

构造方法为什么缺省返回值

编译器通过方法的结构来区分普通方法和构造方法,构造方法实在实例化对象时调用一次,而普通方法可以在创建对象之后通过对象多次调用

类中属性

类的设计原则定义在设计类的时候,类中的属性必须由private修饰进行封装,如果在类的外部需要访问或者修改类中的属性,必须定义getter和setter方法

  • setter和getter方法命名的方式一般为get/set+首字母大写的变量名
  • 如果为boolean类型变量,getter方法命名为is+首字母大写的变量名

代码块

普通代码块

方法中用{}括起来的一段代码,没有任何关键字修饰,主要为了防止命名冲突

构造快

中用{}括起来的一段代码,没有任何关键字修饰,被称为构造快。没创建一个对象,构造快都被执行一次,并且构造块先于构造方法执行

静态块
  • 非主类中的静态块:静态块只在类第一次使用时调用一次,并且优于构造块执行
  • 主类中的静态块:主类中的静态块优于main方法执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值