Microsoft . 技术之路...

—— 专注于微软技术, 分享是快乐的源泉......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java 基本语法

Posted on 2006-03-09 14:00  赣江源  阅读(581)  评论(0编辑  收藏  举报
Java 基本语法(一)——数据类型
  Java语言是一种严格的“类型化”语言。这意味着每个变量都必须有一个声明好的类型。Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。Java另外还提供大数字对象,但它不是Java的数据类型。
  1、整数:
  定义:没有小数部分的数字,负数是允许的。
  种类:Java提供四种整数类型:
  int 4个字节 -2,147,483,648到2,147,483,647
  hort 2个字节 -32,768到32,767
  long 8个字节 -9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
  byte 2个字节 -128到127
  2、浮点数:
  定义:含有小数部分的数字。
  分类:Java提供两种浮点数:
  float 4个字节 约+—3.40282347E+38F(6~7个有效的十进制数位)
  double 8个字节 约+-1.79769313486231570E+308(15个有效数位)
  说明:
  1)float类型的数值有个后缀:F,如果没有后缀F,那么默认为double。double类型的数值也可以使用后缀D。
  2)当这些数字遇到取值范围错误时,会发生(上溢Overflow);而在遇到象被零除时,会发生下溢(Underflow)。
  3、字符类型:
  定义:单引号用来表示char常量,
  说明:
  1)双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
  2)char类型表示Unicode编码方案中的字符。
  Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在'\u0000'到'\uFFFF'之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值。
  3)在Java中除了用这个\u的形式来表示字符外,还可以使用换码序列来表示特殊字符。
  \b 退格 \u0008
  \t Tab制表 \u0009
  \n 换行 \u000a
  \r 硬回车 \u000d
  \" 双引号 \u0022
  \' 单引号 \u0027
  \ 反斜杠 \u005c
  4)理论上在Java的应用程序和小应用程序中使用Unicode字符,但至于他们是否能真正显示出来,却要取决于使用的浏览器和操作系统,其中操作系统是最根本的。
  4、布尔类型:
  boolean类型只有两个值:false和true,用过其他编程语言的朋友肯定对它们并不陌生。
  
Java 基本语法(二)——变量和常量

1、变量:
  定义:相信对于它的定义应该不用在说了:)大家应该已经熟悉又熟悉了。
  例如:
  a,a1,name等都是合法的变量。
  说明:
  1)Java要求在使用一个变量之前要对变量的类型加以声明。
  2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。
  3)变量的命名规则:
  变量必须以一个字母开头。
  变量名是由一系列字母或数位的任意组合。
  在Java中字母表示Unicode中相当于一个字母的任何字符。
  数位也包含0-9以外的其他地位与一个数位相当的任何Unicode字符。
  +、版权信息符号圈C和空格不能在变量名中使用。
  变量名区分大小写。
  变量名的长度基本上没有限制。
  如想知道Java到目前位置认为哪些Unicode字符是字母的话,可以使用Character类中的isJavaIdentifierStart以及isJavaIdentifierPart方法进行检查。
  变量名中不能使用Java的保留字。
  4)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。
  2、变量的赋值和初始化:
  变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。
  例如:
  int a =10; //这就是一个变量初始化的过程
  下面两条语句的功能和上面一条的功能相同,只是这里将变量的声明和赋值分开来进行的。
  int a;
  a =10; //在赋值语句的结尾应该是用分号来结束。
  说明:
  1)在Java中绝对不能出现未初始化的变量,在使用一个变量前必须给变量赋值。
  2)声明可以在代码内的任何一个位置出现,但在方法的任何代码块内只可对一个变量声明一次。
  3、常量:
  定义:值不变的量称为常量。
  例如:
  1,“hello”
  说明:
  1)在Java中使用final关键字来定义一个常数。
  int final a=10; //声明了一个整型常量a,它的值是10。
  2)习惯上将常量的名字统统大写。
  

Java 基本语法(三)——运算符和类型转换

