if else语句:
if(关系表达式)//括号里面必须是布尔表达式
{语句体1
}
else
{
语句体2
}
执行流程先判断关系表达式为true还是false,如果是true,则执行语句体1,如果为flase,则执行语句体2.
for语句:
结构;
for(c初始化语句;条件1;增量语句)
{
//代码块1
}
for语句解释:先执行初始语句,接着条件1的判断为true,在执行代码块1,然后执行增量语句,然后条件1的判断,如此循环直到条件1为false.
练习:
1,
判断是否为素数
public static boolean su(int a){
for(int i=2;i<a;i++){
if(a%i==0){
return false;
}
}
return true;
}
boolean c=su(6);
输出结果为flse,说明6不是素数
2,
比较俩个数的大小
public static int Max2(int a,int b){//void无返回值,
if(a>b){System.out.println("a>b");
return a;
}
else if(a==b){System.out.println("a==b");
}
else{System.out.println("a<b");}
return a;
}
int a =10;
int b = 20;
Max2(a,b);
输出结果为a< b
3,阶乘计算
public static int jiecheng(int n){
int t =1;
for(int b=1;b<=n;b++){
t=t*b;
}
return t;
System.out.println(jiecheng(3));
}
此时计算3的阶乘
输出结果为6.
4,计算1+2+3+…+n
public static int sum(int n){
int sum=0;
for(int a=1;a<=n;a++){
sum=sum+a;
}return sum;
}
System.out.println(sum(10));
此时计算的是1+2+3+…+10的和输出结果为55.
5,输出乘法表。
public static void chengfabiao(int n){
int v;
for(int c=1;c<=n;c++){
for(int b=1;b<=n;b++){
v=b*c;
System.out.println(c+"*"+b+"="+v);
}
}
}
chengfabiao(5);
此时输出的是5以内的乘法表,结果如下
6,计算斐波那契数列的第n个数
public static int FBNQ(int n){
int a1=1;
int a2=0;
int a3=0;
for(int i=0;i<n;i++)
{
a3=a1+a2;
a1=a2;
a2=a3;
}
return a3;
}
System.out.println(FBNQ(6));
此时输出的为斐波那契数列打的第六个数,结果为8.
7,计算n以内可以被5整除又可以被3整除的数
public static void fun2(int n){
int i;
for( i=0;i<=n;i++)
{if(i%15!=0){
continue;}
System.out.println(i);
}
}fun2(20);
结果为15.
8,计算从0+1+2+..+n,当n为多少时,和小于10.
int tmp=0;
int i;
for( i=1;;i++){
tmp=tmp+i;
if(tmp>10){
break;
}
当i等于5时,0到n的值超过了10,所以输出结果为5.
switch 语句
不能用作switch参数的有:boolean double float long
一般形式:
switch(表达式){
case 常量表达式1: 语句1;//一个case只能表示某一种情况,不能表示多种。
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
执行过程是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
一般在每一句case后面加入break语句,防止得到多余的输出结果。
注意事项:
1.case后的常量表达式不能相同;
2. case后的语句可以有多个且不用花括号括起来;
3. case和default子句的先后顺序可以先后变动,default子句可以省略不用;
练习:
题目,
当输入结果为A时候,输出80分以上
当输入结果为B时候,输出70-80
当输入结果为C时候,输出60-70
当输入结果为D时候,输出50-60
当输入结果为E,F时候,输出没救了
public static void main(String[] args) {
char a ='E';
switch(a){
case 'A':
System.out.println("80分以上");break;
case 'B':
System.out.println("70-80");break;
case 'C':
System.out.println("60-70");break;
case 'D':
System.out.println("50-60");break;
case 'E':
System.out.println("没救了");break;
default:
System.out.println("没救了");break;
}
}
}
此时的输入为E,所以输出结果为没救了。
交换俩个数的值
public static void swap(int [] a){
int c;
c= a[0];
a[0] =a[1] ;
a[1] = c;
}
public static void main(String[] args) {
int a=1;
int b=2;
int z[]=new int[2];
z[0]=a;
z[1]=b;
swap(z);
a=z[0];
b=z[1];
System.out.println("a"+"="+a);
System.out.println("b"+"="+b);
}
结果为
final:
final int A=10;//常量,初始化之后不能改变其值 变量名最好大写 编译的时候就可以确定
int z;//局部变量,定义的时候,必须初始化