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

黑马程序员--java基础--语言基础部分

2015-03-17 23:17 288 查看
-------
android培训、java培训、期待与您交流! ----------


语言基础部分总结


继续上一篇环境配置好之后,要开始在DOS命令行里进行操作了

DOS命令

dir:列出当前目录下的文件以及文件夹

md:创建目录

rd:删除目录

cd:进入指定目录

cd..:退出当前目录,返回到上一级目录

cd\:退回到根目录

del:删除文件

del*:删除所有文件

del*.文件扩展名:删除同一类型的文件

exit:退出dos命令行

echo:创建文件

help:显示所有命令及描述

exit:关闭

第一个小程序 Hello World!!

然后我们新建一个空白.txt文件,输入以下我们所编的第一个小程序Hello World!!

class Demo

{

public static void main(String [] args)

{

System.out.println(Hello World!!);

}

}

输入完要保存为后缀为.java的文件

打开一个DOS命令行窗口

.java文件通过javac命令编译后产生.class文件然后通过java命令运行.class文件

就会有Hello World!!出现在DOS窗口。

DOS命令熟悉之后开始学习java语言基础部分,因为图片比较直观所以我的基础笔记是图片,以下是我的图片笔记,当然也会有相应文字说明。

关键字是被Java赋予了特殊含义的单词,都是英文小写。



标识符



常量与变量






基本数据类型:

1、整数类型:byte short int long

2、浮点类型:float double

3、字符类型:char(null(空))

4、布尔型:boolean(true(真) false(假))

引用数据类型:

1、类类型class

2、接口类型interface

常量 :Java中固定不变的、表示不能改变的数值。



进制转换

1、十进制转二进,除2取余数;二进制转换为十进制,乘以2的幂数。

2、十进制与八进制和十六进制的互转,跟转换二进制的方法一样。

3、一个八进制位相当于三个二进制位,而一个十六进制位相当于四个二进制位。所以十进制转换为二进制,再转换为八进制和十六进制相对简单点。

4、负数二进制表现形式:对应的正数取反加1就行了注:负数的最高位都为1。

变量:在内存中开辟一个存储空间。有自己的变量名和数据类型。

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

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

自动类型提升与类型强制转换



自动提升

在运算中,当低类型数据与高类型数据进行计算时

byte b = 1 ; int c;

c= b + 2; //b会自动提升为int类型进行运算。

强制类型转换

当程序中,数据类型需要变换时,可以进行强制转换。如:

byte b = 1;

b = b + 2;//涉及到变量所以可能会超出byte的范围,报错

b = (byte)b+2;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

运算符



1、算术运算符

算数运算符比较基础就是加减乘除分别为:

+ 、 - 、 * 、 / 、

2、赋值运算符

符号:= += -= *= /= %=

如: int a =1;

int a = 2; a+=3;//等于运算a=a+3;

3、比较运算符



4、逻辑运算符



这里要强调一下&&和||:

&&和&运算的结果是一样的就是运算过程有区别

&:无论左边的运算结果是什么,右边都参与运算。

&&:当左边为false时,右边不参与运算的。

||和|运算的结果是一样的就是运算过程有区别

|:无论左边的运算结果是什么,右边都参与运算。

||:当左边为true时,右边不参与运算的。

5、位运算符





习题:对两个变量赋值然后使两个整数的值进行互换(不需要第三方变量)

class Demo {
public static void main(String[] args) {
int a = 6;
int b = 7;
System.out.println(a + ".... " + b);// 打印结果是6....7
a = a ^ b;
b = a ^ b;// 相当于b = 6^7^7;
a = a ^ b;// 相当于a = 6^7^6;
System.out.println(a + "...." + b);// 打印结果是7....6
}
}


6、 三元运算符



三元运算符比较大小

class OperateDemo
{
public static void main(String[] args)
{

int x = 0,y;

y = (x>1)?100:200;
System.out.println("y="+y);

//获取两个整数中的较大的整数。

int a,b;
int max = a>b?a:b;

//获取三个整数中的较大的整数。

int o,p,q;

int temp = o>p?o:p;
int max2 = temp>q?temp:q;

}
}


学习java中的语句之前先要学习一下注释

注释

注释的作用:1、注解、说明、解释我们的程序,提高代码的阅读性。

2、调试程序。

有三种注释方式

单行注释://(注释文字)

多行注释:/*-------中间可以有多行注释文字-------*/ 注:多行注释不要嵌套多行注释。

文档注释:是Java特有的注释,通常书写在类、域、构造函数、方法、定义之前。注释内容可以被JDK中的工具javadoc.exe所解析,生成一套以网页文件形式体现的该程序分说明文档。格式:

/**

*

*/

一般先将自己的思想通过注释先整理出来,再用代码去体现。

java语句

主要有:判断结构、选择结构和循环结构。

1、 判断结构——if



if语句特点

a,每一种格式都是单条语句。

b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。

c,条件表达式无论写成什么样子,最终的结果不是true就是 false。

练习一下

需求:根据用户指定的具体数据,判断该数据对应的星期。

1-星期一Monday

