一、if-else语句
if (关系/逻辑/算术表达式) {
当条件成立时所要运行的函数功能
}
else {
当if后的条件不成立时所要运行的函数体
}
二、switch语句
switch(参数) {
case 表达式1(即有可能输入的参数):
所要执行的函数体;
break;//用该语句跳出switch语句
case 表达式2:
所要执行的函数体;
break;
case 表达式3:
所要执行的函数体;
break;
default:
当输入的参数在上述表达式不存在时要执行的函数体;
break;
}
三、for循环及四道利用for循环的例题
for(初始化,确定循环开始的位置;循环执行条件;循环变量在每次循环后如何变化){
在循环进行时要运行的函数体;
}//在此函数运行时在函数体运行结束后在进行循环变量的变化
1.求斐波那契数列前40项的和
public class TestDemo {
public static void fibSum(int n) {//定义一个斐波那契数列求和方法,参数n为要求多少项的和
int[] fib = new int[n];//定义一个一维数组存放斐波那契数列
fib[0] = 1;
fib[1] = 1;//定义斐波那契数列前两项,如不定义用通项公式会出现数组越界问题
long sum = 0;//求和公式时使用
for (int i = 2;i < fib.length;i++) {//从第三项开始循环
fib[i] = fib[i-1] + fib[i-2];//斐波那契数列通项公式,将数组中所有元素利用公式求出并保存在数组中
}
for (int i = 0;i < fib.length;i++) {//求和
sum = sum + fib[i];//将斐波那契数列每项相加求和
}
System.out.println("斐波那契数列前"+ n +"项和为:" + sum);//输出前n项的和
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入计算斐波那契数列前多少项的和:");
int n = scanner.nextInt();//由键盘输入要求前多少项的和
fibSum(n);//调用斐波那契数列求和方法
}
}
2.用for循环产生20个随机数(10-20)
public class TestDemo {
public static void randNum() {
System.out.println("10-20范围内产生的20个随机数:");
for(int i = 1;i <= 20;i++){//用循环控制输出随机数的个数
double random = Math.random()*(20-10)+10;//用求随机数公式求10-20的随机数
System.out.println(random);//输出随机数
}
}
public static void main(String[] args) {
randNum();//调用求随机数的方法
}
}
3.输入一个数字,求他是几位数,并且顺序输出,逆序输出
public class TestDemo {
public static void determine(String n) {
char[] number = n.toCharArray();//将字符串类型的数字转换成数组储存
System.out.println("该数为" + number.length + "位数" );
System.out.println("正序输出该数:");
for (int i = 0;i < number.length;i++) {
System.out.print(number[i]);//将数组中元素正序输出,即将数字正序输出
}
System.out.println();
System.out.println("逆序输出该数:");
for (int i = number.length-1;i >= 0;i--) {
System.out.print(number[i]);//将数组中元素逆序输出,即将数字逆序输出
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个正整数:");
String n = scanner.nextInt();//输入数字,为字符串类型,方便函数的编写
determine(n);
}
}
4.求一个数字的二进制数有几个1
public class TestDemo {
public static int numof1(int n) {//2: 0000 0010
int count = 0;
while(n != 0) {
if((n &1) != 0) {
count++;
}
n = n >>> 1;
}
return count;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要计算的数字:");
int n = scanner.nextInt();
numof1(n);
}
}