小白必拿教程——Java基本入门语法大汇总

开课吧开课吧锤锤2021-06-15 11:03

    Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。

Java

    1995年更名为Java,并重新设计用手开发Internet应用程序。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另—方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)。

    组成

    Java由四方面组成:

    Java编程语言。

    Java文件格式。

    Java虚拟机(JVM)。

    Java应用程序接口(JavaAPI)。

    体系

    Java分为三个体系

    JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版),

    JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版),

    JavaME(J2ME)(Java2PlatformMicroEdition,java平台微型版)。

    优势

    写传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以方计的Java开发公司被要求所设计的Java软件必须相互兼容。"Java语言靠群体力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件并发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

    Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全写系统无关、司移植、高性能、多线程和动态的语言。

    Java平台基于Java语言的平台。这样的平台非常流行。因此微软公司推出了竟争的.NET平台以及模仿Java的C#语言。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。

    基本概念

    1、抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。

    2、final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类写最终类不能同时修饰尚一个类。

    3、包:Java中的包是相关类和接口的集合,创建包须使用关键字package。

    4、多态类:在java中,对象变量是多态的。而java中不支持多重继承。

    5、接口:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不向的类实现,而这些实现可以具有不同的行为(功能)。

    6、Java中的每一个类都是从Object类扩展而来的。

    7、object类中的equal和toString方法。

    8、equal用于测试一个对象是否同另一个对象相等。

    9、toString返回一个代表该对象的字符串,每一个类都会从Object类继承该方法,有些类重写了该方法,以便返回当前状态的正确表示。(toString方法是一个很重要的方法)。

    10、通用编程:任何类类型的所有值都可以同object类型的变量来代替。

    11、封装:就是把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instancefield)。

    12、重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须挑选出调用哪个方法进行编译。

    13、重写:也可称为方法的“覆盖。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。值得注意的是,子类在重新定义父类已有的芳法时,应保持写交类完全相同的方法头声明。

    14、数组列表:ArrayList动态数组列表,是一个类库,定义在java.util包中,可自动调节数组的大小。

    15、class类object类中的getclass方法返回class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所肴类,每一个加载的类都要加载它需要的类。

    基本语法

    编写Java程序时,应注意以下几点:

    1、大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不向的。

    2、类名:对于所有的类来说,类名的首字母应该大写。如果类名由若千单词组成,那么每个单词的首字母应该天写,例如MyFirstJavaClass。

    3、方法名:所有的方法名都应该以小写字母开头。如果方法名含有若千单词,则后面的每个单词首字母大写。

    4、源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的).,_文件名的后缀为.Java。(如果文件名和类名不相同则会导致编译错误)。

    5、主方法入口:所有的Java程序由publicstaticvoidmain(Stringlargs)方法开始执行。

    关键字

    下面列出了Java关键字。这些关键字不能用于常量、变量、和任何标识符的名称。

    Java关键字

访问控制

private

protected

public

           

类,方法和变量修饰符

abstract

class

extends

final

implements

interface

native

new

static

strictfp

synchronized

transient

volatile

         

程序控制

break

continue

return

do

while

if

else

for

instanceof

switch

case

default

           

错误处理

try

catch

throw

throws

         

包相关

import

package

             

基本类型

boolean

byte

char

double

float

int

long

short

null

true

false

             

变量引用

super

this

void

           

保留字

goto

