JAVA基本程序设计结构

  高级语言的基本程序设计结构都是大同小异的,笔者大学期间学习的第一门高级语言是C语言,在学习Java语言中不涉及到面向对象的部分时,都还是感觉非常得心应手的,毕竟高级语言的组成都比较相近,大体包括:
        标识符,变量,常量,关键字,分隔符,表达式,语句,注释,数据类型,运算符,控制流程,数组,指针(引用),过程(函数,方法)等这么一些概念。
        本文不打算讲解所有的概念,只是简单的对某些概念做一下概括,或者是说提出一些需要注意的问题。
 
    1.注释:
       Java中注释包括三种分别为:
  • 行注释    //
  • 块注释    /*   */
  • 方法注释    /**    */
 
    2.数据类型:
       Java是强类型语言,包括8种基本数据类型和3种引用数据类型,其中基本数据类型包括四种整型(byte,short,int,long),2种浮点类型(float,double),1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型,3种引用数据类型包括数组,类和接口。几种数据类型之间的转换:如图(虚线代表会丢失精度,实线代表不会丢失精度):
    
 
    3.变量:
  • 变量的定义和初始化
    对于基本类型的变量而言,必须先初始化方能使用,对于引用类型,Java会默认将变量初始化为对应类型的“零值”,比如定义一个数组:
int[] arr = new int[6];  
系统将初始化arr为[0,0,0,0,0,0],数组类型的默认值为元素对应基本类型的零值的集合,类对象的“零值”为null。
  • 常量
如果不希望一个变量被修改,那么我们可以用final修饰这个变量,习惯上我们习惯把它称之为常量,并把整个变量名大写,这种变量一经赋值,无法修改。
注意,对于引用变量而言,是指引用本身不能再被改变,而引用的对象的属性还能被改变。如:
 
    4.运算符:
  • 自增自减:++,--
  • 关系运算符:==,!=,>,<,>=,<=
  • 三元运算符:condition ? expression1 : expression2
  • 位运算符:&,|,^,~,<<,>>,>>>
  • 算术运算符:+,-,*,/,mod
  • 条件运算符:&&,||  (注意与&,|的区别:&和|可以用于位运算,而&&和||具有短路的功能)
              谈及运算符,Math类中的一些函数和常量也非常常用,比如Math.PI,Math.abs(n)等,这些还需要我们在平常多积累。
 
    5.字符串:
Java中,字符串是存放在字符串池当中的,一经创建不能被改变,或许你可能不服了,怎么就不能被改变了?举个栗子:
String a ="haha";

a ="bb";

 

这里字符串a不是改成"bb"了么?请注意,字符串不是基本类型,它是引用类型,a不过是一个引用,它指向字符串池中的"haha"变量,现在我将它赋值为"bb",不过是把它指向了"bb"这个字符串对象了而已,"haha"依然在那,没有任何改变。如果想要创建可变的字符串,可以使用StringBuilder或StringBuffer这两个类,它们的功能完全一样,区别仅在于StringBuilder是线程安全的,而StringBuffer不是。
 
编程中,字符串API是使用最多的,我们需要熟练的掌握,具体请自行查阅API文档。
 
    6.大数值:
    做ACM的同学应该都知道,在Java里边有一个很厉害的东西,它可以实现任意精度的计算,不会溢出。这个神奇的东西就是BigInteger和BigDecimal类,它的神奇之处已经介绍了可以实现任意精度的计算。但是不支持+,-,*,/这些运算符号,所有的运算符号都被用函数来代替了。具体的函数还是请查阅API,它的底层使用数组实现的,有兴趣的同学可以自行查阅它的源码,由于比较高能,本文不予讨论。
 
    7. 数组:
  • 定义和初始化:
       主要注意对象数组的定义和初始化方式:
Person[] p =newPerson[5];

for(int i =0; i < p.length; i++)
{
    p[i]=newPerson();
}

 

  • 匿名数组:
         在方法中时常要传递匿名数组 :
printArray(newint[]{1,2,3});

 

 
  •  foreach循环:
           Java5中新增的循环书写方式,用于对数组或集合对象进行遍历,格式为:
                   foreach(var : collection)    statements       如:
foreach(p :Person per)
{
    per =newPerson();
}

 

  • 多维数组:
           Java中的多维数组实际是数组的数组,比如二位数组其实就是一维数组,不过它的每一个元素都是一个一维数组。



posted @ 2016-06-06 22:59  顽逗  阅读(160)  评论(0)    收藏  举报