上篇文章的最后,我留了一个"helloworld"的代码:
class HelloWorld{
public static void main(String[] args){
System.out.println("helloworld");
}
}
小白看到这几行代码,必定是一脸懵逼,我当时也是这样,只知道先跟着抄下来,里面每个词具体是啥意思,为何这几行代码堆在一起就能输出"helloworld"也实在是很难理解,带着这些疑问,也正式开始了Java基础语法的学习。
1 关键字
仍然以"helloworld"代码为例:
class HelloWorld{
public static void main(String[] args){
System.out.println("helloworld");
}
}
这几行代码中的以下几个单词class、public、static就属于关键字这个范畴之内。
关键字(keyword)值得就是==在java语言中被赋予特殊含义,用作专门用途的字符串(单词)==,其特点也不难总结,==所有的字母均为小写==
以下为java中常用的关键字,其具体含义可以在学习过程中逐步了解,现在先混个眼熟,甚至暂时可以不用看,:
- 用于定义数据类型的关键字:
class | interface | enum | byte | short | int |
---|---|---|---|---|---|
long | float | double | char | boolean | void |
- 用于定义流程控制的关键字:
if | else | switch | case | default | while |
---|---|---|---|---|---|
do | for | break | continue | return |
- 用于定义访问权限修饰符的关键字
private、protected、public
- 用于定义类、函数、变量修饰符的关键字
abstract、final、static、synchronized
- 用于定义类与类之间关系的关键字
extends、implements
- 用于定义建立实例及引用实例,判断实例的关键字
new、this、super、instanceof
- 用于异常处理的关键字
try、catch、finally、throw、throws
- 用于包的关键字
package、import
- 其它修饰符关键字
native、strictfp、transient、volatile、assert
- 用于定义数据类型的字面值
true、false、null
2标识符
仍然以"helloworld"代码为例:
class HelloWorld{
public static void main(String[] args){
System.out.println("helloworld");
}
}
这其中"HelloWorld"就属于标识符的范畴,但更具体一点来说,这叫一个"类的名字",关于什么是类,我们后面再具体展开。
标识符(identifier)指的就是java中对各种变量、方法和类等要素==命名==时使用的字符序列,一言以蔽之,只要是我们可以==自主命名==的地方都叫做标识符。
2.1标识符的命名
标识符的命名有以下的一些规则:
由26个英文字母大小写,0-9,_或$组成
数字不可以开头
不可以直接使用java中已有的关键字,但能包含关键字。
严格区分大小写,长度无限制
-
标识符不能包含空格
进一步的,Java中对应具体的类、方法、变量、接口等也有如下的一些规范:
包名:xxxyyyzzz,多单词时所有字母小写
类名、接口名:XxxYyyZzz,多单词首字母大写
变量名、方法名:xxxYyyZzz,第一个单词首字母小写,之后的首字母大写
常量名:XXX_YYY_ZZZ,所有字母大写,多单词下划线隔开
-
代码需要做到==见名知意==,起名时要考虑阅读性,此外,不建议使用汉字。
以上的这些命名规范有助于代码的整洁,但并不是强制的规定。
3变量
3.1变量的概念和基本语法
变量指的是可以==不断变化==的数据,这个大家都懂,但我想说的更具体一些,变量也有一定的规则,其作为程序中==最基本的存储单元==,主要包括==变量类型(数据类型)、变量名和存储的值==。相关语法如下
- 声明变量:<变量类型> <变量名称>
- 变量赋值:<变量名称> = <值>
- 声明和赋值变量:<变量类型> <变量名称> = <值>
我们将上面的"helloworld"代码稍作改动:
class HelloWorld{
public static void main(String[] args){
String variableTest = "helloworld";
System.out.println(variableTest);
}
}
上述代码中,variableTest即为一个变量,首先,java需要在内存中找==一个存储区域==存放它;其次,它被String(字符串)限制,它只能按照字符串这种类型命名,也就是说,variableTest的==变化只能在限定好的那种类型范围内==。
而变量的作用就是==在内存中保存数据==,使用变量时有以下的一些注意点:
- java中的每个变量必须==先声明,后使用==,声明指的就是,先写变量类型,比如上述代码中"String"相当于一个声明。也可以按如下的方式声明使用:
class HelloWorld{
public static void main(String[] args){
String variableTest;
variableTest= "helloworld";
System.out.println(variableTest);
}
}
- 我们可以==使用变量名来访问这块区域中的数据==,比如上述代码最后一行println(variableTest),括号里即为变量名,其代表的就是"helloworld"。
- 变量存在作用域,往往变量的==有效范围即为其所在的{}内==,超过这个作用域就会无效;
- 在==同一个作用域内,不能定义重名的变量==。