const
 

             
关键字 含义
abstract 表明类或者成员方法具有抽象属性
assert 用来进行程序调试
boolean 基本数据类型之一,布尔类型
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表示其中的一个分支
  
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class
const 保留关键字,没有具体含义
continue 回到一个块的开始处
default 默认,例如,用在switch语句中,表明一个默认的分支
do 用在do-while循环结构中
double 基本数据类型之一,双精度浮点数类型
else 用在条件语句中,表明当条件不成立时的分支
enum 枚举
extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float 基本数据类型之一,单精度浮点数类型
for 一种循环结构的引导词
goto 保留关键字,没有具体含义
if 条件语句的引导词
implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包
instanceof 用来测试一个对象是否是指定类型的实例对象
int 基本数据类型之一,整数类型
interface 接口
long 基本数据类型之一,长整数类型
native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new 用来创建新实例对象
package
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式
return 从成员方法中返回数据
short 基本数据类型之一,短整数类型
static 表明具有静态属性
strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super 表明当前对象的父类型的引用或者父类型的构造方法
switch 分支语句结构的引导词
synchronized 表明一段代码需要同步执行
this 指向当前实例对象的引用
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块
void 声明当前成员方法没有返回值
volatile
  
表明两个或者多个变量必须同步地发生变化
while
  
用在循环结构中 

    经典入门程序

public class hello{
  public static void main(String[] args){
      System.out. printIn("hello,world");
  }
}

    注释

    注释的作用是标识程序是干什么的,以及它是如何构建的。注释帮助程序员进行相互沟通以及理解程序。注释不是程序设计语言,所以编译器编译程序时是忽略它们的。

    变量

    定义:程序运行期间,内容可以发生改变的量。(变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。)

    内存中的一个存储区域

    该区域的数据可以在同一类型范围内不断变化

    变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

    Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。

    变量的作用:用于在内存中保存数据

    使用变量注意:

    Java中每个变量必须先声明,后使用(变量必须要声明且初始化后才能使用。)

    使用变量名来访问这块区域的数据

    变量的作用域:其定义所在的一对{}内

    变量只有在其作用域内才有效

    同一个作用域内,不能定义重名的变量

    变量的声明方法:

    第一种:

    声明变量语法:<数据类型><变量名称>例如:intvar;

    变量的赋值语法:<变量名称>=<值>例如:var=10;

public class Test {
  public static void main(String[] args) {
        String s;
        System.out.println("s = " + s); 
    }
}
//结果:编译不通过,使用变量s之前并未赋值过s

    第二种:

    声明和赋值变量语法:<数据类型><变量名>=<初始化值>例如:intvar=10;

    变量的分类-按数据类型

    对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。

    数据类型:只有2种基本数据类型和引用数据类型

    基本数据类型(4类8种)

    整数型byte(1个字节)short(2个字节)int(4个字节)long(8个字节)默认类型int

    浮点型(就是小数)float(4个字节)double(8个字节)默认类型double

    字符型char(2个字节)

    布尔型boolean(1个位而非一个字节)

    整数类型:byte、short、int、long

Java

    Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证Java程序的可移植性。

    Java的整型常量默认为int型,声明long型常量须后加‘l’或‘L’

    Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

    bit:计算机中的最小存储单位。byte:计算机中基本存储单元。

    浮点类型:float、double

    浮点型常量有两种表示形式:

    十进制数形式:如:5.12512.0f.512(必须有小数点)

    科学计数法形式:如:5.12e2512E2100E-2

    float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。

    double:双精度,精度是float的两倍。通常采用此类型。

    Java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

Java

    浮点型:float(4字节)\double(8字节)

    float表示数值的范围比long还大

    字符类型:char

    char型数据用来表示通常意义上“字符”(2字节)

    Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。

    字符型变量的三种表现形式:

    字符常量是用单引号('')括起来的单个字符。

    例如:charc1='a';charc2='中';charc3='9';

    tips:也可以使用unicode码定义变量

