您的位置:首页 > 编程语言 > Java开发

java基础学习二(三元运算符,if,switch,循环语句)

2013-09-04 08:44 239 查看
三元运算符是一个运算符必须有结果 格式(条件表达式)?表达式1:表达式2;条件为true运行1,false为2.

int x=1,y;

y=(x>1)?100:200; y=200.

程序流程控制:判断结构 if语句 三种表达式 1.if(条件表达式)

{
执行语句;


2.if(条件表达式)

{
执行语句;
}
else
{
执行语句
}

3.if(条件表达式)

{
执行语句;
}
else if(条件表达式)
{
执行语句;
}
……
{
执行语句;
}

class IfTest

{public static void main(String[]args)
{
//需求1:根据用户定义的数值不同,打印对应的星期。
int num=1;
if(num==1)
System.out.println("monday");
else if(num==2)
System.out.println("tusday");
}

}

//需求2;根据用户指定月份打印该月季节

int x=4;

if(x==3||x==4||x==5)

System.out.println(x+"春季")

else if(x==6||x==7||x==8)

System.out.println(x+"夏季")

方法2

if(x>12||x<1)

System.out.println(x+"不存在")

if(x>=3&&x<=5)

System.out.println(x+"春季")

选择结构 :switch语句 特点

格式 

switch(表达式)//byte short int char只包含这四种类型的数

{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
...
default:
执行语句
break;//表示结束 可以省略 没有则运行到}处
}

例:int a=4,b=2;

char ch='+';

switch(ch)

{
case '-':
System.out.println(a-b);
//break;这样的话会把能执行的都执行完才结束
case '+';
System.out.println(a+b);
//break;
case'*';
System.out.println(a*b);
break;
case '/';
System.out.println(a/b);
break;
default://可以改变顺序 先执行上面的case语句 结束有两种一种到break一种到}
System.out.println("nono")
可以这样执行结果一样的case
case 4
case 5
case 3
System.out.println(x+"夏季")

}

/*if和switch语句很像。

具体使用哪个 如果判断的数值不多 而且符合byte short int char四种类型

虽然两个语句都可以使用,建议使用swith,因为效率稍高

其他情况:对区间判断,对结果为boolean类型判断,使用if她的范围广些

*/

循环结构

/*循环结构:while格式:

while(条件表达式)

{
执行语句;

}

do

{
执行语句;

}

while (条件表达式);//do while特点 条件是否满足循环体至少被执行一次

for格式

for(初始化表达式;(合理的出事表达式即可)循环条件表达式;循环后的操作表达式)多表达式用逗号隔开

{
执行语句;

}

*/

class ThreeDay 

{
public static void main(String[] args) 
{
int x=1;
while(x<3)//后面加分号的话就运行不下去了
{
System.out.println("x="+x);//循环语句
x++;//此时x++和++x一样
}

}

//do while实例:

do

{
System.out.println("do:x="+x);//第一步
x++;

}

while (x<3);//执行完上面的一次后才执行while

//for循环实例:

for(int x = 0;x<3 ; x++)//定义的int x只在大括号范围内有效 
{
System.out.println("x="+x);
}

上面的用while法表示
int x=0;

while(x<3)
{
System.out.println("x="+x);
x++;

}

1.变量有自己的作用域,对for来说 如果控制循环的增量定义在for语句中

那么该变量只在for语句中有效。for语句执行完毕,变量在内存中释放出来

2.for和while可以进行互换,如果只是定义循环增量用for语句更适合

总结:

什么好时候使用循环结构?

当对某些语句执行很多次时,就是循环结构。

/*无限循环的最简单表现形式。

for(;;){}

while(true){}

练习1获取1~10的和,并打印*/

//while语句写法:

//一、定义变量用于存储不断变化的和。

int sum = 0;

//二、定义变量,记录著不断变化的被加的数。

int x = 1;

//三、定义循环,重复加法的过程。

while(x<=10)
{

sum =sum+x;

x++;
}

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

//for语句写法:

int sum = 0;

for(int x = 1;x <= 10;x++)
{

sum +=x;
}

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

//练习2、1~100之间7的倍数的个数并打印。

思路:

操作步骤:

int sum = 0;

for(int x = 2;x <= 100; x++)
{

if(x%7==0)
sum++;
}

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

//累加思想 原理:通过变量记录住操作的结果。

//记数器思想 原理:通过一个变量记录住数据的状态变化,也是通过循环完成。

//语句嵌套形式,就是语句中还有语句。

//循环嵌套:

for(int x=0;x<3;x++)

{

for(int y=0;y<4;y++)//循环完成后才会回到上一个循环
{
System.out.println("ok");//会打印12个ok

}

}

/*练习打印下列图形

*****

****

***

**

*

发现图形有很多行,每一行有很多列

使用嵌套循环解题

*/

int z=0;

for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5

{
for (int y=z;y<5 ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print("*");
}
System.out.println();
z++;

}

简化版://因为y的值随x的值变化

for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5

{
for (int y=x;y<5 ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print("*");
}
System.out.println();

}

/*练习打印下列图形

*

**

***

****

*****

*/

for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5

{
for (int y=4-x;y<5 ;y++ )//要使每行的元素数增多 故定义一个变量来执行 观察x,y的关系
{
System.out.print("*");
}
System.out.println();

}

//练习打印乘法口诀表

/*

1*1=1

1*2=2   2*2=4

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

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

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

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

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

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

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

*/

for (int x=1;x<=9 ;x++ )//因为外循环决定行数 共五行所以x<5

{
for (int y=1;y<=x ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();

}

//规律 尖朝上可以改变条件让条件随着外循环变化,尖朝下可以改变初始化值让初始化值随外循环变化

break(跳出)应用范围:switch/循环语句 能够结束循环结构

 w:for (int x=0;x<3 ;x++ )

{
for (int y=0;y<4 ;y++ )
{
System.out.println("x="+x);
break w;//此时break结束的是外循环
}

}

continue(继续)只能作用于循环结构
for (int x=o;x<10 ;x++ )
{
if (x%2==1)
continue;//结束本次循环 进行下次循环 上方条件满足不执行continue下的语句
System.out.println("x="+x)
}

/*

记住:1.break和continue语句的作用范围

2.break和continue单独存在时,下面的任何语句都将执行不到

练习:打印

    *

   * *

  * * *

 * * * *

* * * * *

*/

for (int x=0;x<5 ;x++ )

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

for (int z=0;z<x ;z++ )

{
System.out.print("* ");

}

System.out.println();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息