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

黑马程序员-Java学习01-基础语法

2014-12-20 16:44 381 查看
-----------android培训java培训java学习型技术博客、期待与您交流!------------

1.)dos常用命令

学习Java语言之前,先要掌握一些常用的dos命令,如:

dir:列出当前目录下的文件以及文件夹
md:创建目录(文件夹)
rd:删除目录
cd:进入指定目录
cd..:退出当前目录,返回到上一级目录
cd\:退回到根目录
del:删除文件
del*:删除所有文件
del*.文件扩展名:删除同一类型的文件
exit:退出dos命令行
echo:创建文件。如:echo我可以(这里是文件内容)>我可以.txt
cls:清屏
help:显示所有命令及描述
exit:关闭

注:在dos命令行里用rd删除文件夹时,必须保证文件夹里面没有文件,此时可以单个的删除里边的文件,也可以使用del+文件夹的方式删除里边的所有文件。

技巧:当我们要进入一个目录,而目录名很长,如:目录名为woshiheimachengxuyuan,我们可以用 cd woshi*,用*代替后面文字的方式来简写,效率快。

2).关键字:

定义:被Java赋予了特殊含义的单词。

特点:体现上都是英文小写。

(1) 用于定义数据类型的关键字

基本数据类型:

整数类型:byte short int long 浮点类型:float double

字符类型:char 布尔型:boolean

引用数据类型:

class(类) interface(接口)

void用于函数上表示无返回值类型

(2)用于定义数据类型值的关键字

true(真) false(假) null(空)

(3) 用于定义流程控制的关键字

判断:if else switch case default

循环:for while do

继续循环:continue 结束循环或选择结构:break

返回:return

4、 用于定义访问权限修饰符的关键字

private(私有的) protected(受保护的) public(公有的)

5、 用于定义类、函数,变量修饰符的关键字

abstract(抽象的) final(最终的) static(静态的) synchronized(同步的) enum(枚举)

6、用于定义类与类之间关系的关键字

extends(继承) implements(实现)

7、 用于定义建立实例及引用实例,判断实例的关键字

new(建立实例) this(当前引用) super(父类引用) instanceof(判断对象类型)

8、 用于异常处理的关键字

try(检查异常) catch(捕获异常) finally(最终执行)

throw throws:两多表示抛出异常,但使用位置不同

9、 用于包的关键字

package(创建包) import(导入包)

10、其他修饰关键字

native(本地)

strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
注:main不是关键字,却是被虚拟机所识别的一个名称。

3).标识符:字母,数字,_,$ 开头不能用数字

java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ

4)常量
定义:Java中固定不变的、表示不能改变的数值。
Java中常量的分类:
1,整数常量。所有整数。
2,小数常量。所有小数。
3,布尔型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号(“”)标识。
6,null常量。只有一个数值就是:null。
对于整数,Java有三种表现形式:

-
十进制:0-9,满10进1。

-
八进制:0-7,满8进1,用0开头表示。

-
十六进制:0-9,A-F,满16进1,用0x开头表示。
进制转换:decimal to binary: 除二取余,再倒序 其它进制转换可以先转成二进制或者十进制再互相转。
负数的二进制表现形式:只要将对应的正数取反加1就行了。

5)变量

变量的长度说明:
byte:1个字节,八位 -128-127
short:两个字节
int:4个字节

long:八个字节
float:4个字节。
double:8个字节

概念:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)。

作用:用来不断的存放同一类型的数据,并可以重复使用。

定义变量的格式:数据类型 变量名 =初始化值;



6)算术运算符:



注意:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。
字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。

7).逻辑运算符:

& 与
| 或
^两边不一样为真,一样为假。
! 非
&& 如果左边为假时右边不运算
|| 如果左边为真是右边不运算
~ 对二进制进行取反。

8).位运算符:

<< 左移 后补数据最高位值 *2的倍数
>>右移 后补数据最高位值 除以2的倍数
>>>> 无符号移位
& 与
| 或
^ 异或
~取反
一个数异或同一个数两次结果还是那个数
数据互换:n=n^m;
m =n^m;
n =n^m;

