首页 > 代码库 > 第一章

第一章

1. Java语言主要由5中符号组成

     标识符:数字、字母、美元符、下划线(注意不能数字开头)

     关键字:goto和const保留了它们,但是Java没有使用。

          注:main不是关键字,但是被虚拟机识别的一个名称

     运算符:注意运算符优先级(注意左结合和右结合)

     分隔符:注意+号可以分割字符串。

     注释:三种注释。


2. 数据类型与变量(八大基本数据类型+三种复合类型)

     表1-基本数据类型表

wKiom1PreYTBqRftAAIEeQOX7Rk067.jpg   

     常量: 

          整型

          浮点型

          字符:

               注意后跟三个八进制(\ddd)和 四位unicode码(\uxxxx)字符表示的特殊形式           

          字符串

          布尔型

          新增:null常量

     变量:  

               注意变量的取值范围      

               强制类型转换(依据的是表示的范围吧)

                    byte short char int long float double

     /*为了避免数据溢出,Java虚拟机将两短整数想加的结果默认为int型

        s = i; s = i++; s = i+1; 只有前两者编译器通过,第三种自动升为int不通过          

*/

     //强转可以取某个实数的整数部分(int a = (int)12.34)


3. 表达式与运算符(一定是执行了特定的操作,返回了一个值)

     按操作数分为一元,二元和三元

     也有另一种分法:包含算术,关系,逻辑,位,赋值组合等几种运算符.

               注意短路 与 非短路 的逻辑.

                    && 与 &

                    || 与 |

 表2-运算符优先级

wKiom1PrebbwCweqAAJUy3B7yRA587.jpg

wKioL1Pres_RiFJlAAH2O4VFsL8552.jpg


4. 数据的输入/输出

     标准输入输出流

          char c = (char)System.in.read();

          BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

          String str = buf.readLine();

          //常与Integer.parseInt(String s)搭配 

          然后使用System.out输出

     使用javax.swing.JOptionPane

          showInputDialog方法获取字符串

          showMessageDialog弹出消息显示对话框.


5. 常用的数学方法

java.lang.Math类的主要方法 

          int abs(int i) 

          int ceil(int i1,int i2)      大于等于d的最大整数

          double floor(double d) 小于等于d的最大整数

          double random()         返回大于等于 0.0 且小于 1.0的 double 值

          long   round(double d)  最靠近d的长整数

          double log(double d) 

          double exp(double x) 

          double pow(double a, double b) 

          double sqrt(double a) 

          double cos(double d) 

     /*由于让系统产生随机数使用广泛

        0~9的随机数 (int)(Math.random()*10);

        0~999的随机数 (int)(Math.random()*1000);

        a~b的随机数 (int)(Math.random()*(b-a));

        其实Math的random方法用的就是util包中的Random类

        因此可以Random.nextDouble()替换Math.random()       

     */   


6. 流程控制语句

     条件选择语句:

          if型,if else型,if else嵌套型

               //如果条件体只有一句话,大括号可以省略

          switch语句

               其中expression必须为整型(byte,short,int,long)或char,现新增enum枚举型.

          //可以default实现所有case都没捕获到的情况

          //case 0: case 1: case 2: { } 实现了多个case对应一种情况.

     循环语句:

          while,do while,for语句

     //break用在循环语句中,也可以用在switch语句中.

     //contine只用在循环语句中,作用是结束本次循环,接着继续进行条件判断.

          //另外break和contine可以带标号 


7. 数组

     一维数组:声明数组,创建数组空间,初始化三步.

               格式1: 数组元素类型  数组名[] ;  

               格式2: 数组元素类型[]  数组名 ;  

                    其中,数组元素的类型可以是基本类型,也可以是类或接口。      

               创建数组元素并初始化

                    类型  数组名[ ]={ 初值表 };  例: int arr[] = {1,2,3,4,5,6,7,8,9,10}; 

                    其实这相当于int[] arr= new int[]{1,2,3,4,5,6,7,8,9,10};        

               高级for(元素类型 循环变量名:数组名 ){循环体}     

     多维数组

          1.声明数组

               格式1:数组元素类型  数组名[ ][ ];  

               格式2:数组元素类型[ ][ ]  数组名;  

          2.创建数组空间

               (1)直接为每一维分配空间,如: 

                       int a[][] = new int [2][3]; 

               (2)从最高维开始,按由高到低的顺序分别为每一维分配空间。如: 

                        int a[][] = new int [2][]; 

                        a[0] = new int [3]; 

                        a[1] = new int [4];  

               数组名.length( 数组名[行标].length也要看得懂)

                    获取数组的长度

          3.创建数组元素并初始化

               int a[][] = {{1,2,3},{4,5,6}};     

               int b[][] = {{1,2},{4,5,6}}; 

          更为常见的做法是在数组定义后通过循环语句给数组赋值。

 

 1  int[][] array = {{1,2},{4,5,6}};  2  3  //1.高级for循环 4  5  for(int[] arr:array){ 6  7      for(int i:arr){ 8  9          System.out.print(i+" ");10 11      }12 13      System.out.println();14 15  }16 17  //2.普通for循环18 19  for(int i=0;i<array.length;i++){20 21      for(int j=0;j<array[i].length;j++){22 23          System.out.print(array[i][j]+" ");                24 25      }26 27      System.out.println();28 29  } 

 


8. 方法

     方法声明

          修饰符 1 修饰符2... 返回值类型 方法名(形参表) [ throws 异常列表 ] { }  

          其中返回值是方法在操作完成后返还调用它的环境的数据,形式有2种:

              (1)return 表达式;//方法返回结果为表达式的值;

              (2)return;          //用于无返回值的方法退出;

     参数传递

          (1) 基本数据类型的参数传递是以传值的方式进行,即将实际参数的值传递给形参;  在方法内对形参的修改只影响形参单元,不影响实参  

          (2)引用类型(如对象、数组等)参数传递是按地址进行传递的。在方法内对形参的访问实际是访问所指引用对象

     递归:

          方法自身调用自己,注意死循环即可.

     Java的命令行函数

          main方法中有一个字符串数组参数,该数组中存放所有的命令行参数.它在命令行运行的主类名之后,个参数之间用空格分隔.使用命令行参数有利于提高应用程序的通用性.  

第一章