精华内容
下载资源
问答
  • java的变量初始化问题
    千次阅读
    2021-02-12 21:31:40

    java中三种变量

    1. 类的属性,或者叫值域

    2. 方法里的局部变量

    3. 方法的参数

    对于第一种称为类中的成员变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。

    以下是各种数据类型的默认值

    boolean false

    int 0

    float 0.0f

    double 0.0d

    short 0

    byte 0

    long 0 L

    所有对象引用类型变量默认初始值为null,即不指向任何对象。数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。

    例子:

    public class SubTest {

    int[] a ;

    public SubTest(){

    System.out.println(a);

    }

    }

    public class Test {

    public static void main(String[] args){

    SubTest s = new SubTest();

    }

    }

    输出为:null

    对于第二种局部变量,时必须先初始化,不会调用其默认值的

    public class Test {

    public static void main(String[] args){

    int i;

    System.out.println(i);//会报错,因为并没有初始化,不会调用其默认值

    }

    }

    对于第三种方法的参数具体的来说和第二种是一样的,都是方法中的局部变量,必须先初始化,才可以使用。

    更多相关内容
  • 由于类成员初始化总在构造函数执行之前 1)从必要性:  a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数  b. 成员是常量或引用:成员无法赋值,只能被初始化 2)从效率上: ...

    先总结下:

    由于类成员初始化总在构造函数执行之前

    1)从必要性:

         a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数

         b. 成员是常量或引用:成员无法赋值,只能被初始化

    2)从效率上:

        如果在类构造函数里赋值:在成员初始化时会调用一次其默认的构造函数,在类构造函数里又会调用一次成员的构造函数再赋值

        如果在类构造函数使用初始化列表:仅在初始化列表里调用一次成员的构造函数并赋值


    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    以下内容参考自 c++中构造函数初始化的方法以及主要区别

    ----------------------

    一、我的问题是关于初始化C++类成员的。我见过许多这样的代码: 

    CSomeClass::CSomeClass() 
    { 
    	x=0; 
    	y=1; 
    } 
    而在别的什么地方则写成下面的样子: 
    CSomeClass::CSomeClass() : x(0), y(1) 
    { 
    
    } 

    我的一些程序员朋友说第二种方法比较好,但他们都不知道为什么是这样。你能告诉我这两种类成员初始化方法的区别吗? 

    回答 

    从技术上说,你的程序员朋友是对的,但是在大多数情况下,两者实际上没有区别。有两个原因使得我们选择第二种语法,它被称为成员初始化列表:一个原因是必 须的,另一个只是出于效率考虑。 

    让我们先看一下第一个原因——必要性。设想你有一个类成员,它本身是一个类或者结构,而且只有一个带一个参数的构造函数。 
    class CMember { 
    public: 
    
    CMember(int x) { ... } 
    
    }; 

    因为Cmember有一个显式声明的构造函数,编译器不产生一个缺省构造函数(不带参数),所以没有一个整数就无法创建Cmember的一个实例。 
    CMember* pm = new CMember; // Error!! 
    CMember* pm = new CMember(2); // OK 

    如果Cmember是另一个类的成员,你怎样初始化它呢?你必须使用成员初始化列表。 
    class CMyClass { 
    CMember m_member; 
    
    public: 
    
    CMyClass(); 
    
    }; 
    
    //必须使用成员初始化列表 
    CMyClass::CMyClass() : m_member(2) 
    { 
    ...
    } 
    

    没有其它办法将参数传递给m_member,如果成员是一个常量对象或者引用也是一样。根据C++的规则,常量对象和引用不能被赋值,它们只能被初始化。 

    第二个原因是出于效率考虑,当成员类具有一个缺省的构造函数和一个赋值操作符时。MFC的Cstring提供了一个完美的例子。假定你有一个类 CmyClass具有一个Cstring类型的成员m_str,你想把它初始化为 "yada yada. "。你有两种选择: 
    CMyClass::CMyClass() { 
    // 使用赋值操作符 
    // CString::operator=(LPCTSTR); 
    m_str = _T( "yada yada "); 
    
    } 
    //使用类成员列表 
    // and constructor CString::CString(LPCTSTR) 
    CMyClass::CMyClass() : m_str(_T( "yada yada ")) 
    { 
    
    } 

    在 它们之间有什么不同吗?是的。编译器总是确保所有成员对象在构造函数体执行之前初始化,因此在第一个例子中编译的代码将调用CString:: Cstring来初始化m_str,这在控制到达赋值语句前完成。在第二个例子中编译器产生一个对CString:: CString(LPCTSTR)的调用并将 "yada yada "传递给这个函数。结果是在第一个例子中调用了两个Cstring函数(构造函数和赋值操作符),而在第二个例子中只调用了一个函数。在 Cstring的例子里这是无所谓的,因为缺省构造函数是内联的,Cstring只是在需要时为字符串分配内存(即,当你实际赋值时)。但是,一般而言, 重复的函数调用是浪费资源的,尤其是当构造函数和赋值操作符分配内存的时候。在一些大的类里面,你可能拥有一个构造函数和一个赋值操作符都要调用同一个负 责分配大量内存空间的Init函数。在这种情况下,你必须使用初始化列表,以避免不要的分配两次内存。在内部类型如ints或者longs或者其它没有构 造函数的类型下,在初始化列表和在构造函数体内赋值这两种方法没有性能上的差别。不管用那一种方法,都只会有一次赋值发生。有些程序员说你应该总是用初始 化列表以保持良好习惯,但我从没有发现根据需要在这两种方法之间转换有什么困难。在编程风格上,我倾向于在主体中使用赋值,因为有更多的空间用来格式化和 添加注释,你可以写出这样的语句:x=y=z=0; 

    或者memset(this,0,sizeof(this)); 

    注意第二个片断绝对是非面向对象的。 

    当我考虑初始化列表的问题时,有一个奇怪的特性我应该警告你,它是关于C++初始化类成员的,它们是按照声 明的顺序初始化的,而不是按照出现在初始化列表中的顺序。 
    class CMyClass { 
    CMyClass(int x, int y); 
    int m_x; 
    int m_y; 
    }; 
    
    CMyClass::CMyClass(int i) : m_y(i), m_x(m_y) 
    { 
    
    } 

    你 可能以为上面的代码将会首先做m_y=I,然后做m_x=m_y,最后它们有相同的值。但是编译器先初始化m_x,然后是m_y,,因为它们是按这样的顺 序声明的。结果是m_x将有一个不可预测的值。我的例子设计来说明这一点,然而这种bug会更加自然的出现。有两种方法避免它,一个是总是按照你希望它们 被初始化的顺序声明成员,第二个是,如果你决定使用初始化列表,总是按照它们声明的顺序罗列这些成员。这将有助于消除混淆。

    二、很多的人对中构造函数寝初始化很多的困惑,对冒号后初始化不是太明白,总搞不清楚它们之间的区别,我想把我对这个问题的理解和看法和大家讨论讨 论。 

    在程序中定义变量并初始化的机制中,有两种形式,一个是我们传统的初始化的形式,即赋值运算符赋值,还有一种是括号赋值,如: 
    int a=10; 
    char b='r';\\赋值运算符赋值 
    int a(10);\ 
    char b('r');\\括号赋值 
    以上定义并初始化的形式是正确的,可以通过编译,但括号赋值只能在变量定义并初始化中,不能用在变量定义后再赋值,这是和赋值运算符赋值的不同之处,如: 
    (1) 
    int a; \\先定义一个变量 
    ...... 
    a=10; \\根据需要赋值 

    (2) 
    int b; \\先定义一个变量 
    ...... 
    b(10); \\和(1)一样根据需要赋值 
    (1)是可以用通过编译,定义一个变量a但并没有初始化,在需要变量a的时候,通过赋值运算符把10赋给a,而在(2)中,是通过括号把10赋值给b,但 编译系统认为 
    这是一个函数的调用,函数名为b,10为实际参数,所以编译错误。因此,括号赋值只用在定义变量并初始化中。



    现在我们来看构造函数中冒号初始化和函数初始化的问题,类构造函数的作用是创建一个类的对象时,调用它来构造这个类对象的数据成员,一要给出此数据成员分 配内存空间,二是要给函数数据成员初始化,构造数据成员是按数据成员在类中声明的顺序进行构造。 

    冒号初始化与函数体初始化的区别在于: 

    冒号初始化是给数据成员分配内存空间时就进行初始化,就是说分配一个数据成员只要冒号后有此数据成员的赋值表达式(此表达式必须是括号赋值表达式),那么 分配了内存空间后在进入函数体之前给数据成员赋值,就是说初始化这个数据成员此时函数体还未执行。 

    对于在函数中初始化,是在所有的数据成员被分配内存空间后才进行的。 

    这样是有好处的,有的数据成员需要在构造函数调入之后函数体执行之前就进行初始化如引用数据成员,常量数据成员和对象数据成员,看下面的一段程序: 

    class student 
    {public : 
    student () 
    . 
    . 
    . 
    protected: 
    const int a; 
    int &b;
    } 
    
    student ::student (int i,int j) 
    { 
    a=i; 
    b=j; 
    } 

    在Student类中有两个数据成员,一个是常量数据成员,一个是引用数据成员,并且在构造函数中初始化了这两个数据成员,但是这并不能通过编译,因为常 量初始化时必须赋值,它的值是不能再改变的,与常量一样引用初始化也需要赋值,定义了引用后,它就和引用的目标维系在了一起,也是不能再被赋值的。所以C 
    ++":"后初始化的机制,使引用和常量数据成员变为可能的,Student类的构造函数应为: 
    student ::student(int i,int j):a(i),b(j){} 

    在下面的程序: 
    class teach 
    { 
    public : 
    teach(char *p="name",int a=0) 
    . 
    . 
    . 
    protected: 
    char name[30]; 
    int age; 
    } 
    teach ::teach(char*p,int a) 
    { 
    strcopy(name ,p); 
    age=a; 
    cout>>name>>endl; 
    } 
    class student 
    { 
    public: 
    student (char *p="name"); 
    . 
    . 
    . 
    protected; 
    char name[30]; 
    teach teacher; 
    }; 
    student::student(char *p) 
    { 
    strcopy(name,p); 
    cont>>name>>endl; 
    } 

    在上面的程序中通不过编译,编译系统会告诉你teacher这个类对象缺默认构造函数,因为在teach 类中没有定义默认的构造函数。那么带参数的构造函数怎么进行构造呢?通过我们前面提到的冒号赋值。那它的构造函数应该是: 
    student::student(char *p,char *pl,int ag):teacher(pl,ag) 
    { 
    strcopy(name,p); 
    cont>>name>>endl; 
    } 

    就是说在没有默认构造函数的时候,如果一个类对象是另一个类的数据成员,那么初始化这个数 据成员,就应该放到冒号后面。这样可以带参数。在类的定义中,如: 
    protected; 
    char name[30]; 
    teach teacher 
    类对象是不能带参数的,因为它只是声明。 


    展开全文
  • 此外,训练深度模型是一个足够困难的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛,有些初始点十分不稳定,使得该算法会遭遇数值困难,并完全失败。当学习收敛时,初始点...

    有些优化算法本质上是非迭代的,只是求解一个解点。有些其他优化算法本质上是迭代的,但是应用于这一类的优化问题时,能在可接受的时间内收敛到可接受的解,并且与初始值无关。深度学习训练算法通常没有这两种奢侈的性质。深度学习模型的训练算法通常是迭代的,因此要求使用者指定一些开始迭代的初始点。此外,训练深度模型是一个足够困难的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛,有些初始点十分不稳定,使得该算法会遭遇数值困难,并完全失败。当学习收敛时,初始点可以决定学习收敛得多块,以及是否收敛到一个代价高或低的点。此外,差不多代价的点可以具有区别极大的泛化误差,初始点也可以影响泛化。

    现代的初始化策略是简单的、启发式的。设定改进的初始化策略是一项困难的任务,因为神经网络优化至今还未被很好地理解。大多数初始化策略基于在神经网络初始化时实现一些很好的性质。然而,我们并没有很好地理解这些性质中的哪些会在学习开始进行后的哪些情况下得以保持。进一步的难点是,有些初始点从优化的观点看或许是有利的,但是从泛化的观点看是不利的。我们对于初始点如何影响泛化的理解是相当原始的,几乎没有提供如何选择初始点的任何指导。

    也许完全确知的唯一特性是初始参数需要在不同单元间“破坏对称性”。如果具有相同激活函数的两个隐藏单元连接到相同的输入,那么这些单元必须具有不同的初始参数。如果它们具有相同的初始参数,然后应用到确定性损失和模型的确定性学习算法将一直以相同的方式更新这两个单元。即使模型或训练算法能够使用随机性为不同的单元计算不同的更新(例如使用Dropout的训练),通常来说,最好还是初始化每个单元使其和其他单元计算不同的函数。这或许有助于确保没有输入模式丢失在前向传播的零空间中,没有梯度模式丢失在反向传播的零空间中。每个单元计算不同函数的目标促使了参数的随机初始化。我们可以明确地搜索一大组彼此互不相同的基函数,但这经常会导致明显的计算代价。例如,如果我们有和输出一样多的输入,可以使用Gram-Schmidt正交化于初始的权重矩阵,保证每个单元计算彼此非常不同的函数。在高维空间上使用高熵分布来随机初始化,计算代价小并且不太可能分配单元计算彼此相同的函数。

    通常情况下,我们可以为每个单元的偏置设置启发式挑选的常数,仅随机初始化权重。额外的参数(例如用于编码预测条件方差的参数)通常和偏差一样设置为启发式选择的常数。我们几乎总是初始化模型的权重为高斯或均匀分布中随机抽取的值。高斯或均匀分布的选择似乎不会有很大的差别,但也没有被详尽地研究。然而,初始分布的大小确实对优化过程的结果和网络泛化能力都有很大的影响。更大的初始权重具有更强的破坏对称性的作用,有助于避免冗余的单元。它们也有助于避免在每层线性成分的前向或反向传播中丢失信号——矩阵中更大的值在矩阵乘法中有更大的输出。如果初始权重太大,那么会在前向传播或反向传播中产生爆炸的值。在循环网络中,很大的权重也可能导致混沌(对于输入中很小的扰动非常敏感,导致确定性前向传播过程表现随机)。在一定程度上,梯度爆炸问题可以通过梯度截断来缓解(执行梯度下降步骤之前设置梯度的阈值)。较大的权重也会产生使得激活函数饱和的值,导致饱和单元的梯度完全丢失。这些竞争因素决定了权重的理想初始大小。

    关于如何初始化网络,正则化和优化有着非常不同的观点。优化观点建议权重应该足够大以成功传播信息,但是正则化希望其小一点。诸如随机梯度下降这类对权重较小的增量更新,趋于停止在更靠近初始参数的区域(不管是由于卡在低梯度的区域,还是由于触发了基于过拟合的提前终止准则)的优化算法倾向于最终参数应接近于初始参数。在某些模型上,提前终止的梯度下降等价于权重衰减。在一般情况下,提前终止的梯度下降和权重衰减不同,但是提供了一个宽松的类比去考虑初始化的影响。我们可以将初始化参数 θ \theta θ θ 0 \theta_0 θ0类比于强置均值为 θ 0 \theta_0 θ0的高斯先验 p ( θ ) p(\theta) p(θ)。从这个角度来看,选择 θ 0 \theta_0 θ0接近0是有道理的。这个先验表明,单元间彼此互不交互比交互更有可能。只有在目标函数的似然项表达出对交互很强的偏好时,单元才会交互。此外,如果我们初始化 θ 0 \theta_0 θ0为很大的值,那么我们的先验指定了哪些单元应互相交互,以及它们应如何交互。

    有些启发式方法可用于选择权重的初始大小。一种初始化 m m m个输入和 n n n输出的全连接层的权重的启发式方法是从分布 W i , j ∼ U ( − 1 m , 1 m ) W_{i, j}\sim U(-\frac{1}{\sqrt{m}}, \frac{1}{\sqrt{m}}) Wi,jU(m 1,m 1)中采样权重,而Glorot andBengio建议使用标准初始化(Normalized Initialization):
    W i , j ∼ U ( − 6 m + n , 6 m + n ) W_{i, j}\sim U(-\frac{6}{\sqrt{m+n}}, \frac{6}{\sqrt{m+n}}) Wi,jU(m+n 6,m+n 6)

    后一种启发式方法初始化所有的层,折衷于使其具有相同激活方差和使其具有相同梯度方差之间。这假设网络是不含非线性的链式矩阵乘法,据此推导得出。现实的神经网络显然会违反这个假设,但很多设计于线性模型的策略在其非线性对应中的效果也不错。

    Saxe等人推荐初始化为随机正交矩阵,仔细挑选负责每一层非线性缩放或增益因子 g g g。他们得到了用于不同类型的非线性激活函数的特定缩放因子。这种初始化方案也是启发于不含非线性的矩阵相乘序列的深度网络。在该模型下,这个初始化方案保证了达到收敛所需的训练迭代总数独立于深度。

    增加缩放因子 g g g将网络推向网络前向传播时激活范数增加,反向传播时梯度范数增加的区域。Sussillo表明,正确设置缩放因子足以训练深达1000层的网络,而不需要使用正交初始化。这种方法的一个重要观点是,在前馈网络中,激活和梯度会在每一步前向传播或反向传播中增加或缩小,遵循随机游走行为。这是因为前馈网络在每一层使用了不同的权重矩阵。如果该随机游走调整到保持范数,那么前馈网络能够很大程度地避免相同权重矩阵用于每层的梯度消失与爆炸问题。

    可惜,这些初始权重的最佳准则往往不会带来最佳效果。这可能有三种不同的原因。首先,我们可能使用了错误的标准——它实际上并不利于保持整个网络信号的范数。其次,初始化时强加的性质可能在学习开始进行后不能保持。最后,该标准可能成功提高了优化速度,但意外地增大了泛化误差。在实践中,我们通常需要将权重范围视为超参数,其最优值大致接近,但并不完全等于理论预测。

    数值范围准则的一个缺点是,设置所有的初始权重具有相同的标准差,例如 1 m \frac{1}{\sqrt{m}} m 1,会使得层很大时每个单一权重会变得极其小。Martens提出了一种被称为稀疏初始化(Sparse Initialization)的替代方案,每个单元初始化为恰好有 k k k个非零权重。这个想法保持该单元输入的总数量独立于输入数目 m m m,而不使单一权重元素的大小随 m m m缩小。稀疏初始化有助于实现单元之间在初始化时更具多样性。但是,获得较大取值的权重也同时被加了很强的先验。因为梯度下降需要很长时间缩小“不正确”的大值,这个初始化方案可能会导致某些单元出问题,例如Maxout单元有几个过滤器,互相之间必须仔细调整。

    如果计算资源允许,将每层权重的初始数值范围设为超参数通常是个好主意,如随机搜索,挑选这些数值范围。是否选择使用密集或稀疏初始化也可以设为一个超参数。作为替代,我们可以手动搜索最优初始范围。一个好的挑选初始数值范围的经验法则是观测单个小批量数据上的激活或梯度的幅度或标准差。如果权重太小,那么当激活值在小批量上前向传播于网络时,激活值的幅度会缩小。通过重复识别具有小得不可接受的激活值的第一层,并提高其权重,最终有可能得到一个初始激活全部合理的网络。如果学习在这点上仍然很慢,观测梯度的幅度或标准差可能也会有所帮助。这个过程原则上是自动的,且通常计算量低于基于验证集误差的超参数优化,因为它是基于初始模型在单批数据上的行为反馈,而不是在验证集上训练模型的反馈。由于这个协议很长时间都被启发式使用,最近Mishkin and Matas更正式地研究了该协议。

    目前为止,我们关注在权重的初始化上。幸运的是,其他参数的初始化通常更容易。设置偏置的方法必须和设置权重的方法协调。设置偏置为零通常在大多数权重初始化方案中是可行的。存在一些我们可能设置偏置为非零值的情况:

    • 如果偏置是作为输出单元,那么初始化偏置以获取正确的输出边缘统计通常是有利的。要做到这一点,我们假设初始权重足够小,该单元的输出仅由偏置决定。这说明设置偏置为应用于训练集上输出边缘统计的激活函数的逆。例如,如果输出是类上的分布,且该分布是高度偏态分布,第 i i i类的边缘概率由某个向量 c c c的第 i i i个元素给定,那么我们可以通过求解方程 softmax ( b ) = c \text{softmax}(b)=c softmax(b)=c来设置偏置向量 b b b。这不仅适用于分类器,也适用于其它的模型,例如自编码器和玻尔兹曼机。这些模型拥有输出类似于输入数据x的网络层,非常有助于初始化这些层的偏置以匹配 x x x上的边缘分布。
    • 有时,我们可能想要选择偏置以避免初始化引起太大饱和。例如,我们可能会将ReLU的隐藏单元设为0.1而非0,以避免ReLU在初始化时饱和。尽管这种方法违背不希望偏置具有很强输入的权重初始化准则。例如,不建议使用随机游走初始化。
    • 有时,一个单元会控制其他单元能否参与到等式中。在这种情况下,我们有一个单元输出 u u u,另一个单元 h ∈ [ 0 , 1 ] h\in[0,1] h[0,1],那么我们可以将 h h h视作门,以决定 u h ≈ 1 uh\approx1 uh1还是 u h ≈ 0 uh≈0 uh0。在这种情形下,我们希望设置偏置 h h h,使得在初始化的大多数情况下 h ≈ 1 h\approx 1 h1。否则, u u u没有机会学习。例如,Jozefowicz等人提议设置LSTM模型遗忘门的偏置为1。

    另一种常见类型的参数是方差或精确度参数。例如,我们用以下模型进行带条件方差估计的线性回归:
    p ( y ∣ x ) = N ( y ∣ x T x + b , 1 β ) p(y|x)=N(y|x^Tx+b, \frac{1}{\beta}) p(yx)=N(yxTx+b,β1)

    其中 β \beta β是精确度参数。通常我们能安全地初始化方差或精确度参数为1。另一种方法假设初始权重足够接近零,设置偏置可以忽略权重的影响,然后设定偏置以产生输出的正确边缘均值,并将方差参数设置为训练集输出的边缘方差。

    除了这些初始化模型参数的简单常数或随机方法,还有可能使用机器学习初始化模型参数。我们还可以用无监督模型训练出来的参数来初始化监督模型。我们也可以在相关问题上使用监督训练。即使是在一个不相关的任务上运行监督训练,有时也能得到一个比随机初始化具有更快收敛率的初始值。这些初始化策略有些能够得到更快的收敛率和更好的泛化误差,因为它们编码了模型初始参数的分布信息。其他策略显然效果不错的原因主要在于它们设置参数为正确的数值范围,或是设置不同单元计算互相不同的函数。

    展开全文
  • 初始化缓存与账号关联或发布截图和视频至社交平台时,将在主机打开网页。初始化缓存将清除在浏览网页过程保存的ID、密码、Cookie、浏览记录等各种缓存数据。开始初始化选择主页菜单下方的“设置”→“主机”→...

    主机的初始化方法

    初始化是指,将主机内的数据删除,恢复到购入时的状态。Nintendo Switch可以仅将一部分数据进行初始化。

    初始化缓存

    与账号关联或发布截图和视频至社交平台时,将在主机中打开网页。

    初始化缓存将清除在浏览网页过程中保存的ID、密码、Cookie、浏览记录等各种缓存数据。

    开始初始化

    选择主页菜单下方的“设置”→“主机”→“初始化”→“初始化缓存”。

    然后选择想要清除缓存的用户,根据画面指引操作即可。

    20191210142828-7789-15840.jpg

    20191210142707-7129-27228.jpg

    初始化键盘

    主机中的键盘系统会保存用户输入过的文字信息并形成记忆,在之后的输入过程中会提前预测或转换你想要输入的内容。

    这些键盘数据是根据用户来分别进行初始化的。

    开始初始化

    选择主页菜单下方的“设置”→“主机”→“初始化”→“初始化键盘”。

    然后选择想要清除缓存的用户,根据画面指引操作即可。

    20191210142828-7789-15840.jpg

    20191210142927-4672-91554.jpg

    初始化主机

    会删除所有软件数据、保存数据、截图和视频、用户数据等主机内存中储存的所有数据。

    主机初始化后,储存在microSD卡中的软件数据也将无法使用。

    如因主机出现问题想要还原出厂设置,建议“保留保存数据初始化” 而非整体初始化主机。

    请在有网络连接的环境下初始化主机

    如果没有网络连接的状态下进行初始化,本机的“随时游玩的主机”不会被解除。虽然初始化之后,在该主机首次登陆Nintendo e商店时会自动解除。但在解除前无法用你的账号将其他主机注册为“随时游玩的主机”。

    初始化主机之前请确认以下内容

    初始化后,主机内存中的数据将被全部删除,microSD卡中的数据也将无法使用。

    以下储存在主机内存中的数据也会被全部删除。

    软件数据

    保存数据

    截图/视频

    用户信息

    与微信帐号的关联

    账号 “随时游玩的主机” 的匹配(仅在有网络连接时)

    主机中的各种设置

    错误记录等数据

    储存在microSD卡中的软件数据将无法使用。

    但microSD卡中的截图和视频可以继续使用。

    即使进行初始化,以下项目也不会改变

    主机系统版本不会改变。

    已经关联到主机用户的账号不会被删除。

    关于重新下载软件数据

    Nintendo e商店的使用记录和余额将储存在账号中。在连接网络进行初始化之后,只要将账号与新的用户关联,即可从Nintendo e商店重新下载软件数据。

    无法下载时请确认是否有其他主机与账号匹配为“随时游玩的主机”。

    暂停或结束开放下载的软件无法重新下载。

    开始初始化

    选择主页菜单下方的“设置”→“主机”→“初始化”→“初始化主机”。

    20191210142828-7789-15840.jpg

    20191210143139-1095-30950.jpg

    保留保存数据初始化

    除了整体初始化主机外,还可以保留保存数据进行初始化。如因主机发生问题想要通过初始化还原出厂设置时,请先尝试这种方法。

    初始化时,除以下数据外,其他数据将被全部删除。

    保留的数据

    软件数据

    保存数据

    截图/视频

    用户信息

    与微信账号的关联

    账号“随时游玩的主机”的匹配(仅在有网络连接时)

    将无法使用microSD卡内的软件数据

    保留保存数据初始化后将无法使用储存在microSD卡中的软件数据。

    因会保留用户信息,所以无需重新设置与账号的关联,可直接从Nintendo e商店重新下载已删除的软件数据。

    储存于microSD卡内的截图和视频可以继续使用。

    暂停或结束开放下载的软件无法重新下载。

    开始初始化

    与其他初始化方法不同,需先进入特殊的维护模式。

    1、 关闭主机电源。

    2、按住音量键“+”和“-”(长按)的同时,再按一下电源键(不要松开音量键)即可进入维护模式。

    20191210143300-7517-31223.jpg

    3、选择“保留保存数据初始化”根据画面指引操作进行初始化。

    20191210143334-3774-82184.jpg

    以上是小编给大家带来的switch国行怎么初始化相关内容,希望对大家有帮助~

    48170.html

    48170.html

    48170.html

    48170.html

    发表评论:

    f6ed7cf3445aa1cf69180ddf7dbdd4b7.gif

    用户名:

    密码:

    匿名评论

    a6177dc9a13df653761a9bc7b48f7b3c.png

    评论

    人参与,条评论

    收藏(9)

    分享

    展开全文
  • 二维数组的初始化

    千次阅读 2020-07-08 17:19:06
    1.不分行的初始化,所有数组元素放在一对 { } 内 (1)全部元素初始化 a[2][3] = {1, 2, 3, 4, 5, 6}; (2)部分元素初始化 a[2][3] = {1 , 2 , 3, 4};未初始化的元素默认为0,即a[1][1]=0, a[1][2]=0。 (3)...
  • C语言变量未初始化的处理

    千次阅读 2022-02-11 10:44:46
    字符指针默认null) 局部未初始化变量有时设置随机值或者默认值 实例测试3--VS2013环境: 总结3: VS2013环境,全局未初始化变量设置默认值(int类型默认0,指针默认null) 局部未初始化变量只定义不使用(警告);...
  • 如果你不想一步一步清理时,就可以直接初始化电脑,简单方便。下文就为大家介绍了win7电脑怎么初始化系统的详细步骤。电脑初始化系统方法/步骤:1.打开win7系统的控制面板界面,直接选择“系统和安全”选项进入。2...
  • java初始化是什么意思

    千次阅读 2021-02-26 17:24:39
    java初始化是什么意思发布时间:2020-06-26 15:36:20来源:亿速云阅读:245作者:Leahjava初始化是什么意思?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
  • 初始化中OnCreate与OnResume的区别

    千次阅读 2016-02-24 09:32:08
    有人说说 oncreate 里面初始化不变的控件, onresume 里面初始化变的控件,这个也许你执行没有问题,但是这么想的时候已经错了。因为 oncreate 就代表了初始化。 所以所有的控件都要在 oncreate 里面初始化。...
  • 枚举的初始化

    千次阅读 2018-07-22 15:16:13
    知识点:枚举类 所有的枚举值都是类静态常量,在初始化时会对所有的枚举值对象进行第一次初始化。 package zml; enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(&...
  • 初始化列表中初始化数组

    千次阅读 2019-03-23 14:28:54
    学习了一下前缀树。 需要用到一个结构体保存两个指针,如下 struct Node ...能不能将初始化操作放在初始化列表呢,如下 以上两种写法都有问题,突然想到,数组应该用大括号初始化啊 就酱。 ...
  • Xavier初始化

    千次阅读 2019-04-26 20:07:32
    本文介绍一下深度学习参数初始化问题耳熟能详的参数初始化方法——Xavier(发音[‘zeɪvɪr])初始化。 大家应该感觉到一般的深度学习文章上来就是实验,告诉读者这个实验结果好,然后由实验结果再反向给出一些...
  • Tomcat 初始化及启动过程

    千次阅读 2018-04-23 13:50:27
    Tomcat很多组件具有生命周期,如初始化、启动、关闭,这些组件的生命周期具有共性,因此Tomcat中将其抽象为接口Lifecycle,来控制组件的生命周期,它通过 事件机制 实现各个容器间的内部通讯。 Lifecycle接口的...
  • c++初始化列表详解

    万次阅读 多人点赞 2018-05-18 18:15:04
    与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。 class foo { public: foo(string s, int i):name(s), id(i){} ; //...
  • 一、我的问题是关于初始化C++类成员的。我见过许多这样的代码: CSomeClass::CSomeClass() { x=0; y=1; } 而在别的什么地方则写成下面的样子: CSomeClass::CSomeClass() : x(0), y(1) { } 我的...
  • C++11变量初始化方法汇总

    千次阅读 2019-10-25 17:19:58
    参考资料 [1] C++ Primer中文版(第5版) 1 背景     参考资料[1]P39提到,在C++语言初始化...
  • Simulink的MATLAB Function说明及其变量初始化

    万次阅读 多人点赞 2018-11-16 20:13:29
    在function 头的下一行增加%#codegen符号,其作用是为了使静态代码分析器Code Analyzer 诊断代码并提示用户对可能在代码生成的过程导致错误的违规写法进行修正。 MATLAB Function内部的M语言有严格的要求:  .....
  • Java数组的三种初始化方式

    千次阅读 2019-09-30 23:12:58
    Java语言数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。 注意:数组完成初始化后,内存空间针对该数组的各个元素就有个一个默认值: 基本数据...
  • 结构体数组初始化

    千次阅读 2021-03-17 15:24:52
    《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。 1、初始化 typedef struct _TEST_T { int i; char c[10]; }TEST_T; TEST...
  • c语言结构体学习整理(结构体初始化,结构体指针)

    万次阅读 多人点赞 2018-11-01 20:22:12
    c语言交换两个结构体的值(结构体指针) 1关于语言的结构体: 首先我们为什么要用到结构体,我们都已经学了很多int char …等类型还学到了同类型元素构成的数组,以及取上述类型的指针,在一些小应用可以灵活...
  • Pythonlist初始化方法示例

    千次阅读 2020-12-28 20:20:43
    这篇文章主要介绍了Pythonlist初始化方法,分析了list初始化常用的方法与相关使用注意事项,需要的朋友可以参考下本文实例讲述了Pythonlist初始化方法。分享给大家供大家参考,具体如下:1、基本方法。lst = [1, 2...
  • python类初始化属性在def __init__()定义,实例化对象后可直接调用 python类非初始化属性在def func()定义,实例化对象后,先调用调用函数,再调用属性 代码 class Mdata(object): def __init__(self): ...
  • c语言中初始化一个数组_用C初始化一个数组

    万次阅读 多人点赞 2020-07-19 12:34:52
    c语言中初始化一个数组In this article, we’ll take a look at how we will initialize an array in C. 在本文,我们将研究如何在C中初始化数组。 There are different ways through which we can do this, so ...
  • 文章目录标准初始化方法形式激活值和梯度特性实验Xavier初始化形式满足Glorot条件的初始化激活值和梯度特性实验Xavier初始化的缺点 Understanding the difficulty of training deep feedforward neural networks by ...
  • 声明时为成员变量赋值,那么你一创建对象,这个赋值就进行,而且先于构造...执行父类静态代码,执行子类静态代码初始化父类成员变量(我们常说的赋值语句)初始化父类构造函数 初始化子类成员变量 初始化子类构造函数...
  • python 初始化 元组 Python | 重新初始化元组 (Python | Reinitializing tuple) In this tutorial, we will learn how can we ... 在本教程,我们将学习如何使用一组新的元素/对象重新初始化元组? To...
  • 在pytorch,有自己默认初始化参数方式,所以在你定义好网络结构以后,不进行参数初始化也是可以的。 1.Conv2d继承自_ConvNd,在_ConvNd,可以看到默认参数就是进行初始化的,如下图所示 2.torch.nn.B...
  • C语言数组初始化及malloc初始化

    千次阅读 2021-05-06 20:39:20
    数组赋值初始化的三个方式 1、{0} 初始化 例如: int nums[3] = {0}; 但是经常出现的是给定长度(变量)然后需要进行初始化,如果写成下式: int main(){ int numsSize=0; scanf("%d",&numsSize); int ...
  • C++的值初始化和默认初始化

    千次阅读 多人点赞 2018-10-31 21:33:08
    1、值初始化 顾名思义,就是用数值初始化变量。如果没有给定一个初始值,就会根据变量或类对象的类型提供一个初始值。对于int类型其值初始化后的值为0。 2、默认初始化:如果定义变量时没有指定初值,则变量被...
  • SimulinkMATLAB Function的变量初始化

    千次阅读 2020-12-23 15:19:04
    MATLAB Function内部的M语言有严格的要求: 变量必须要给定初始值及其维度,变量类型及其虚实性,不支持变维度变量 simulink的运行机制,每个采样点会调用一次MATLAB Function的函数,两次调用之间,同一个变量的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,213,264
精华内容 1,685,305
关键字:

初始化中