------- android培训、java培训、期待与您交流! ----------
一,DOS命令行常见命令
dir :列出当前目录下的文件及文件夹。
md :创建目录。
rd :删除目录。
cd :进入指定目录。
cd.. :退回到上一级目录。
cd/ :退回到根目录。
del :删除文件。
exit :退出DOS命令行。
二,“Hello world”入门小程序
class Demo
{
public static void main(String[] args)
{
System.out.println("Hello world");
}
}
三,Java语言基础组成
1,关键字 2,标识符 3,注释 4,常量和变量
5,运算符 6,语句 7,函数 8,数组
3.1 标识符:在程序中自定义的一些名称。由26个英文字母大小写,数字0-9,符号 _ ,$ 组成。
规则:1,数字不可以开头;2,不可以使用关键字。
3.2 Java中名称的规范
1,包名:xxxyyyzzz 2,类名,接口名:XxxYyyZzz
3,变量名,函数名:xxxYyyZzz 4,常量名:XXX_YYY_ZZZ
四,常量:表示不能改变的数值。
4.1 Java中常量的分类:
1,整数常量(所有整数); 2,小数常量(所有小数); 3,布尔型常量(true,false);
4,字符常量:将一个数字字母或符号用单引号标识;
5,字符串常量:将一个或者多个字符用双引号标识;
6,null常量:只有一个数值:null。
4.2 对于整数:Java中有三种表现形式。
1,十进制:0-9,满十进一。
2,八进制:0-7,满八进一,用0开头表示。
3,十六进制:0-9,A-F,满十六进一,用0x开头表示。
另外,二进制:用0,1表示。
五, 变量:
内存中的一个存储空间/区域。该区域有自己的名称(变量名)和类型(数据类型)。该区域的数据可以在同一类型范围内变化。
为什么要定义变量:用来不断的存放同一类型的数据,并重复使用。
定义变量的格式: 数据类型 变量名 =初始化值;
六, 数据类型
基本数据类型:
整数类型:byte short int long 浮点类型:float double
字符类型:char 布尔型:boolean
引用数据类型:
class(类) interface(接口) 数组([ ])
三元运算符
格式:(条件表达式)?表达式1:表达式2;
如果条件为true,结果为表达式1;如果条件为false,结果为表达式2。
例如:获取两个数中的大数
int x =3,y=4,z ;
z = (x>y)?x:y ; //z变量存储的就是两个数的大数。
七,程序流程控制:1,判断结构; 2,选择结构; 3,循环结构。
7.1 if语句:
三种格式:
if(条件表达式)
{
执行语句;
}
if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
if(条件表达式)
{
执行语句;
}
else if(条件表达式)
{
行语句;
}
...
else
{
执行语句;
}
7.2 选择结构:
switch语句:
switch(条件表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
...
default:
执行语句;
break;
}
if和switch语句有时可以互用,如果判断的具体数值不多,而符合byte,short,int,char这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为 效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if范围更广。
7.3 循环结构:
代表语句:while,do while,for。
while语句: do while语句: for语句:
while(条件表达式) do for(初始化表达式;循环条件表达式;循环后的操作表达式)
{ { {
执行语句; 执行语句; 执行语句;
} } }
while(条件表达式)
{
执行语句;
}
变量有自己的作用域。对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句中有效。for语句执行
完毕后,该变量在内存中被释放。for和while可以进行互换,如果需要定义循环增量,用for更合适。但在以后的代码需要用到原操作的变量,则用while。
无限循环的最简单表达形式:
for( ; ;){ };
while(true){ };
其他流程控制语句:break(跳出),continue(继续)。
break的应用范围:选择结构和循环结构。 continue的应用范围:循环结构。
注意: 1,这两个语句离开应用范围,存在没意义。
2,这两个语句单独存在时下面都不可以有语句,因为执行不到。
3,continue语句是结束本次循环继续下次循环。
4,标号的出现,可以让这两个语句作用指定的范围。
两个重要的思想:累加思想(原理:通过变量记录循环后的结果)
计数器思想(原理:通过一个变量记录数据的状态变化)
例如:
//累加思想:
public static void main(String[] args)
{
int sum=0;
for(int x=0;x<10;x++)
{
sum=sum+x;
}
System.out.println("sum="+sum);
}
//计数器思想:
public static void main(String[] args)
{
int count=0;
for(int x=0;x<100;x++)
{
if(x%2==0)
{
System.out.println("x="+x);
count++;
}
}
System.out.println("count="+count);
}
八,函数
8.1 函数就是定义在类中的具有特定功能的一段独立小程序,也成为方法。
函数格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于储存调用函数时传递给函数的实际参数。
实际参数:传递形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
如何定义一个函数?
1,既然函数是一个独立的功能,那么先明确该功能的运算结果是什么。也就是明确函数的返回值类型。
2,明确在定义该功能的过程中是否有未知内容参与运算。也就是明确函数的参数列表(参数类型和个数)。
函数的特点:
1,定义函数可以将功能代码进行封装;
2,便于对该功能进行复用;
3,函数只有被调用才会被执行;
4,函数的出现提高了代码的复用性;
5,对于函数没有具体返回值类型的情况,返回值类型用关键字void表示。那么该函数中的return语句如果在最后一行可以省略不写。
6,注意:函数中只能调用函数,不能在函数内部定义函数。定义函数时,函数的结果应该返回给调用者,交由调用者处理。
函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。(参数是有顺序的)
重载的特点:与返回值类型无关,只看参数列表。
好处:便于阅读,优化程序设计。
示例:
//返回两个整数的和
int add(int x,int y){ return x+y; }
//返回三个整数的和
int add(int x,int y,int z){ return x+y+z; }
//返回两个小数的和
double add(double x,double y){ return x+y; }
九,数组与排序
1,数组的定义格式:
格式一: 元素类型[] 数组名 =new 元素类型[元素个数或元素长度]
格式二: 元素类型[] 数组名 =new 元素类型[]{元素,元素,元素......}
2,获取数组中元素个数: 数组名称.length 。
3,获取数组中的元素,利用遍历的方法(for循环)
如:
public static void printShuzhu(int[] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++) //arr.length是用于获取数组长度的语句。
} if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.print(arr[x]+"]");
}
}
4,编译有关数组排序时出现的异常提示:
4.1 ArrayIndexOutOfBoundsException :角标越界异常。
4.2 NullPointerException :空指针异常。
5,排序方法
//5.1 选择排序
public static void Sort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for( y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
//5.2 冒泡排序(更高效)
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for( y=0;y<arr.length-x-1;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}