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

那么什么时表达式/算术运算呢?

使用运算符连接的变量或字面值,并可以得到一个最终结果;

 

 

posted @ 2018-03-25 21:09  一股清流~  阅读(188)  评论(0)    收藏  举报