10)转义字符:

概念:通过 \ 来转变后面字母或符号的含义。
常用转义字符:
\b:退格
\n:换行
\t:制表符,相当于tab键
\r:回车
\\:表示反斜杠
\':表示单引号
\":表示双引号

11)。三目运算符:表达式一?取值一:取值二;
格式:
(条件表达式)?表达式1:表达式2;
12).选择结构:

if(){}else{}
if(){}
if(){}else if(){}
注:if只要一个满足就结束。

13)分支:

switch(表达式)

case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…………
default:
执行语句;
break;

特点:表达式只接收四种值,int, short,byte,char
case 是没有顺序的,default最后执行
没有到break 或者大括号不停止。

public class SwitchTest{
public static void main(String[] args){
int month =Integer.parseInt(args[0]);
// 接收键盘收入并把它转换成整型
switch (month) {
case 1:
case 2:
case 3:
System.out.println("spring");
break;
case 4:
case 5:
case 6:
System.out.println("summer");
break;
case 7:
case 8:
case 9:
System.out.println("autom");
break;
case 10:
case 11:
case 12:
System.out.println("winter");
break;
default:
System.out.println("your keyword is invaild");
}
}
}


14)循环结构

while()
{
}

do{
}while();

for() {

}

do while 至少会执行一次语句,
变量有自己的作用域,对于for 来讲,如果变量定义在循环内,则结束后,该变量会在内存中释放。

/*requirement: print a picture as follow:
*
**
***
*****
method: two for statement ,
one two control the line, one to control the ammount of * in each line.
*/

public class TestPrint {
public static void main(String[] args) {
for(int i = 1;i < 5;i++) {
for(int j = 0;j < i;j++){
System.out.print("*");//控制打印*的个数
}
System.out.print("\n");//换行
}
}
}


Compiling TestPrint.java.......

-----------OUTPUT-----------

*

**

***

****

[Finished in 11.2s]

15).函数(方法)

格式:
修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数1)

执行语句;
return 返回值;

return:用于结束方法,返回一个值给调用者。
方法中只能调用方法,不能再定义方法。

方法重载:
在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。
参数顺序不一样也是重载, 重载和返回值类型无关。

重写与重载的区别

重写(override) 是重写了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类的中的方法。

重写的规则:

1 重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载

2 重写方法的访问修饰符一定要大于被重写方法的访问修饰符

3 重写的方法的返回值必须和被重写的方法的返回一致

4 重写的方法所跑出的一场必须和被重写方法的抛出异常一致,或者是其子类

5 被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写

6 静态方法不能被重写为非静态的方法

重载(overload)一般是用于在一个类内实现若干宠重载的方法,这些方法的名称相同而参数形式不同

重载的规则:

1 在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以使不同的参数类型,不同

的参数个数,不同的参数顺序

2 不能通过访问权限、返回类型、抛出的异常进行重载

3 方法的异常类型和数目不会对重载造成影响

打印乘法表
public class Multdemo {

public static void main(String agrs[]) {
int i,j;
for(i = 1;i < 10;i++) {
for(j = 1;j <= i;j++ ) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.print("\n");
}
}
}


-----------OUTPUT-----------

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6
3*3=9

4*1=4 4*2=8
4*3=12 4*4=16

5*1=5 5*2=10
5*3=15 5*4=20
5*5=25

6*1=6 6*2=12
6*3=18 6*4=24
6*5=30 6*6=36

7*1=7 7*2=14
7*3=21 7*4=28
7*5=35 7*6=42
7*7=49

8*1=8 8*2=16
8*3=24 8*4=32
8*5=40 8*6=48
8*7=56 8*8=64

9*1=9 9*2=18
9*3=27 9*4=36
9*5=45 9*6=54
9*7=63 9*8=72
9*9=81

[Finished in 4.0s]

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