Java笔记 - 基础语法简介

一、Java语言简介

       JAVA是一种面向对象的程序设计语言,为不同级别的开发划分为J2SE、J2EE(Java Web)、J2WE三种平台,可以进行桌面应用编程、WEB客户端编程、WEB服务器编程、手机编程(J2ME或者现在的Android系统上开发应用程序)、机器人编程等。

1、Java语言的发展

        计算机语言向着功能更加强大、人更易使用的方向发展。编程语言的发展时期可以划分为机器语言、汇编语言(符号语言)、面向过程、面向对象以及SQL语言。      

      JAVA的前身是有SUN公司的James Gosling负责的Green项目,目的是打造一个分布式的、可以在各种消费类电子产品(如电视机顶盒、微波炉)使用的系统架构,这就要求编程语言要具有中立性、跨平台性,但很遗憾消费类电子产品并没有高速的发展起来。

      随着互联网爆发式的发展,人们急需一种具有跨平台特性的语言在各种平台上运行,而SUN此时发布的JDK1.2正符合这种需求。使用JAVA编写的applet程序给了90年代的人们极大的震撼,于是JAVA迎来了他的黄金时代!

          image   image

2、Java语言的特性

(1)简单性、安全性

        JAVA属于类C语言,但去除了C/C++的中关于头文件、指针、结构、联合、操作符重载、虚基类等操作,不仅简化了语法,还提高了JAVA语言的安全性,使Java适合于网络/分布式环境开发,并可以构建防病毒,防篡改的系统。

(2)可移植性强【核心特性】

        JAVA语言具有很强的跨平台特性,可以运行于不同的操作系统上,实现“一次编译、处处执行”。如:JAVA的int类型永远都是4B,不像C/C++可能是4B或2B(具体是由编译器厂商规定)。

(3)健壮性

      Java是一种健壮的语言,吸收了C/C++ 语言的优点,去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)保证每次对内存的访问都是合法的。此外,还使用异常机制对例外进行处理。

(4)运行效率高

         JIT(JUST IN TIME)即时编译,可以将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样可以将JAVA程序的执行效率大大提高,某些代码的执行效率甚至可以接近C++的执行效率(编译代码)。

(5)分布式

      JAVA是为Internet的分布式环境设计的,因为他能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,remote method Invocation),使程序能够通过网络调用方法。

(6)动态性

       动态性是一个非常重要的特性,反射机制可以在需要时将某些代码添加到正在运行的程序中。Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的

(7)多线程

      多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。 

3、JDK与IDE

(1)JDK与JRE

      JDK(JAVA Development Kit)不仅包含java运行时环境JRE(JAVA Runtime Environment)的超集,还为开发者还提供了javac、java、javadoc、jar等编译器及其他一些开发工具。

     Java Runtime Environment (JRE) 包含执行字节码文件的JVM(JAVA Virtual Machine)、库函数、运行Java应用程序和Applet所必须文件。java运行环境具有加载代码(class loader)、校验代码(bytecode verifier )和 执行代码(runtime interpreter)等功能。

                      image

(2)配置环境变量   

     配置系统环境变量Path:执行dos命令时,系统会在path(静态+临时)指定的路径中寻找该命令的执行文件。需要在最前面追加【.;% JAVA_HOME %\bin;】。其中:JAVA_HOME是jdk安装目录;分号用于将多个目录分开,目录值中不能加分号;点号表示当前目录。

    配置CLASSPATH路径:如果使用jdk1.5以上就不需要配置这个环境变量!JRE会自动搜索当前路径下的类文件及相关jar文件。

    运行cmd输入命令【java  –version】,若出现如下结果,则通过表明JDK安装成功。

     image

(3)IDE开发环境

                                           image

注:eclipse快捷键:① sysout + (alt +/)输出System.out.println()

4、JVM虚拟机

       JAVA的跨平台实现的核心是为不同的操作系统提供不同的JVM。JVM屏蔽了底层运行平台的差别,为上层提供了统一的字节码(byte-code代码是与平台无关的是虚拟机的机器指令)执行环境,实现了“一次编译,随处运行”。

       JVM(JAVA Virtual Machine)一种规范,是指在一台计算机上由软件或硬件模拟的用于虚拟执行字节码文件的计算机,类似一个小巧而高效的CPU。定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域等。IBM、SUN、BEA、Intel等都有为不同的操作系统提供不同的JVM或java芯片(正在研发),甚至自己也可以根据JVM规范编写一个JVM。

       JVM负责将java字节码Interpreter(解释)运行,边解释边运行,这样速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time,即时编译),就是由代码生成器将“热点’”字节码一次性解释转换成可以较高速度的运行在特定平台上的本地机器码,并将结果缓存起来,下次直接从内存中调,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。

                                    clip_image003_thumb