class IfTest
{
public static void main(String[] args)
{

/*
需求:根据用户指定的具体数据,判断该数据对应的星期。
1-星期一Monday

思路:
用户输入无法获取但是那只是具体数据的一种获取手段而已。
而我们要做的功能仅仅是对用户指定的数据进行对应星期的打印而已。

所以具体的数据不确定,完成可以使用变量来表示。

我们只对变量进行操作即可。至于变量的值,可以有用户决定。

因为数据的不确定性,所以要对数据进行判断。
使用if语句。

*/

int week = 10;

if(week==1)
System.out.println(week+"对应中文是星期一");
else if(week==2)
System.out.println(week+"对应中文是星期二");
else if(week==3)
System.out.println(week+"对应中文是星期三");
else if(week==4)
System.out.println(week+"对应中文是星期四");
else if(week==5)
System.out.println(week+"对应中文是星期五");
else if(week==6)
System.out.println(week+"对应中文是星期六");
else if(week==7)
System.out.println(week+"对应中文是星期日");
else
System.out.println(week+"没有对应的星期");

}
}


练习2

class IfTest2
{
public static void main(String[] args)
{

/*
一年有四季。
春季:3 4 5
夏季:6 7 8
秋季:9 10 11
冬季:12 1 2
根据用户输入的月份,给出对应的季节。

*/

int month = 8;

if(month<1 || month>12)
System.out.println(month+"月没有对应的季节");
else if(month>=3 && month<=5)
System.out.println(month+"月是春季");
else if(month>=6 && month<=8)
System.out.println(month+"月是夏季");
else if(month>=9 && month<=11)
System.out.println(month+"月是秋季");
else
System.out.println(month+"月是冬季");

/*
if(month==3 || month==4 || month==5)
System.out.println(month+"月是春季");
else if(month==6 || month==7 || month==8)
System.out.println(month+"月是夏季");
else if(month==9 || month==10 || month==11)
System.out.println(month+"月是秋季");
else if(month==12 || month==1 || month==2)
System.out.println(month+"月是冬季");
else
System.out.println(month+"月没有对应的季节");
*/

}
}


2、 选择结构——switch



switch语句特点

a,switch语句选择的类型只有四种:byte,short,int, char。

b,case之间与default没有顺序。

c,结束switch语句的两种情况:1、遇到break结束;2、执行到switch结尾结束。

d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

练习

class SwitchTest
{
public static void main(String[] args)
{

/*
一年有四季。
春季:3 4 5
夏季:6 7 8
秋季:9 10 11
冬季:12 1 2
根据用户输入的月份,给出对应的季节。

*/

int month = 8;

switch(month)
{
case 3:
case 4:
case 5:
System.out.println(month+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是秋季");
break;
case 2:
case 12:
case 1:
System.out.println(month+"月是冬季");
break;
}

}
}


区别 if和switch语句很像。

1、如果判断的具体数值不多,而且符合byte short int char这四种类型。虽然两个语句都可以使用,建议使用switch语句,效率稍高。

2、对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

3、 循环结构——while,do while,for



累加思想

class WhileTest
{
public static void main(String[] args)
{

/*

练习:
获取1到10 10个数字的和。

0 + 1
1 + 2
3 + 3
6 + 4
10 + 5
思路:
1,每次参与加法的数值不确定。
2,每次的出现的和数据也不确定。
3,发现参与加法运算的数值有递增规律。
4,每一次都是加法运算在重复,并且都是和再加上下一个数值。

步骤:
1,定义一个变量,记录住参与加法运算的数据。
2,定义一个变量,记录中每一次的出现的和。
3,对于记录参与加法运算的数据进行自增。
4,因为加法运算需要重复,就要想到循环结构。
*/

//累加思想。

int x = 1;//记录参与加法的数据。
int sum = 0;//记录住每一次的和。
while(x<=100)
{
sum = sum + x;

x++;
}

System.out.println("sum="+sum);

}
}
计数器思想

class  WhileTest1
{
public static void main(String[] args)
{

/*
练习:
1~100之间 6的倍数出现的次数。
要求:自己独立完成思想的书写。和步骤的文字描述。

*/

//		计数器思想
int x = 1;
int count = 0;
while(x<=100)
{
if(x%6==0)
count++;
//				System.out.println("x="+x);
x++;
}

System.out.println("count="+count);
}
}


while和do while的区别

while:先判断条件,只有条件满足才执行循环体。

do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。

简单一句话:do while:无论条件是否满足,循环体至少执行一次。

for语句格式:



练习一下

class ForTest
{
public static void main(String[] args)
{
/*
用for完成累加。
*/
int sum = 0;
for(int x=1; x<=10; x++)
{
sum = sum + x;
}

System.out.println("sum="+sum);

/*
for和while的特点:
1,for和while可以互换。
2,格式上的不同,在使用上有点小区别。
如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。
*/

//打印1~10十个数字
int x = 1;
while(x<5)
{
System.out.println("x="+x);
x++;
}
System.out.println("x===="+x);

for(int y=1; y<5; y++)
{
System.out.println("y="+y);
}
System.out.println("y====="+y);

//无限循环最简单的形式。
//		while(true){}

//		for(;;){}

什么时候使用循环结构呢?
当对某些代码执行很多次时,使用循环结构完成。

当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。

注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
循环通常情况下,需要定义条件,需要控制次数。

}
}


循环注意:当要对某些语句执行很多次时,就使用循环结构。一定要明确哪些语句需要参与循环,哪些不需要。

4、其他流程控制语句——break,continue

break(跳出)语句:应用范围:选择结构和循环结构。

continue(继续)语句:应用于循环结构。



a,这两个语句离开应用范围,存在是没有意义的。

b,这个两个语句单独存在时,下面都不可以有语句,因为执行不到。

c,continue语句是结束本次循环继续下次循环。

d,标号的出现,可以让这两个语句作用于指定的范围。只能用于循环结构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: