您的位置:首页 > 职场人生

黑马程序员_java基础

2013-12-01 15:25 190 查看
------- android培训java培训、期待与您交流! ----------

课程中常用的dos命令

1. dir : 列出当前目录下的文件及文件夹.(了解就可以,不做重点掌握.)

2. md : 创建目录

3. rd : 删除目录

4. cd : 进入指定目录

5. cd.. :退回到上一级目录

6. cd/ : 退回到根目录

7. del : 删除文件(dos里面删除的文件不走回收站)

8. exit : 退出dos命令行

第一个Java程序

需求:写一个小程序:输出:hello world

步骤:1 . 用关键字class定义一个类,把要要输出的语句写在类中

2 . 为了保证程序的独立运行,在类中定义一个主函数:public static void main(String[] args)

3 . 将类所在的文件保存成扩展名为java的文件

4 . 在dos控制台通过javac对java文件进行编译

5 . 再通过java对编译后的class文件进行编译

class Demo//定义一个类

{

//主函数

public static void main(String[] args)

{

//输出语句

System.out.println("hello java");

}

}

java语言的基础组成: 关键字、标识符、注释、变量和常量、运算符、语句、函数和数组。

一 标识符

java中的标识符是由26个英文字母的大小写,数字,_和$组成。(注意:_和数字不能开头)

(1)包名:由多个单词组成时全都用小写(xxxyyyzzz)。

(2)类名和接口名:由多单词组成时首字母大写(XxxYyyZzz)。

(3)变量名和函数名:由多单词组成时,第一个单词小写,第二个单词开始首字母都大写(xxxYyyZzz).

(4)常量名:所有字母都大写且单词之间 用下划线隔开(XXX_YYY_ZZZ)

二 变量和常量

1、常量

常量是由整数常量、小数常量、布尔型常量、字符型常量(用单引号)、字符串(双引号)和null常量组成。

注意:负数的二进制表现是其正数的二进制取反再加一。

例:6的二进制是110,因为6是int,所以

6对应的二进制是0000-0000 0000-0000 0000-0000 0000-0110

-6对应的二进制是1111-1111 1111-1111 1111-1111 1111-1010

2、变量

定义:将不确定的数据进行存储,需要在内存中开辟一个空间,空间里的数据类型必须相同。

格式:数据类型 变量名称=初始化值

注意:整数默认的类型是int,小数默认的类型是double,若果数据是float其后必须加f(float f=1.2f)。

3、数据类型转化

byte b=3;

b=b+2;

运行时,编译会出错;原因是:b为byte类型,2是int类型,进行计算时,计算机底层会进行自动转化(小变大),所以(b+2)的结果是int类型,为了让编译通过可以给结果进行强制转化(大变小)其形式是:(byte)(b+2)。

三 运算符

java中的运算符包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符

1、赋值运算符

注意:s=s+5和s+=5区别

第一个是两个运算(先进行算数运算再赋值运算),第二个只有赋值运算。

2'、逻辑运算

&和&&,|和|| 区别

&&:左边为False,则右侧不必再运算。&:左右都必须运算。

||:左边为true,则右侧不必再运算。|:左右都必须运算。

3、位运算

<<:左移; >>右移; >>>无符号右移.

小方法:(1)转移字符:\n:换行 \b:推格 \r:相当于回车 \t:制表符

(2)两数互换:运用第三方变量。

例:int a=3,b=4,temp;

temp=a;

a=b;

b=temp;

四 程序流程控制

1、if语句和三元运算符的互换

if语句:if(条件表达式)

{表达式}

else{表达式}

三元运算符:变量=(条件表达式)?表达式1;表达式2;

三元运算符的好处:可以简化if语句的代码;

缺点:因为是一个运算符,所以必须有结果。

2、if语句和switch区别

若判断的具体数值不多,且符合byte、int、char、short这四种类型,虽然两个语句都可以使用,但是switch更高效些。

若是对区间判断或结果为boolean类型时使用if。

3、while和do while的区别

(1)while语句是先进行判断再执行语句;do while则是先执行语句,再进行判断。

(2)do while至少进行一次语句的执行。

4、for和while的区别

(1)for的变量只在for的作用范围内,出了for的作用范围就会自动消除。

(2)while的变量则是作用于整个函数。

(3)若是变量只为循环次数而存在就选用for。

小方法:(1)无限循环的简单表达式:for(;;);while()(默认为true)

(2)for嵌套时:尖朝下,改变循环条件;尖朝上,改变初始化值。

五 函数

定义:函数就是定义在类中具有特定功能的一段小程序(也叫方法)。

格式:修饰符 返回值类型 函数名(参数类型1 形参1;参数类型2 形参2)

{

执行语句;

return 返回值;

}

特点:(1)定义函数可以将功能代码进行封装,便于提高功能的复用性。

(2)函数被调用时才会执行。

注意:(1)函数值能调用函数,不能在函数中再定义函数。

(2)定义函数时,函数的结果应返回给调用者。

函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数和参数类型不同即可。

六 数组

1、定义:同一种类型数据的集合,其实就是一个容器。(好处:可以给数进行编号)

格式:数据类型[] 数组名=new 数组名{元素的个数}

2、内存结构

java在运行时,需要在内存中分配空间,为了提高运算的效率,就对内存空间进行了划:栈内存、堆内存、方法区、本地方法区、寄存器。

(1)栈内存:用于存储局部变量,当数据使用完,所占空间就会自动释放。(比如:数组名)

(2)堆内存:数组和类,通过new建立的实例都放在堆内存中;每一个实体都有一个地址值;实体不在被引用时,会不定时的被垃圾回收器回收。

3、数组中设计到的一些函数

(1)数组的遍历

/*打印数组*/
public static void printArray(int[] arr)
{

System.out.print("{");
for(int x=0;x<arr.length ;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"}");

}
}


(2)选择排序

/*
选择排序:第一个数一次和后面的每一个数比大小,小的换到第一位;
然后第二个数开始后后面的一次比.
*/
public static void selectSort(int[] arr)
{
//循环次数,"-1"是因为最后一个数字不用比了
for(int x=0;x<arr.length-1;x++)
{
//比较次数,"+1"是避免同一个数相比较
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;
}
}
}

}

(3)冒泡排序

/*
冒泡排序:相邻两数相比较,将大的数(或小的数)一次放到后面
*/
public static void bubbleSort(int[] arr)
{
//循环的次数,"-1"是因为一个数字不能比较
for(int x=0;x<arr.length-1;x++)
{
//比较的次数,"-x"是循环一次数组就会少比较一个数,"-1"防止数组角标越界
for(int y=0;y<arr.length-x-1;y++)
{
if(arr[y]<arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}

(4)折半查找

/*折半查找:必须建立在有序数组的基础上
*/
public static int halfSearch(int[] arr,int key)
{
int min=0,max=arr.length-1,mid=(min+max)/2;
//循环的条件:key值是否等于数组的中间值
while(arr[mid]!=key)
{
//若中间值小于key值,说明key处在中间值和最大值之间
if(key>arr[mid])
//此时就应该把中间值的下一位赋给最小值,继续折半
min=mid+1;
//若中间值大于key值,说明key处在中间值和最小值之间
else if(key<arr[mid])
//此时就应该把中间值的上一位一位赋给最大值,继续折半
max=mid-1;
//如果key不存在,则返回"-1"
if(min>max)
return -1;
//循环一次,折半一次
mid=(min+max)/2;
}
return mid;
}


------- android培训java培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: