Java语言学习总结(第二章 Java程序设计基础)

第二章 Java程序设计基础

2.1标识符和关键字

    1、标识符组成:字母(区分大小写)、数字、下划线(_)、货币符号(注意C/C++中不能用货币符号)
    2、标识符不能以数字开头,不能将任何Java关键字作为标识符,长度没限制。
    3、定义标识符应遵循的规则:
		(1)使用有意义的英文单词定义标识符;
		(2)包名所有字母小写;
		(3)类名和接口名每个单词的首字母要大写;
		(4)变量名和方法名的第一个单词的首字母小写,后继单词的首字母大写;
		(5)常量名所有字母大写。
	4、Java语言中所有关键字都小写。
	5、关键字分类:
	    (1)数据类型:boolean、int、long、short、byte、float、double、char、class、interface
	    (2)流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally
	    (3)修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native
	    (4)动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new
	    (5)保留字:true、fasle、null、goto、const
    6、注释
	    (1)单行注释: //注释内容
	    (2)多行注释: 
                                /*       注释内容(第一行)
							             注释内容(第二行)			*/
	    (3)文档注释: “/**”和“*/”之间,文档注释是对一段代码概括的解释说      明(使用javadoc命令可以将文档注释提取出来生成帮助文档)#

2.2 变量和常量

1、常量
	(1)常量与常量值是不同概念,常量值是常量的具体直观的表现形式,比如1,2,常量是形式化的表现,比如final int X中的X
	(2)final int COUNT=100; // final 关键字定义常量
	(3)常量在定义时就需要初始化,也就是在定义时就要给值,在给初始化给值后,就不允许更改,否则会报错。
2、变量
	(1)变量组成
	(2)变量类型:基本类型的变量和引用类型的变量
	(3)变量在使用前必须先定义(包括声明和赋值)
	(4)初始化变量方式:
			① 先声明,再赋值
				int m;
				m=100;
           ② 声明时赋值(赋值过程也叫初始化)
                int m=100;
      注意:定义时不能连续赋值,如int m=k=a=100;是错误的,但可以先定义后,再连续赋值,如int m,k,a; m=k=a=100;
			(5)变量作用域(变量只有在作用域范围内才有效)
				① 局部变量:在方法或方法代码块(“{}”合法时构成代码块)中定义的变量,其作用域为其所在的代码块。(见例2-1)
				② 方法参数变量:作用域为整个方法(主方法是程序的入口)
				③ 成员变量:声明在类中,是类的成员作用域时整个类。
				④ 异常处理参数变量:作用域在异常处理模块中,与方法参数变量类似。

【例2-1】

public class LocalVariableScopeTest {
	public static void main(String args[]) {
		int x=10;       //声明变量并初始化
		{
			int y=20;
			System.out.println("x="+x);  //输出x
			System.out.println("y="+y);  //输出y(第一个)
		}
		System.out.println("y="+y);  //输出y(第二个)
	}
}

例2-1
解析:y的作用域是主方法中{}代码块内,而第二个输出y的语句在读取变量y时超出它的作用域,所以报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于PyTorch的Embedding和LSTM的自动写诗实验LSTM (Long Short-Term Memory) 是一种特殊的循环神经网络(RNN)架构,用于处理具有长期依赖关系的序列数据。传统的RNN在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,导致无法有效地捕捉长期依赖。LSTM通过引入门控机制(Gating Mechanism)和记忆单元(Memory Cell)来克服这些问题。 以下是LSTM的基本结构和主要组件: 记忆单元(Memory Cell):记忆单元是LSTM的核心,用于存储长期信息。它像一个传送带一样,在整个链上运行,只有一些小的线性交互。信息很容易地在其上保持不变。 输入门(Input Gate):输入门决定了哪些新的信息会被加入到记忆单元中。它由当前时刻的输入和上一时刻的隐藏状态共同决定。 遗忘门(Forget Gate):遗忘门决定了哪些信息会从记忆单元中被丢弃或遗忘。它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 输出门(Output Gate):输出门决定了哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。同样地,它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 LSTM的计算过程可以大致描述为: 通过遗忘门决定从记忆单元中丢弃哪些信息。 通过输入门决定哪些新的信息会被加入到记忆单元中。 更新记忆单元的状态。 通过输出门决定哪些信息会从记忆单元中输出到当前时刻的隐藏状态中。 由于LSTM能够有效地处理长期依赖关系,它在许多序列建模任务中都取得了很好的效果,如语音识别、文本生成、机器翻译、时序预测等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦年华a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值