JAVA基础篇三

if语句

  1. 单分支结构
if(条件表达式){
    语句/语句块;
}
  1. 双分支结构
if(条件表达式){
   语句/语句块1;
   }
else{
     语句/语句块2;
     }
  1. 多分支结构
if(条件表达式){
   语句/语句块1;
   }
else if{
     语句/语句块2;
     }
     ...
else if{
    语句/语句块n;
    }
 else{
    语句/语句块n+1;
    }     
  • 条件表达式可以是关系表达式、逻辑表达式、算术表达式等。
  • 该语句的作用是当条件表达式的值为真时,执行if后的语句(块),否则不做任何操作,控制转到if语句的结束点。

switch语句

switch(控制表达式){
    case(常量表达式)1;
       语句序列1
       break;
     case(常量表达式)2;
       语句序列2
       break;
       .....
      case(常量表达式)n;
       语句序列n
       break;
}
  • 如果case标签后的常量表达式都不等于控制表达式的值,且存在一个default标签,则控制表达式转到default标签后的语句 序列。
  • 如果case标签后的常量表达式都不等于控制表达式的值,且不存在default标签,则控制表达式将跳出switch语句执行后继语句。

控制表达式所允许的数据类型:整数类型(byte,short,int)、字符类型(char)或者没有枚举类型。
控制表达式不允许的数据类型:long float double
case标签后的常量表达式只能为常数或常量,不能为变量

for循环

for(初始化设置表达式;循环执行条件;循环变量的增减量){
    循环语句序列;
}

for循环结构中的三个表达式都是可选的

  • 如果省略循环执行条件表达式,Java即认为循环继续条件永远为真,从而产生死循环。

for each循环

for(变量:数组或集合){
   循环体语句序列;
}
  1. “变量”是一个循环变量,在循环执行过程中,该变量依次获取数组或集合中各元素的值。
  2. “变量”的类型必须与数组或集合中的元素的类型一致
  3. 在for each循环体语句序列中,数组或集合的元素是只读的,其值不能改变。

求斐波那契数列前n项和

/**
 * 斐波那契数列(Fibonacci sequence),又称黄金分割数列、兔子数列。
 * 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
 * 在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
 */
public class Fibonacci {

    //创建函数fibo()
    public static int fibo(int n) {
            int f1 = 1;
            int f2 = 1;
            int f3 = 1;
            for(int i = 3;i <= n;i++) {
                f3 = f1+f2;
                f1 = f2;
                f2 = f3;
            }
            return f3;
        }
    public static void main(String[] args) {
        int sum = 0;    //初始化和为0
        Scanner input = new Scanner(System.in);
        int j = input.nextInt();   //读入要求前多少位斐波那契数
        for(int i = 1;i <= j;i++){   //利用循环输出斐波那契数列
            System.out.println(fibo(i));  //调用fibo()函数输出斐波那契数列
            sum += fibo(i);  //求前j项和
        }
        System.out.println("前"+j+"位斐波那契数列和为:"+sum); //输出所求和
    }
}

用for循环产生20个随机数(10-20)

package com.tulun.src;

import java.util.Scanner;

/**
 * 用for循环产生20个随机数(10-20);
 *  a-b;  Math.random() *(b-a)+a      Math.random():[0,1)  double
 */
public class Random {

    //构建函数
    public static int random(int m){
        double a = Math.random() *(20-10)+10; //产生10到20的随机数,为double型
        return (int)a; //返回产生的随机数,并将其强转为整形
    }

    public static void main(String[] args) {
        System.out.println("请输入您需要产生的随机数位数:");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        //利用for循环产生n位10--20的随机数
        for(int x = 1;x <= n;x++){
            System.out.print(random(n)+" "); //输出随机数并以空格将两个数分开
            //每十个数一行
            if(x % 10 == 0){
                System.out.println();
            }
        }

    }
}

求一个数字的二进制数有几个1

public static int numof1(int n) {
        int count = 0;
        while(n != 0) {
            if((n &1) != 0) {
                count++;
            }
            n = n >>> 1;
        }
        return count;
    }
    public static int numofOne(int n) {
        int count = 0;
        while(n != 0) {
            count++;
            n = n & (n-1);
        }
        return count;
    }

next()和nextLine()的区别:

  • next():
    读取到有效字符后才可以结束输入;
    输入有效字符后再其后面输入的空格作为分隔符或者结束符;
    在输入有效字符之前遇到的空格,会自动将其去掉;

  • nextLine():
    以Enter为结束符,nextLine()返回的是输入回车之前的所有字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值