首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

黑马软件工程师_Java语法基础(十四)

2012-11-07 
黑马程序员_Java语法基础(十四)-------android培训、java培训、java学习型技术博客、期待与您交流! ---------

黑马程序员_Java语法基础(十四)

-------android培训、java培训、java学习型技术博客、期待与您交流! ----------

 

一、  关键字

关键字是某一个计算机语言赋予了特殊的含义的词.

①   定义数据类型的关键字

classinterface byte short long float double char ovid

②   用于定义数据类型值的关键字

true falsenull

③   用于定义流程控制的关键字

if elseswitch case while do for break return

④定义访问权限修饰符

privateprotected public

⑤定义类、函数、变量修饰符

abstractfinal static synchronized

⑥类与类之间关系

extendsimplements

⑦建立实例及引用实例,判断实例的关键字

new thissuper   instancedof

⑧异常处理

try  catch finally  throw  throws

⑨用于包的关键字

package  import 

⑩其他修饰符关键字。

native  strictfp transient  volatile 

二、  标识符

就是在程序中起的名字。

包含 0~9,a~z,$  _

三、  注释

注释就是注解,说明,解释

表现形式有三种:单行注释;多行注释;java中特有的注释,文档注释。

四、  常量与变量

常量表示不能改变的数组

Java中常理的分类

1, 整数常量

2, 小数常量

3, 布尔型常量

4, 字符常量

5, 字符串常量

6, Null常量

对于整数,有四种表现形式

二进制,逢2进1;八进制,逢8进1,用O开关;十进制,逢10进1,;十六进制,逢16进1,Ox开关表示。

变量是内存中的一个存储区域,有自己的名称和类型,区域内的数据可以在同一类型范围内不断变化

变量的作用范围,一对{}内有效。

变量的格式

数据类型  变量名  =初始化值;

Java语言是强类型语言,对于每一种数据都定义了

明确的具体数据类型,在内存中分配了不同大小的内存空间

                                                                     整数类型(byte,short,int,long)

                                                 数值型

                                                                    浮点类型(float,double)

                   基本数据类型         字符型(char)

                                                布尔型(boolean)

数据类型                                               

                                             类(class)

                   引用数据类型         接口(interface)

                                             数组([])

整数默认:int  小数默认 double

 

五、  运算符

1, 算术运算符:+ -   /   %(模,取余)   ++   --

2, 赋值运算符: ==  +=    -=     *=     /=      %= 

3, 比较运算符: >    <     >=    <=    ==      !=

4, 逻辑运算符:  &  |   &&(短路与)    ||(短路或)

5, 位运算符:   <<       >>    >>>    &     |     ^(异或运算)    ~(反码)

6, 三元运行算符:  (条件表达式)?表达式1:表达式2;

 

六、  语句

程序的控制

⒈   判断结构

If语句的三种格式:

⑴    

If(条件表达式){

       执行语句;

}

⑵    

If(条件表达式){

执行语句;

}

else{

执行语句;

}

⑶    

If(条件表达式){执行语句}else if(条件表达式){执行语句;} … else {执行语句}

⒉   选择结构

Switch

Switch(){case 取值1:执行语句;执行语句;break;…default:执行语句;break;}

如果是对具体个数的数值进行判断,if和swich都可以,建议用swich,因为会把选择答案加载进内存,选择效率高.

如果要对数据区间进行判断,用if语句.

如果运算结果是boolean型,用if语句.

⒊   循环结构

黑马软件工程师_Java语法基础(十四)

另外一种格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;(循环体)}

While循环使用的变量在循环结束后还

可以继续使用.

无限循环格式while(ture),for( ; ; )

第三种格式

Fir 嵌套循环.

 

其它流程控制语句

Break语句:跳出,选择结构和循环结构

Continue 语句:循环结构.

 

七、  函数

1.     函数的定义

函数就是定义在类中的具有特定功能的一段小程序.函数也称为方法.