1、运算符:
  1)Java语言中,常用的运算符包括:+,-,*,/,这些就不用说了,大家肯定很熟悉了。
  2)幂:Java没有乘幂运算符,必须使用Math.pow(x,a)方法,表示x的a次幂。pow方法的两个参数都属于double类型,返回的值也是double类型。
  例如:
  double a = Math.pow(10,3); //定义了一个变量a,它的值是10的3次幂。
  3)递增、递减运算符:
  a++,a-- 先使用变量的值,然后再递增或递减。
  ++a,--a 先递增或递减然后再使用变量的值。
  4)关系和布尔运算符:
  关系运算符:==,!=,<,>,<=,>=
  布尔运算符:&&(与), ||(或), !(否)
  5)按位运算符:
  &(加),|(或),^(异或),~(否),>>向右移位,<<(向左移位),> >>(用零来填充位于顶部的位)
  注意Java没有<<<运算符。
  6)括号和运算符分级:
  在Java中各种运算符默认的计算顺序是:
  [],()(方法调用) 从左到右
  ! ~ ++ -- +(一元) -(一元) () (造型) new 从右到左
  + / % 从左到右
  + - 从左到右
  << >> > >> 从左到右
  < <= >= > instanceof 从左到右
  == != 从左到右
  & 从左到右
  ^ 从左到右
  | 从左到右
  && 从左到右
  || 从左到右
  ?: 从左到右
  = += -= *= /= &= |= ^= <<= >>= . >>= 从右到左
  在Java中可以使用括号来指定自己希望的计算顺序,从而改变运算符默认的运算顺序。
  2、数值类型的互相转换:
  当不同数据类型的数据参加运算的时候,会涉及到不同的数据类型的转换问题:
  Java语言数据类型的转换基本上按照下面的规则进行:
  如果其中一个运算对象是double类型的,另一个也会被转换成double类型。
  否则,如果其中一个运算对象是float类型的,另一个也会被转换成float类型的。
  否则,如果其中一个运算对象是long类型的,另一个也会被转换成long类型的。
  否则,如果其中一个运算对象是int类型的,另一个也会被转换成int类型的。
  否则,如果其中一个运算对象是short类型的,另一个也会被转换成short类型的。
  类型转换还可以通过“造型”来实现,语法很简单,将目标类型放在括号里,然后在后面跟上一个变量名就可以了。
  例如:
  double x = 9.99;
  int nx=(int)x; //这时nx就是一个int类型的数据了,并且它的值是9,后面的部分在造型过程中被丢掉了。如果想把一个浮点数舌入成“最接近”的整数,可以使用Math.round方法。在使用Math.round方法舌入后,可能还要使用造型来进行类型转换。
  Java还允许将一种类型的变量值赋给另一个变量,同时不进行显示造型,同样可以进行某些特定的赋值转换,允许的转换包括:
  buty->short->int_>long->float->double char->int
  当进行赋值的时候,会按照上面的顺序从左向右转换。
  

Java 基本语法(四)——字串和数组

1、字串:
  Java没有提供内建的字串类型,但标准Java库中包含了一个预定义类,很自然地称作“String”,每个用双引号封闭的字串都是String的一个实例。
  例如:“abc","hello"
  Java允许使用+号把两个字串连接起来。连接一个字串和一个非字串值时,后者被转换成字串。这个特性常用于输出语句中。
  子串:使用String类提供的substring方法,可从一个较大的字串中提取出一个子串。
  Java中字串中头一个字符的位置是0,
  可以使用length方法得到字串的长度。
  可以使用charAt(n)来提取位置n处的字符。
  可以使用equals方法来判断两个字串是否相等。如想检测两个字串是否相等,同时忽略大小写字母的区别可以使用equalsIgnoreCase方法。
  不能使用==来判断两个变量是否相等。
  2、数组:
  Java语言中,数组是第一类对象。当建立一个数组后,就不能轻易地改变它的大小。当你试图对数组声明边界外的任何一个元素进行访问时,程序运行就会中止,但编译的时候可以通过。
  Java有一个建立一个数组对象并同时提供初始化值的简写形式:
  int[] smallPrimes ={2,3,4,5,6};
  另外可以初始化一个“匿名数组”:
  new int[] {2,3,4,5,6};
  当将一个数组作为方法的参数时,又不想建立一个本地数组变量来保存数组,就可以使用匿名数组的方法。
  如果想知道一个数组包含的元素数量,可以使用arrayName.length方法。
  数组的复制:可以把一个数组变量复制给另一个,但两个变量引用的都会是相同的数组,可以使用
  System.arraycopy(from,fromIndex,to,toIndex,count);方法。
  数组作为参数使用:Java中数组作为参数,使用的是引用的方式,即传递的数组的地址,在方法中改变数组元素的值可以改变源数组元素的值。
  数组作为返回值使用:一个方法可以返回一个数组。
  多维数组:
  Java语言中可以定义一个二维数组,但没有多维数组。多维数组实际上是通过数组的数组来实现的。
  
Java 基本语法(五)——控制流程

1、控制流程:
  控制流程是任何一种程序语言都要提供的,Java提供的控制流程和许多其他的程序语言基本上是相同的。
  1)条件语句:
       if (条件) 语句;
       if (条件) { 代码块 }
       if (条件) 语句; else 语句;
       if (条件) { 代码块 } else { 代码块 }
  2)不确定循环:
       while (条件) { 代码块 }
       do { 代码块 } while (条件);
  
  3)确定循环:
  for(int i=1; i <= 10; i++) { 代码块 }
  在for语句的第一个位置声明了一个变量后,这个变量的作用域会扩展到for循环主体结束。但循环之外是不能使用这个变量的。
  4)多重循环:
  switch(choice)
    {
         case 1:
          ...
          break;
          case 2:
          ...
          break;
         case 3:
          ...
          break;
          case 4:
          ...
          break;
          default:
          ...
          break;
     }
  default从句是可选的。switch语句只能对char类型或除了long之外的其他整数类型进行测试。
  5)标签中断:
  在一个循环之前使用标签中断并在标签后面使用一个冒号,然后在循环体中如果想退出循环可以使用“break 标签;”的方法来退出循环并开始执行循环体后面的语句。