Java基础

来源:互联网 发布:算法导论英文版 pdf 编辑:程序博客网 时间:2024/06/02 06:25
1:Java与C++区别
Java抛弃了C++中的指针、结构体等概念;没有多继承、运算符重载等易使人迷惑的规则;也没有预处理器;程序员也不必自己释放占用的内存空间,系统将自动回收。
2:面向对象编程的特征
封装、继承、多态、抽象
3:Java标识符
Java源程序使用Unicode码(Unicode码用16位二进制位表示一个字符,它可以将汉字与英文字母统一处理,所以,标识符也可以包含汉字。)
Java对其约定:⑴变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge。⑵类名首字母大写⑶常量名全部大写
4:对象运算符instanceof——用于测试一个指定对象是否是指定类(或它的子类)的一个实例化的对象,若是则返回true,否则返回false。
eg:String s="123456";
       boolean b=s instanceof String;
       由于s是字符串类String的一个实例对象,所以b的值是true。
5:内存分配运算符new——为数组和对象分配内存空间。
6:基本输出语句
     System.out.print()输出括号内的字符串后不输出回车,光标停在字符串最后一个字符的右边;
     System.out. println()输出括号内字符串后输出回车,即光标停在下一行的起始位置。
7:基本输入语句
     System.in.read()语句读入字符后返回的是int型的变量,需要用类型转换符(char)强制转换成char类型才能赋值给字符型变量。
8:参数传递原则
     ①按值传递 ——适用于8种数据类型、String对象(在函数内部改变参数的值,外部数据不会跟着改变)
     ②按址传递(按引用传递)——除String以外的所有复合数据类型,包括数组、类和接口。(在函数内部修改参数内容,外部数据也会跟着发生变化。)
9:控制语句
㈠选择语句
        ①if语句
        ②switch语句(接收表达式类型可以是byte、char、short、和int类型,不允许是浮点类型和long类型。常和break语句搭配使用。)
㈡循环语句
        ①for语句
        ②while语句——先判断,后执行
        ③do-while语句——do语句先将循环体执行一次,然后再检测条件,在决定是否继续执行循环体。
㈢跳转语句
        ①continue语句——语法格式:continue[标号];
                                      不带标号的continue语句表示:终止当前这一次循环,跳过本次剩余的语句,直接进入循环体的下一次循环。
                                      带标号的continue语句表示:程序直接转到标号注明的循环层次。 
        ②break语句——表示跳出switch语句的分支语句或跳出循环体结构。
        ③return语句——程序返回,当程序执行到return语句时,终止当前方法的执行,返回到它的调用者。
10:数组
    创建数组——语法(注意:在二维数组分配内存时,必须告诉编译器二维数组行与列的个数。)
    ①数组名=new 元素类型[元素个数];
    ②数据类型 []数组名=new 数据类型[数组长度];
            eg:int []numbenew int[5];
    数组初始化——方法
    ①用new初始化数组 
    ②赋初值初始化数组    eg:int a[]={11,22,33,44};      形式:类型标识符 数组名[]={初值表};
    获取数组长度——数组名.length(元素下标的最大值为"数组名.length-1")      ||  对于二维数组:a[0].length;   //得到数组a的第1行元素个数
    实例:打印杨辉三角
  class MyArray1{
          public static void main(String args[])
          {
                  int i,j,level=7;
                  int Yang[][]=new int[level][]          //声明二维数组存放杨辉三角形
                  System.out.println("杨辉三角形");
                  for(i=0;i<Yang.length;i++){
                          Yang[i]=new int[i+1];          //定义二维数组的第i行有i+1列
                  }
                  Yang[0][0]=1;
                  for(i=0;i<Yang.length;i++){
                         Yang[i][0]=1;                       //杨辉三角形左边都为1
                         Yang[i][Yang[i].length-1]=1;//杨辉三角形右边都为1
                         for(j=0;j<Yang[i].length-1;j++)
                                Yang[i][j]=Yang[i-1][j-1]+Yang[i-1][j];
                 }
                 for(i=0;i<Yang.length;i++){//输出杨辉三角形
                         for(j=0;j<Yang[i].length;j++)
                                System.out.print(Yang[i][j]+" ");
                         System.out.println();
                }
         }
  }

    












































原创粉丝点击