一、判断语句实例
class VarDemo
{
public ststic void main(string[] args)
{
/*
需求:根据用户指定的具体数据,判断该数据对应的星期。
1-星期一-Monday
思路:
用户输入无法获取但是那只是具体数据的一种获取手段而已。
而我们要做的功能仅仅是对用户指定的数据进行对应星期的打印而已。
所以具体的数据不确定,完成可以使用变量来标示。
我们只对变量进行操作即可,至于变量的值,可以有用户决定。
使用if语句。
*/
int week=2;
if(week==1)
system.out.printin("星期一"+week);
else if(week==2)
system.out.printin("星期二"+week);
else if(week==7)
system.out.printin("星期日"+week);
else
system.out.printin("无对应的星期"+week);
/*
一年有四季
春季:3、4、5
夏季:6、7、8
秋季:9、10、11
冬季:12、1、2
根据用户输入的月份,给出对应的季节
*/
int month;
if(month==3||month==5)//提高代码的复用性
system.out.printin(month+"月是春季");
//else if(month==3)
//system.out.printin(month+"月是春季");
else if(month==6||month==7)
system.out.printin(month+"月是夏季");
else
system.out.printin(month+"无对应");
int month=13;
if(month<1||month>12)
system.out.printin(month+"月没有对应的季节");
if(month>=3&&month<=5)
system.out.printin(month+"月是春季");
else if(month>=9&&month<=11)
system.out.printin(month+"月是秋季");
else
system.out.printin(month+"月是冬季");
}
}
class VarDemo
{
public ststic void main(string[] args)
{
//选择结构
/*
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
default:
执行语句;
break;
}
*/
int x=3;
switch(x)//c byte,short,int,char
{
case 4:
system.out.printin("a");
break;
case 1:
system.out.printin("b");
break;
case 3:
system.out.printin("c");
break;
default:
system.out.printin("d");
break;
}
int a=4,b=2;
char opr='-';
switch(opr)
{
case '+':
system.out.printin(a+b);
break;
case '-':
system.out.printin(a-b);
break;
default:
system.out.printin("d");
break;
}
//执行机制 无break继续执行语句知道碰到break、或大括号终结
int x=2;
switch(x)//运行结果 d、a、b
{
default:
system.out.printin("d");
//break;
case 4:
system.out.printin("a");
//break;
case 1:
system.out.printin("b");
break;
case 3:
system.out.printin("c");
break;
}
//实例 用户输入的数据对应的出星期
int week=1;
switch(week)
{
case 1:
system.out.printin(week+"对应的是星期一");
break;
case 2:
system.out.printin(week+"对应的是星期二");
break;
....以此类推
}
int month=13;
switch(month)
{
case 3:
case 4:
case 5:
system.out.printin(month+"月对应的是春季");
break;
//以此类推...
deault:
system.out.printin(month+"没对应的月份");
break;
}
//if:
1、对具体的值进行判断
2、对区间判断
3、对运算符结果是boolean类型的表达式进行判断。
//switch:
1、对具体的值进行判断
2、值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。
效率相对高一点。
}
}
二 、循环结构
class VarDemo
{
public ststic void main(string[] args)
{
//循环结构
//代表语句:while、do while、for
/*
while(条件表达式)
{
执行语句;
}
*/
int x=1;
while(x<3)//x=1、x=2
{
system.out.printin("x="+x);
x++;
}
/*
do
{
执行语句
} while(条件表达式)
语句特点:无论条件是否满足,循环体至少执行一次。
*/
int x=1;
do
{
system.out.printin("x="+x);
x++
}while(x<3)
// 实例:
/*
获取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<=10)
{
sum=sum+x;
x++;
}
system.out.printin("sum="+sum);
}
}
class WhileDemo
{
public ststic void main(string[] args)
{
/*
实例:
1~100之间6的倍数出现的次数。
*/
int x=1;
int times=0;
while(x<=100)
{
if(x%6==0)
times++;
//system.out.printin("x="+x);打印16个6的倍数
x++;
}
system.out.printin("times="+times);
}
}
class ForDemo
{
public ststic void main(string[] args)
{
/*
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;(循环体)
}
for(int x=1;x<3;x++)
{
system.out.printin("x="+x);
}
*/
int x=1;
for(system.out.printin("a");x<3;system.out.printin("c");)
{
system.out.printin("d");
x++;
}
//运行结果:a,d、c、d、c
//for(int x=1,int y=2;x<3,y>5;x++,y--)
//实例
int sum=0;
for(int x=1;x<=10;x++)
{
sum=sum+x;
}
system.out.printin("sum="+sum);
/*
for和while的特点
1、for和while可以互换。
2、格式上的不同,在使用上有点小区别。
如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。
*/
//打印1~10十个数字
int x=1;//浪费内存空间
while(x<5)
{
system.out.printin("x="+x);
x++;
}
system.out.printin("x==="+x);
for(int y=1;y<5;y++)//有独立的区间,超过作用域就释放.for循环一结束就释放。
{
system.out.printin("y="+y);
}
// system.out.printin("y==="+y);报错,有独立的区间,超过作用域就释放.for循环一结束就释放。
//无线循环最简单的形式。
// while(true){}
//for(;;){}
/*
当对某些代码执行很多次时,使用循环结构完成。
当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。
注意:在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
循环通常情况下,需要定义条件,需要控制次数。
*/
}
}
三、实例
//语句
class ForForDemo
{
public ststic void main(string[] args)
{
//大圈套小圈思想
for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
{
system.out.printin("ok");//读取3*4=12次ok
}
}
/*
*****
*****
*****
*****
for(int x=0;x<4;x++)//外循环控制的是行数
{
for(int y=0;y<5;y++)//内循环控制的是每行的个数
{
system.out.print("*");//system.out.printin("*");
}
system.out.printin();//换行=printin
}
*/
/*
*****
****
***
**
*
int z=5;
for(int x=0;x<5;x++)
{
for(int y=0;y<z;y++)
{
system.out.print("*");
}
system.out.printin();
z--;
}
int z=1;
for(int x=0;x<5;x++)
{
for(int y=z;y<5;y++)
{
system.out.print("*");
}
system.out.printin();
z++;
}
for(int x=0;x<5;x++)
{
for(int y=x;y<5;y++)
{
system.out.print("*");
}
system.out.printin();
}
*/
/*
*
**
***
****
*****
system.out.printin("------");
for(x=1;x<=5;x++)
{
for(int y=1;y<=x;y++)
{
system.out.print("*");
}
system.out.printin();
}
system.out.printin("------");
*/
/*
54321
5432
543
54
5
for(int x=1;x<=5;x++)
{
for(int y=x;y>=x;y--)
{
system.out.print("*");
}
system.out.printin();
}
*/
1
22
333
4444
55555
/*
for(int x=1;x<=5;x++)
{
for(int y=1;y<=x;y++)
{
system.out.print(x);
}
system.out.printin();
}
*/
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
for(x=1;x<=3;x++)
{
for(int y=1;y<=x;y++)
{
system.out.print(y+“*”+x+"="+x*y+"\t");
}
system.out.printin();
}
//\n:回车,\t:制表符,\b:退格,\r:按下回车键。
window系统中回车符其实是由两个符号组成的 \r\n
linux中回车符是\n
system.out.printin("\"hello world"\");//"hello world"
system.out.printin("\\hello world\\");//\hello world\
*/
/*
* * * * *
-* * * *
--* * *
---* *
----*
for(int x=1;x<=5;x++)
{
for(int y=1;y<x;y++)
{
system.out.print("-");
}
for(int z=x;z<=5;z++)
{
system.out.print("* ");
}
system.out.printin();
}
*/
}
}
class BreakContinueDemo
{
public ststic void main(string[] args)
{
/*
break:跳出。
break作用的范围,要么是switch语句,要么是循环语句。
注:当break语句单独存在时,下面不要定义其他语句,因为执行不到。
2、break跳出所在的当前循环。如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号完成。
*/
/*for(int x=0;x<3;x++)
{
if(x==1)
break;
system.out.printin("x="+x);
}
*/
xiaoqiang: for(int x=0;x<3;x++)
{
wangwu:for(int y=0;y<4;y++)
{
system.out.printin("x="+x);
break xiaoqiang;//结果:0
}
}
/*
continue:继续
作用范围:循环结构
for(int x=0;x<3;x++)
{
system.out.printin("x="+x);
continue;
}
*/
//结束本次循环,继续下次循环。
//如果continue单独存在时,下面不要任何语句,因为执行不到。
//
for(int x=0;x<11;x++)
{
if(s%2==0)
continue;
system.out.printin("x="+x);
}
}
}
四、函数
//函数
class FunctionDemo
{
public ststic void main(string[] args)
{
// int a=3;
// int b=4;
// int c;
// c=a+b;
// c=5+7;
// c=9+8;
int c=add(3,4);
system.out.printin("c="+c);
}
static int add(int a,int b)
{
return a+b;
}
}