黑马程序员技术交流社区
标题:
day03JAVA笔记
[打印本页]
作者:
仙兒哥
时间:
2013-4-10 02:13
标题:
day03JAVA笔记
if语句
if语句三种格式
if,一次判断如果满足条件就执行一次,条件不满足不执行代码块内容
if else,二选一如果满足条件就执行, 否则执行else中的执行语句
if else if else ,多选一只要有一个满足了判断就结束,都没满足执行最后else的执行语句
if语句什么时候用
对于几个值的判断可以用,对于区间的判断可以用,对于运算结果是boolean类型可以用
开发时常用if ,很少用switch因为case后必须放具体值不能放区间和布尔型表达式
if的注意事项
1,只要出现if关键字,后面肯定会有小括号,并在括号中指定条件表达式。而else单独出现时,是不需要指定条件表达式 。
2,条件表达式,运算完的结果必须是boolean类型。
3,如果if中控制的语句是单条,大括号可以省略不写。初学者建议写上,方便于程序阅读。
if嵌套注意事项
省略{}的写法是可以的,if else为一个单条语句, 不要把单条语句理解成单行语句
没{}情况下else属于离他最近的if
switch语句
switch语句特点
1,对于switch的表达式,只支持4种类型德值 byte,short,int, char
2,写法case与default没顺序,程序先执行第一个case,所有的case没匹配才执行default
(也就是说 写法可以乱执行规律不会乱case1 case2…default)
3,结束switch语句的两种情况:遇到break,整个switch语句结束的{}
4,如果匹配的case或者default都忘写break,程序会继续向下执行,但不作判断了,直到遇到break或者switch结尾结束。多个答案相同内容
switch语句什么时候用
对于几个固定的值进行判断,可以使用if也可以用switch,建议使用switch,因为效率稍高
while_dowhile_for 循环结构
循环语句什么时候用
当某些语句需要被执行很多次的时候,就可以使用循环结构来解决 (一定要明确,哪些语句需要参与循环,哪些不需要)
while dowhile区别
do while无论条件是否满足,循环体至少执行一次
while与for区别
1,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,
然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
3,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
if语句练习_季节??? & 还是 &&
作业3,获取1~100之间6的倍数的个数 计数器思想
wihle练习_获取1~10所有数字的和 累加思想
wihle练习_获取1~100之间6的倍数的个数 计数器思想。
程序流程控制
从常量开始明确了Java中对任何常见数据都进行类型划分
同时用变量将常量存储起来又加上了运算符 这样就实现了变量之间的数据运算
还需要做些更复杂的事情 程序流程控制为表达更多的含义
这个句子出现就可以对程序流程进行基本控制
顺序结构:程序执行路径:程序默认一行一样往下运行的 (从上到下)
流程控制语句
流程控制语句就是主函数中,从上到下,从左到右,这个是顺序流程
流程控制有三种
1.顺序
2.条件(分支)
3.循环
一 选择结构 if语句
1.1 if语句三种种格式
第一种格式
if,只做一次判断如果满足条件就执行一次,条件不满足不执行代码块内容
if(条件表达式)
{ //当if语句控制的执行语句只有单条,可是省略{},但多条必须写{}
执行语句; //也就是说if语句下面没有{}那么if语句只控制离他最近的执行语句
}
第二种格式
if else,二选一如果满足条件就执行, 否则执行else中的执行语句
if(条件表达式) //三元运算符可以理解成if else的简写格式, 但不是所有if else都可简写因为三元运算符特点运算完必须有结果
{
执行语句;
}
else
{
执行语句;
}
if..else与三元区别
1.三元操作后得到一个值,但是if..else可以得到一个值,也可以不得到。
2.三元只能操作一值,但是的if...else可以操作多个值。
3.三元与if都可以嵌套,但是的三元嵌套比if..else嵌套更复杂 //三元在完成某简单比较时会更方便
第三种格式
if else if else ,多选一只要有一个满足了判断就结束,都没满足执行最后else的执行语句
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
作者:
仙兒哥
时间:
2013-4-10 02:14
1.2 if语句特点
1.只要出现if关键字,后面肯定会有小括号(小括号后不能加分号),并在括号中指定条件表达式。而else单独出现时,是不需要指定条件表达式
2.条件表达式,运算完的结果必须是boolean类型
3.如果if大括号内有多个语句都需要通过if条件控制,那么必须加上大括号,如果不加,相当于只对第一条语句进行控制
4.关于if..else匹配问题 如果出现了else,那么必须有if与其匹配,并且与最近的if匹配
if嵌套注意事项
int a = 1, b = 2;
if (a==2)
if(b==1)
System.out.println("A"); //省略{}的写法是可以的,if else为一个单条语句, 不要把单条语句理解成单行语句
else
System.out.println("B");
else //没{}情况下else属于离他最近的if
if(b==1)
System.out.println("A");
else
System.out.println("E");
1.3 if语句练习_星期
1.4 if语句练习_季节
二 选择结构 switch语句
2.1 switch语句格式
switch(表达式) { //看到switch就是判断, 此步骤虚拟机要对表达式进行选择了
case 取值1 : 执行语句 ; break ; //哪个case满足则执行,break结束整个switch语句
case 取值2 : 执行语句 ; break ;
case 取值3 : 执行语句 ; break ;
default : 执行语句 ; break; //默认,缺省,所有case都不对就执行default,对于最后一个备选答案,break可以省略,因为有底下的{}结尾
}
byte short char >int
执行流程:如果switch后面的常量值与某个case后面的值相等,那么直接执行当前这个
case对应的语句,直到遇到break switch语句结束。
如果所有的值与常量都不同,那么执行default后面语句。
在jdk1.7后 switch后面可以使用String
2.2 switch语句特点
1,对于switch的表达式,只支持4种类型值 byte,short,char> int
2,写法case与default没顺序,程序先执行第一个case,所有的case没匹配才执行default(也就是说 写法可以乱执行规律不会乱case1 case2…default)
3,结束switch语句的两种情况:遇到break,整个switch语句结束的{}, break可以没有但是会产生穿透问题(在特定情况下可以提高效率)
4,如果匹配的case或者default都忘写break,程序会继续向下执行,但不作判断了,直到遇到break或者switch结尾结束。多个答案相同内容
5.case后面的值不能重复。
2.3 if和switch使用场景
if什么时候用
对于几个值的判断可以用,对于区间的判断可以用,对于运算结果是boolean类型可以用
开发时常用if ,很少用switch因为case后必须放具体值不能放区间和布尔型表达式
if
1.可以判断值
2.可以判断范围
3.可以判断boolean
switch
只能判断值
switch操作完全可以用if替换,switch它可以解决多个if判断问题,提高效率。
switch什么时候用
对于几个固定的值进行判断,可以使用if也可以用switch,建议使用switch,因为效率稍高
在jdk7.0版本,switch可以对字符串进行选择
在jdk5.0版本switch可以对新的数据类型enum进行选择
2.4 switch代码_计算器
2.5 switch代码_星期
2.6 switch代码_季节
三 循环结构 while语句
循环结构
循环解决的问题的重复的有规律的事
3.1 while语句格式
while(条件表达式) //while是循环的标示 条件是循环的开关
{ //while条件表达式后一定不能写; 否则循环体变独立代码块 机器会一直判断条件表达式
执行语句;
} //循环体结束后继续判断条件继续循环(CTRL+C强制停止)
//转圈,是否循环看条件,循环体执行后自动回去判断条件
3.2 while语句应用场景
while什么时候用
当某些语句需要被执行很多次的时候,就可以使用循环结构来解决 (一定要明确,哪些语句需要参与循环,哪些不需要)
3.3 while语句练习_转圈
int x=1;
while(x<3)
{
System.out.println("x="+x);
x++; //转圈第一看条件 第二看次数,想限定次数让x自增即可
}
3.4 while代码_打印1~10中的奇数
3.5 while代码_累加思想
3.6 while代码_计数器思想
作者:
仙兒哥
时间:
2013-4-10 02:14
3.7 do while语句
do while语句格式
do //do while无论条件是否满足,循环体至少执行一次
{
执行语句;
}while(条件表达式); //do while 中 while条件表达式后可以加分号
while,do while区别
do while无论条件是否满足,循环体至少执行一次
do wihle举例
int y=1;
do
{
System.out.println("y="+y);
y++;
}
while (y<3);
四 循环结构 for语句
4.1 for语句格式
for (初始化表达式 ; 循环条件表达式(控制循环) ; 循环后的操作表达式(步长))
{
执行语句;{}循环体
}
//循环条件表达式必须是布尔型
//表达式2开始循环 循环后判断表达式3满足了在循环
for结构最简形式(死循环)
for(;;){
循环体;
}
for循环的执行步骤
1.初始化表达式
2.循环条件 如果它为false,循环结束,为true,才可以循环
3.执行行循环体
4.执行步长
初始化表达式只被执行一次,循环时是在2,3,4步之间做循环操作。
for循环举例1
for(int x=0; x<2; x++;){
sop(x=?)
}
循环步骤
第一步 int x=0创建变量 初始化值为0
第二步 0<2满足则循环继续,读循环体(不满足循环结束)
第三步 x++, 1又小于2 再读循环体(不满足循环结束)
for循环举例2
示例:将1-10所有数打印到控制台上。
for(int i=1;i<=10;i++){
System.out.println(i);
}
通过上面示例来分析for结构中三个组成部分作用:
初始化表达式: int i=1; 进行变量的声明
循环条件 i<=10 它必须是一个true,false结果,如果为true,循环可以执行。如果为false,循环结束
步长 i++ 它的作用一般是对循环条件的改变
4.2 for和while的区别
for和while 的区别
定义变量循环之后还要使用这变量就用while,如果在循环中需要定义变量来控制循环的次数。
同时,该变量只为控制循环次数存在。循环结束,该变量就没有意义了。那么这时建议使用for循环
举例
int x = 1;
while(x<3)
{
System.out.println("x="+x);
x++;
}
System.out.println("x====="+x);
*/
for(int x=1; x<3; x++) //x变量作用域只在for语句内有效。循环结束,x变量被释放。
{
System.out.println("x="+x);
}
//System.out.println("x====="+x);//编译失败,因为x变量已经在内存中释放。所以访问失败。
对于for语句特殊的表现形式。三个表达式都不写。条件表达式不写,默认就是true.
for(; ;) //这是for循环的最简单的无限循环形式。
{
}
对于while语句的特殊表现形式
while(true) //这是while循环的最简单的无限循环形式。
{}
4.3 for的变形
for(;;){} 死循环,如果出现死循环可以按 ctrl+c中断
for括号内的三个组成部分,没有强制要求必须存在
//变形 1
/*
for(;;){
System.out.println(1);
}*/
//变形 2 在初始化变量位置没内容
/*
int i=1;
for(;i<=10;i++){
System.out.println(i);
}
//变形3 步长位置没内容
/*
int i=1;
for(;i<=10;){
System.out.println(i);
i++;
}
*/
//变形4 没条件时默认为true
for(int i=1;;i++){
System.out.println(i);
}
作者:
仙兒哥
时间:
2013-4-10 02:14
4.4 for循环嵌套
循环嵌套。
循环中还有循环。
for (int x=1; x<=3 ;x++ ) //外面1圈
{
for(int y=1; y<=4; y++) //里面4圈
{
System.out.println("y="+y);
}
System.out.println("----");
}
大圈套小圈思想
分析问题时这个变化一次,引发了好多次变化,这个又变化一次又引发了好多变化这是要用大圈套小圈思想
System.out.println中ln=line代表执行后回车换行 //ln:换行,在所有数据都打印完毕后,结尾处换行一次。
4.5 for嵌套代码_多行五星
4.6 for嵌套代码_三角形;
4.7 for嵌套代码_54321
4.8 for嵌套代码_1,12,123,1234,12345
五 break语句
5.1 break作用范围
只能应用于switch语句和循环语句。用于结束当前的swtich或者结束当前的循环
break单独存在时,下面不可以写任何语句。因为访问不到,是废话
举例1 break特点
for(int x=0; x<3; x++)
{
if(x==1) //一般情况下都要用到if来控制break流程
break;
System.out.println("x="+x);
}
举例2 break特点 //break在for嵌套中的作用范围
wai:for(int x=0; x<3; x++) //wai:for 就是给for循环起个名字
{
nei:for(int y=0; y<4; y++) //如break后没循环名 默认结束的是当前所在循环
{
System.out.println("y="+y);
break wai; //break wai这跳的是外循环,不起名就是内循环
}
}
六 continue语句
6.1 continue作用范围
只能应用于循环结构
continue单独存在时,下面任何语句都是废话。
continue:结束本次循环,继续下次循环。continue像是提反对意见
举例1 continue特点
for (int x=0;x<3 ;x++ )
{
continue //输出语句不执行
System.out.println("x="+x);
}
举例2 continue特点
for(int x=1; x<10; x++)
{
if(x%2==0)
continue; //打印结果1,3.5.7.9 continue像是提反对意见
System.out.println("x="+x);
}
6.2 break和continue区别
1.这两个语句离开应用范围,存在是没有意义的。
2.这个两个语句单独存在下面都不可以有语句,因为执行不到。
3.continue语句是结束本次循环继续下次循环。
4.标号的出现,可以让这两个语句作用于指定的范围
最简单死循环代码while ()
作者:
穆爱明
时间:
2013-7-9 09:08
学习一下,感谢分享!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2