二、运算符与表达式

1、基本字符集

       最早的字符集是ISO8859-1(1字节)用于表示西欧字符集,随着计算机的发展,台湾使用BIG5(大五码)表示繁体汉字;大陆使用GB2312简体中文字符集,GBK是GB2312的扩展,可以表示繁体中文,GB18030是最新的GBK扩展,可以表示汉字‘维吾尔文、藏文等。  

      Unicode(2字节)是国际通用的字符集,可以表示各国所有常用的字符。UTF-8是变长字符串,存储时仍采用2B,但在网络数据传输时,对于西欧字符占1B,汉字占2B;UTF-16目前未出。

    JAVA采用的时Unicode字符集(而非通常的ASCII字符集)。

2、关键字

       JAVA关键字又称保留字,是JAVA语言内部保留使用的标识符,如:class

               image

3、标识符

    JAVA标识符以 下划线 和 美元符 $开头,由下划线、美元符$、数字组成。JAVA标识符大小写敏感、长度无限制,但不可以与关键字相同。建议在命名标识符的时,采用 “见名知意’‘和“驼峰原则”、不使用汉字定义标识符。

  1 int   1a;        //不能以数字卡头
  2 int    a#;        //不能含有特非法字符
  3 int   class// 不能使用关键字命名
  4 int   变量;     //正确,但不建议使用汉字定义标识符
  5 

注释符:单行注释符://   多行注释符:/* */     javadoc:/** */

4、运算符

(1)除法运算符

(2)取余运算符

(3)自增运算符

(4)比较运算符

(5)逻辑运算符

(6)复合运算符

(7)运算符的优先级

           image

三、基本数据类型


                  image

1、整型类型

       不含小数点的数值称为整型常数默认使用int类型存储,有以下四种表示形式:

                十进制数,如:100、45、0

                八进制数,要求以数字0开头,如:025

                十六进制数,要求以0x或0X开头,如:0X2A

                二进制数:要求以0b开头,如:0b101

    clip_image002

注:若数值超出以上类型的表示范围,建议使用BigInteger存储数据

2、浮点类型

       含有小数点的数值称为浮点数,如:2.0、2. 等 。默认使用double类型存储。

                      image

(1)使用浮点数存储数据存在着舍入误差

       很多浮点数不能精确地表示,如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

  1 float f = 0.1f;        //0.1默认是double,要赋予float类型需进行强制类型转换
  2 double d = 7. / 6      //会自动四舍五入,产生误差

(2)比较浮点数大小


3、字符类型


4、布尔类型


5、类型声明与定义

        JAVA是一种强类型的语言,每一个变量必须声明其类型。

(1)定义long类型常量

       JAVA语言整型常数默认为int类型。对于超出int可以表示范围的数,可以使用 l 或 L (建议使用大写)声明l为long型常量

  1 long a = 55; //正确,int表示的范围是21亿内
  2 long b = 22_2222_2222; //error,已经超过int的存储范围,需要在后面加上 L 将整型常数定义为long类型

6、数据类型转换

byte a = 256; // error,赋值的数值不可超出类型的表示范围的

四、流程控制语句

1、main入口

  1  public class Main {
  2  public static void main(String[] args) {
  3                  System.out.println("HelloWord");
  4          }
  5  }

      注:① main方法是java程序的入口,具有固定的书写格式。

             ② java语句可以跨行编写,但每个语句都必须以分号结束。编辑器会忽略空格、换行符和注释。

             ③ 花括号{ }划分程序的各个部分,任何方法的代码都必须以 { 开始,以 } 结束。

             ④ 一个类对应一个字节码文件; public修饰的类必须与文件名保持一致    

2、条件选择语句


3、循环语句


4、跳转语句


5、函数与参数

posted @ 2018-01-11 16:42  苏贺  阅读(261)  评论(0编辑  收藏  举报