函数名,就是一个代码区间的名字,或说一小段程序的名字,或说方法名.

黑马软件工程师_Java语法基础(十四)

2.     函数的特点

3.     函数的应用

必要掌握的一个基本思想:

不要把代码都写到主函数中,只要是功能,都用函数来体现,主函数只用来调用

自己定义的功能,让该功能运行起来.

A.     明确该功能的结果是什么?其实就是在明确java函数的返回值类型.

B.     明确该功能中是否需要未知内容参与运算?其实就是在明确java函数的参数列表

(参数的个数,参数的类型)

4.     函数的重载(overlaod)

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可.

重载的特点:

与返回值无关,只看参数列表 .

重载的好处:

方便于阅读,优化了程序设计.

重载示例:

返回两个整数的和

Int add(int x,int y){returnx+y;}

返回三个三个整数的和

Int add(int x,int y,intz){return x+y+z;}

返回两具小数的和

Double add(double x,doubley){return x+y;}

 

 

八、  数组

1.     数组的定义

同一种类型数据的集合,其实就是数组.

数组的好处,可以自动给数组中的元素从0开始编号 ,方便操作这些元素.

黑马软件工程师_Java语法基础(十四)

2.     数组的内存分配及特点

Java内存划分

1)     寄存器.       cpu涉及的区域

2)     本地方法区. 是和系统相关的代码存储区域

3)     栈内存         存储的都是局部变量,变量运算区域一结束,就释放.局部变量:在方法上的参数,方法内的变量,语句中的变量.

4)      堆内存         存储的是数组和对象,简单说,堆内存中存储的是实体,实体就是可以存储多个数据的地方 ,只要是用new建立都存储在堆内存中.

5)      方法区         存储函数的地方 ,共识数据.

3.     数组操作常见问题

3.1   数组角标越界异常(ArrayIndexOutOfBoundsException)

3.2   空指针异常(NullPointerException)

4.     数组常见操作

4.1   获取最值

4.2   排序

⑴   选择排序

      

       选择排序:选择指定位置和其他位置比较,在该位置确定最值。

       */

       public static void selectSort(int[] arr)

       {

              for(int x=0; x<arr.length-1;x++)

              {

                     for(int y=x+1;y<arr.length; y++)

                     {

                            if(arr[x]>arr[y])

                            {

//                                 int temp =arr[x];

//                                 arr[x] =arr[y];

//                                 arr[y] = temp;

                                   swap(arr,x,y);

                            }

                     }

              }

       }

 

 

⑵   冒泡排序

       /*

       冒泡排序:相邻两个元素比较,

       */

       public static void bubbleSort(int[] arr)

       {

              for(int x=0; x<arr.length-1;x++)

              {

                     for(int y=0;y<arr.length-1-x; y++)

                     {

                            if(arr[y]>arr[y+1])

                            {

//                                 int temp =arr[y];

//                                 arr[y] =arr[y+1];

//                                 arr[y+1] =temp;

                                   swap(arr,y,y+1);

                            }

                     }

              }

       }

 

冒泡排序另一种写法

for (intx=arr.length-1;x>0 ;x-- )

{

       for (int y=0;y<x ;y++ )

       {

              if(arr[y]>arr[y+1])

              {

                     换位置.

              }

       }

}

 

说明 -1:避免角标越界

-x :让逐轮比较的元素递减.

 

⑶   排序代码优化

把换位置的功能封装

/*

       对数组中的元素位置进行置换。

       */

       public static void swap(int[] arr,inta,int b)

       {

              int temp = arr[a];

              arr[a] = arr[b];

              arr[b] = temp;

       }

 

       /*

4.3   折半查找(二分查找)

5.     数组中的数组

二维数组

黑马软件工程师_Java语法基础(十四) 

                                 -------android培训、java培训、java学习型技术博客、期待与您交流! ----------

更多详情请查看:http://edu.csdn.net

热点排行