int不是默认为0吗?为什么会提示要初始化?

准确地来说,应该是类字段变量是这样,而在方法中的变量需明确初始化,即给它赋值,否则会报错。

只要不是类字段和数组,其它变量一律要赋值。
  public class IODemo { 
	  static int i;
	   public static void main(String[] args) {
		   System.out.println("i = " + i);
	    }
  } 

输出结果为:i = 0

Integer一样:

  public class IODemo { 
	  static Integer i;
	   public static void main(String[] args) {
		   System.out.println("i = " + i);
	    }
  } 
输出结果为:i = null

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]:直接上代码,不解释 void run() { vector<int> vec = {1, 2, 3, 4, 5, 6}; vector<int> v1(vec.begin(), vec.begin()+3); vector<int> v2(vec.end()-2, vec.end()); for(int i=0; i<v1.size(); i++) { cout<<v1\[i\]<<" "; } cout<<endl; for(int j=0; j<v2.size(); j++) { cout<<v2\[j\]<<" "; } cout<<endl; } 。 引用\[2\]:还可以直接进行初始化。 void run3() { vector<vector<int>> array(3, vector<int>(2)); for(int i=0; i<array.size(); i++) { for(int j=0; j<array\[0\].size(); j++) { cout<<array\[i\]\[j\]<<" "; } cout<<endl; } vector<vector<int>> array2(3, vector<int>(2, 1)); for(int i=0; i<array2.size(); i++) { for(int j=0; j<array2\[0\].size(); j++) { cout<<array2\[i\]\[j\]<<" "; } cout<<endl; } } 。 引用\[3\]:文章目录 前言一、使用步骤1.创建数组2.初始化 总结 前言 刷题时碰到需要用vector创建二维数组的情况,简单记录一下 提示:以下是本篇文章正文内容,下面案例可供参考 一、使用步骤 1.创建数组 代码如下(示例): #include<iostream> #include<vector> using namespace std; int mian() { vector<vector<int>>v;//定义一个二维数组,每个元素是int类型 //外层装的元素的vector,内层装的是int } // vector<vector<int>> transposed(m, vector<int>(n));//创建一个m行n列的二维数组transposed; 2.初始化 代码如下(示例): int main() { vector<vector<int>>v; //第一种方式 v.resize(4);//将内层初始化为4个vector<int>的数组 for(int i=0;i<4;++i) { v\[i\].resize(3);//初始化内参的每一个vector<int>,数据数量为3 } //初始化完成后,v是一个4*3的二维数组 //第二种方式 vector<vector<int>>v;//大容器 vector<int>c(3);//建立一个数据量为3的一维数组 c.push_back(1);//插入数据 c.push_back(2); c.push_buck(3); v.push_back(c);//将c插入v中 c.clear();//清除c中的数据 //重复以上过程4次,创建一个4*3的二维数组 } 总结 由于C11新特性,第二种单个插入元素可以直接写成vectorv{1,2,3}; 可以拿 { } 直接一步插入所有数据。。 问题:c++ 初始化二维数组全是0 回答: 在C++中,可以使用vector来初始化二维数组,并且可以指定初始值。引用\[2\]中的代码演示了两种初始化二维数组的方式。第一种方式是使用resize函数来设置外层和内层的大小,然后使用循环来初始化每个元素。第二种方式是先创建一个一维数组,然后使用push_back函数将其插入到二维数组中,重复这个过程来创建二维数组。在这两种方式中,如果没有指定初始值,那么默认情况下所有元素都初始化为0。所以,如果你想要初始化的二维数组全是0,可以使用上述的方法来实现。 #### 引用[.reference_title] - *1* *2* [c++ vector二维数组初始化与vector切片](https://blog.csdn.net/bitcarmanlee/article/details/126016188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++ | C++中二维数组创建与初始化](https://blog.csdn.net/weixin_52983138/article/details/125799580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值