JAVA学习笔记Day02——基本语法

1、循环

while

循环条件会比循环体多执行一次

两种形式:

初始化
while(循环条件){
    循环体
    迭代
}

另一种

 初始化
while(循环条件,迭代){
    循环体
    迭代
}

do…..while

初始化
do{
    循环体
    迭代
}while(循环条件,迭代);

for

for循环中除了循环体,其他的都可以不写

条件不写:默认为true

    for(初始化;条件;迭代){
    循环体
}

for比while的优势:变量的生命周期,节省空间

用到的两个控制:

  1. break;(跳出指定循环,如没有指定,则跳出当前循环)
  2. continue;(跳出指定的本次循环,如没指定,则跳出最近的一次循环)

案例

判断100以内的素数

 public class Demo02{
 public static void main(String[] args){
     int sum = 0;
     int count = 0;
_L:
     for(int i = 2; i <= 100; i++){      
         boolean isPrime = true;

         for(int j = 2; j <= Math.sqrt(i); j++){
             count++;
             if(i % j == 0){
                 //isPrime = false;
                // break;
                //去掉isPrime的做法
                continue _L;            
     }
         }
         sum++;
         //if(isPrime){
             //sum++;
        // }

     }
     System.out.println("100以内的总个数为:" + sum);
     System.out.print("count = " + count);
 } 

}


2、方法

关键字修饰

不经常使用的

strictfp:strict float,point(意义不大,与gvm的实现有关,float的严格检查,可以修饰方法和类)
synchronized:同步
transient:修饰属性的,和序列化相关,修饰的属性不会被序列化,
volatile:只能修饰属性,善变的一种属性,最轻量级的线程锁
assert:断言,一般用于调试
native修饰方法,(本地方法),在java中没有方法体,在c语言中

修饰方法的:
abstract
final
native
private public protected
static
strictfp
synchronized

absract final 互斥不可一起使用

  • 方法 格式:

  • java只有单返回值

  • 斐波纳契数列
    1、1、2、3、5、8、13、21……….
    F1 = F2 = 1,Fn= Fn-1 + Fn-2;

案例:

public class Demo03{
    public static void main(String[] args){
        System.out.println("fibonacci(3) = " + fibonacci(3));
        System.out.println("fibonacci(4) = " + fibonacci(4));
        System.out.println("fibonacci(5) = " + fibonacci(5));
        System.out.println("fibonacci(6) = " + fibonacci(6));

        int num1 = 1;
        int num2 = 2;
        for(int k = 3; k < 6; k++){
            int temp = num1 + num2;
            num1 = num2;
            num2 = temp;
        }
        System.out.println("sum = " + num2);

    }

    // [注解][修饰符] 返回值类型[泛型定义] 方法名(参数列表)[throws异常声明] 方法体
    // 值传递,不会改变外面的值
        private static int add(int i, int j){
            return i + j;
        }

        // 引用传递,会改变外面的值
        private static void swap(int[] i, int[] j){
            int temp = i[0];
            i[0] = j[0];
            j[0] = temp;
        }

        // 斐波纳契数列递归
        private static int fibonacci(int num){
            // 跳出递归的条件
            if(num == 1 || num == 2){
                return 1;
            }else{
                return fibonacci(num - 2) + fibonacci(num - 1);
            }
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值