java语法基础(2)
java语法基础(2)
在java语法基础(1)中我们介绍了Java的安装以及如何执行java程序,在java语法基础(2)中我将按照以下目录介绍java的基础语法。
目录:
1. 定义类有什么要求
2. Package
3. 标识符
4. 变量
5. 数据类型
1. 定义类有什么要求:
1.1 在.java源文件中,可以定义多个类,每个类编译后都会生成独立的.class字节码文件
1.2 在一个类中,只能有一个main函数,每个类都可以有自己的主函数
1.3 一个源文件中最多只能有一个公开类(public class),并且公开类的类名必须和源文件名称一致
对于一个Java源文件中只允许我们有一个public class 并且源文件名字要和此类相同,这里我们可以理解为这是一个设计规范。 Java编程思想中的一段话:
当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元)。每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要用来为主public类提供支持。
所以我们可以理解为这是一个规范,另外在同一个java源文件中,除了public 这个类,
其它的类主要是用来提供支持,所以我们一般不在其它类中写main函数
2. Package :
Package其实就是一个文件夹,它的主要作用是进行类的管理和区分。
语法: package 包名 ; 必须放在源文件的第一行
我们通过 javac –d . 源文件名称.java进行编译,此过程会自动生成目录结构
通过 java 全限定名.类名进行运行
3. 标识符:
标识符就是用于给java程序中变量、类、方法等命名的符号。
3.1 硬性规定:[语法要求:]
标识符只能由数字、字母、_(下划线)、$ 组成,并且不能以数字开头
不能与关键字、保留字重名,java中严格区分大小写
3.2 软性规定:
软性规定即我们的命名习惯,在满足标识符硬性规定的前提下,我们习惯的命名方式是望文生义,见名知意。
类名可以由一个或多个单词组成,每个单词的首字母大写
函数和变量名可以由一个或多个单词组成,首单词字母小写,拼接的单词首字母大写
包名全小写,只可以使用特殊符号 . 并且 . 不能放在开头或结尾。
常量全大写,多个单词用_进行连接
4. 变量
计算机中的一块内存空间,它是存储数据的基本单元
如何定义变量:先声明在赋值
声明同时并赋值 [常用]
注:局部变量必须先赋值后使用
5. 数据类型:
基本数据类型(又称简单数据类型或者原始数据类型)
I. 整数类型:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
II. 浮点数类型:
float 4个字节
double 8个字节
III. 字符类型:
char 2个字节
IV. 布尔类型:
boolean 1个字节
引用数据类型(又称对象数据类型)
I. 字符串: String
数据类型转换分为两种:
1. 自动类型转换:两种类型相互兼容,目标类型大于源类型。
2. 强制类型转换:两种类型相互兼容,目标类型小于源类型,使用(目标类型)强转。
注:自动类型提升 (在进行表达式/算数运算时涉及到自动类型提升) 规则如下:
• 两个操作数有一个为 double ,计算结果提升为 double 。
• 如果操作数中没有 double ,有一个为 float ,计算结果提升为 float 。
• 如果操作数中没有 float ,有一个为 long ,计算结果提升为 long 。
• 如果操作数中没有 long ,有一个为 int ,计算结果提升为 int 。
• 如果操作数中没有 int ,均为 short 或 byte ,计算结果仍旧提升为 int 。
• 特殊:任何类型与 String 相加(+ + )时,实为拼接,其结果自动提升为 String
那么什么时表达式/算术运算呢?
使用运算符连接的变量或字面值,并可以得到一个最终结果;