char c4=97;//实际开发中非常少见

    Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:charc3=‘\n’;其中'\n'表示换行符

    直接使用Unicode值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a表示\n。

    char类型是可以进行运算的。因为它都对应有Unicode码。

    布尔类型:boolean

    boolean类型用来判断逻辑条件,一般用于程序流程控制:

    boolean类型数据只允许取值true和false,无null这个值。

    不可以使用0或非0的整数替代false和true,这点和C语言不同。

    注意事项:

    字符串不是基本类型,而是引用类型。

    浮点型可能只是一个近似值,并非精确的值。

    数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。

    浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。

    如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

    常量

    定义:是指在Java程序中固定不变的数据。

    常量的分类:

    字符常量:单引号引起来,只能写一个字符,必须有内容。例如:’A’、’9’、’中’、

    注:字符常量中有且仅有1个字符,空格都行;将一个数字、字母或者符号用单引号’’标识。

    字符串常量:双引号引起来,可以写多个字符,也可以不写。例如:”abc”、”你好”、”12”、""

    注:字符串常量中可以是任意个,可以是0个;将一个或多个字符用双引号””标识。

    整数常量:所有的整数。例如:100、0、-20

    浮点数常量:所有的小数。例如:2.5、-3.14、0.0

    布尔常量:只有量中取值。只有true、false两种。

    空常量:只有一个值null。代表没有任何数据。

System.out.println(null);//错误!!!注意空常量不能直接用来打印输出

    Java特点

    语言特征

    Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易弓|起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

    Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了"-次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能。

    编辑Java源代码可以使用任何无格式的纯文本编辑器,在Windows操作系统上可以使用微软记事本(Notepad)、EditPlus等程序,在Linux平台上可使用vi工具等。

    主要特性

    1、Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

    2、Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

    3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

    4、Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

    5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

    6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

    7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。

    8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

    9、Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

    10、Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成-个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是‘Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

    11、Java语言是动态的。Java语言的设计目标之-是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

    12、Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译-一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

    差异

    熟悉C语言和C++语言的读者一-定想搞清楚这个问题,实际上,Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言、C++语言完全相同。尽管如此,Java和C语言,C++语言又有许多差别,主要表如下几个方面:

    (1)Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变。程序运行中Java系统自动对内存进行扫描,对长期不用的空间作为"垃圾进行收集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致系统出问题。而C语言通过malloc()和free()这两个库函数来分别实现分配内存和释放内存空间的,C+语言中则通过运算符new和delete来分配和释放内存。在C和C++这种机制中,程序员必须非常仔细地处理内存的使用问题。一方面,如果对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源,甚至因此造成资源枯竭。

    (2)Java不在所有类之外定义全局变量,而是在某个类中定义一一种公用静态的变量来完成全局变量的功能。

    (3)Java不用goto语句,而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能。

    (4)Java不支持头文件,而C语言和C++语言中都用头文件来声明类的原型、全局变量、库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂。

    (5)Java不支持宏定义。Java只能使用关键字final来定义常量。

    (6)Java对每种数据类型都分配固定长度。比如,在Java中,int类型总是32位的,而在C语言和C++语言中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即16位,而在VAX-11中,则为32位。这使得C语言造成不可移植性,而Java则具有跨平台性(平台无关性)。

    (7)类型转换不同。在C语言和C++语言中,可通过指针进行任意的类型转换,常常带来不安全性,而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。

    (8)结构和联合的处理。Java中根本就不允许类似C语言的结构体(struct)和联合体(union)包含结构和联合,所有的内容都封装在类里面。

    (9)Java不再使用指针。指针是C语言和C++语言中最灵活,也最容易产生错误的数据类型。由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C++中的私有成员,从而破坏安全性。而Java用“引用”的方式,对指针进行完全地控制,程序员不能直接进行任何指针操作。

    (10)避免平台依赖。Java语言编写的类库可以在其它平台的Java应用程序中使用,而不像C++语言必须运行于单一平台。

    (11)在B/S开发方面,Java要远远优于C++。

    优劣势

    优势:Java适合团队开发,软件工程可以相对做到规范。由于Java语言本身的极其严格语法的特点,Java语言无法写出结构混乱的程序。这将强迫程序员的代码软件结构的规范性。这是一个很难比拟的优势。

    劣势:j2ee的架构很完美,第一版软件可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不足,持续的修修补补导致架构的破坏。

    以上就是小编为大家整理的的“小白必拿教程——Java基本入门语法大汇总”一文,更多Java教程相关内容尽在开课吧广场Java教程频道!

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享