Java入门基础之Java的基本语法与Java所支持的数据类型
java 应用程序可以被定义为对象的集合,这些对象通过调用各自的方法来进行通信。下面让我们具体看一看类,对象,方法,实体变量是什么含义。
对象:对象具有状态和行为。例如:狗有它的状态—颜色,名字,品种,同时也有行为—摇尾巴,汪汪叫,吃东西。对象时类的一个实例。
类:类可以被定义为描述对象所支持的类型的行为和状态的模板或蓝图。
方法:方法是一种基本的行为。类中可以包含很多方法。在方法中,可以编写逻辑,操纵数据,执行动作。
实体变量:每个对象都有它的特殊的实体变量的集合,一个对象的状态是由那些实体变量所被赋的值所决定的。
第一个 java 程序
让我们看一下下面可以输出 “hello world” 的代码。
public class myfirstjavaprogram { /* this is my first java program. * this will print 'hello world' as the output */ public static void main(string []args) { system.out.println("hello world"); // prints hello world } }
让我们看一下如何保存这个文件,编译运行这个程序。请按照以下步骤操作:
打开记事本添加上述代码
以 myfirstjavaprogram.java 为文件名保存文件
打开命令提示符窗口转到你保存类的位置。假设是 c:\
在窗口中输入 javac myfirstjavaprogram.java 然后按回车来编译你的代码。如果你的代码没有错误,那么命令提示符将会转到下一行(假设:路径变量设置成功)。
现在输入 java myfirstjavaprogram 来运行你的程序
你将会看到屏幕上显示 “hello world”
c : > javac myfirstjavaprogram.java c : > java myfirstjavaprogram
hello world
基本语法
关于 java 程序,记住一下几点很重要。
大小写敏感性: java 是一种大小写敏感的语言,这就意味着 hello 和 hello 在 java 中代表不同的意思。
类的命名:所有类的名称首字母必须大写。
如果类名称中包含几个单词,那么每个单词的首字母都要大写。
例如类 myfirstjavaclass
方法的命名:所有方法名称必须以小写字母开头。
如果方法名称中包含几个单词,那么其中的每个单词的首字母都要大写。
例如 public void mymethodname()
程序文件名:程序的文件名必须和类的名称准确匹配。
但保存文件时,你应当以类的名称保存(注意区分大小写),并在文件名后加 .java 的后缀(如果文件名和类名不匹配那么将无法编译你的程序)。
例如:假设类名是 myfirstjavaprogram,那么文件名就应该是 myfirstjavaprogram.java。
public static void main(string args[]):java 程序都是从 main() 方法开始处理的,这个方法是 java 程序的强制性的部分。
java 标识符
java 的所有的组成部分都要有自己的名称。类、变量和方法的名称称为标识符。
在 java 中,需要记住关于标识符的一下几点。如下:
所有标识符必须以字母( a 到 z 或者 a 到 z )、货币字符( $ )或者下划线( _ )开头。
在第一个标识符之后可以有任意字母组合。
关键字不能被用作标识符。
大多数标识符需要区分大小写。
合法标识符的例子: age, $salary, _value, __1_value
非法标识符的例子: 123abc, -salary
java 修饰符
如其语言一样,方法和类等等是可以通过修饰符修饰的。java 中有两种修饰符:
访问修饰符:default, public , protected, private
非访问修饰符:final, abstract, strictfp
我们将在下一节继续学习修饰符相关知识。
java 关键字
下面列出的是 java 中保留的关键字。这些关键字不能用作常量、变量和其他标识符的名字。
关键字 | 关键字 | 关键字 | 关键字 |
---|---|---|---|
abstract | assert | boolean | break |
byte | case | catch | char |
class | const | continue | default |
do | double | else | enum |
extends | final | finally | float |
for | goto | if | implements |
import | instanceof | int | interface |
long | native | new | package |
private | protected | public | return |
short | static | strictfp | super |
switch | synchronized | this | throw |
throws | transient | try | void |
volatile | while |
java 中的注释
java 像 c 和 c++ 一样支持单行或多行注释。所有注释中的字母都会被 java 编译器忽略。
public class myfirstjavaprogram{ /* this is my first java program. * this will print 'hello world' as the output * this is an example of multi-line comments. */ public static void main(string []args){ // this is an example of single line comment /* this is also an example of single line comment. */ system.out.println("hello world"); } }
使用空行
一行只有空格的行可能是注释,这样的行叫做空行,java 会完全忽略它。
基本数据类型
变量就是用来储存值而保留的内存位置。这就意味着当你创建一个变量时就会在内存中占用一定的空间。
基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。
java 中有两种有效地数据类型:
- 原始数据类型
- 引用数据类型
- 原始数据类型
java 支持 8 种原始数据类型。原始数据类型是由该语言预先定义的并用关键词命名的。下面让我们深入学习一下这 8 种数据类型。
字节型(byte)
字节型是一种 8 位有正负的二进制整数
- 最小值是 -128(-2^7)
- 最大值是 127(2^7-1)
- 默认值为 0
字节型数据类型主要是为了在大型数组内节省空间,主要是替代整数由于字节型比整数小 4 倍。
例如:byte a = 100 , byte b = -50
短整数(short)
短整数是一种 16 位有正负的二进制整数
- 最小值是 -32768(-2^15)
- 最大值是 32767(2^15-1)
短整数类型的数据也可以像字节型一样用于节省空间。短整数比整数小两倍
- 默认值为 0
例如:short s = 10000, short r = -20000
整数型(int)
整数型是一种 32 位有正负的二进制整数
- 最小值是 - 2,147,483,648(-2^31)
- 最大值是 2,147,483,647(2^31 -1)
整数型一般默认被应用于整数值除非担心内存不够用。
- 默认值为 0
例如:int a = 100000, int b = -200000
长整型(long)
长整型是一种 64 位有正负的二进制整数
- 最小值是 -9,223,372,036,854,775,808(-2^63)
- 最大值是 9,223,372,036,854,775,807 (2^63 -1)
这种数据类型一般是在需要比整数型范围更大时应用。
- 默认值为 0l
例如:long a = 100000l, int b = -200000l
浮点型(float)
浮点型数据是一种单精度的 32 位 ieee 754 标准下的浮点数据。
浮点型数据主要是为了在大型浮点数字数组中节约内存。
- 默认值是 0.0f。
浮点型数据不能用于如货币这样的精确数据。
例如:float f1 = 234.5f
双精度型(double)
双精度型数据是一种双精度的 64 位 ieee 754 标准下的浮点数据。
这种数据类型主要是默认被用于表示小数的值,一般是默认的选择。
双精度型数据不能用于如货币这样的精确数据。
- 默认值是 0.0d
例如:double d1 = 123.4
布尔型(boolean)
布尔型数据代表一个信息比特。
它只有两个可能的值:真(true)和假(false)
这种数据类型用于真假条件下的简单标记。
- 默认值是假(false)
例如:boolean one = true
字符型(char)
字符型数据是简单的 16 位 unicode 标准下的字符。
- 最小值是: '\u0000' (或 0)。
- 最大值是: '\uffff' (或 65,535 )。
字符型数据可以用来储存任意字母。
例如: char letter a(字符型的字母a) ='a'
引用数据类型
引用数据类型是由类的编辑器定义的。他们是用于访问对象的。这些变量被定义为不可更改的特定类型。例如:employee, puppy 等等。
- 类对象和数组变量就是这种引用数据类型。
- 任何引用数据类型的默认值都为空。
- 一个引用数据类型可以被用于任何声明类型和兼容类型的对象。
例如:animal animal = new animal("giraffe");
java 常量
常量是代表固定值的源代码。他们直接以代码的形式代表而没有任何估计。
常量可以被分配给任意的原始变量类型。例如:
byte a = 68; char a = 'a'
字节型,整数型,长整型和短整型也可以由十进制,十六进制和八进制计数系统表示。
当用这些技术系统表示直接量时,前缀 0 是为了标明八进制,前缀 0x 是为了标明十六进制。例如:
int decimal = 100; int octal = 0144; int hexa = 0x64;
java 中的字符串型常量的规定和其他大多数语言一样,也是要写在双引号中间。字符串型直接量的例子如下:
"hello world" "two\nlines" "\"this is in quotes\""
字符和字符串型常量可以包含任意的 unicode 字母。例如:
char a = '\u0001'; string a = "\u0001";
java 语言也支持一些特殊的转义序列的字符和字符串直接量。他们是:
转义字符 | 含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页 (0x0c) |
\b | 退格 (0x08) |
\s | 空格 (0x20) |
\t | tab |
\" | 双引号 |
\' | 单引号 |
\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 十六进制 unicode 字符 (xxxx) |