关于逻辑控制语句(顺序结构、条件分支结构、循环结构),数组的课程笔记

逻辑控制语句:


1.顺序结构

2.条件分支结构
    1.如果XXX,就XXX     ---if() 
    2.如果XXX,就XXX ,否则XXX     if  else
    3.如果XXX,就XXX ,否则,如果XXX 就XXX,否则XXX    if()   else if()   else

    switch   case:

        (1)只只适用于判断值是否相等
        (2)switch(条件) -> 要判断的条件
            条件: byte/short/int/char/String
        (3)case:
            a.case后面接的是要对比的值
            b.case具有穿透性的,遇到break结束
            c.defalut(默认情况):相当于if-else if () - else情况中的 else

   

package day02;

public class demo05 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int month = 11;
        //switch 后跟的是要判断的变量
        //要判断的变量:可以放能自动转换成int 的值
        //byte   short   int    char      JDK1.7  string
        switch(month) {
        //case具有穿透性
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println("31");break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println("30");break;
            case 2:
                System.out.println("28");break;
            default:
                System.out.println("输入月份有错误");break;
        }
    }

}
        
          


package day02;

import java.util.Scanner;

/*
 * if条件分支结构
 */
public class demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //需求:成绩=100,买一辆小汽车
        //JDK  类   变量名
        //导包快捷键 ctrl   shift   o
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入一个成绩");
        int score=scanner.nextInt();
        
        //int score=100;
        if(score==100) {
            System.out.println("买一辆小汽车");
        }else {
            System.out.println("买一堆试题");
        }
    }

}


3.循环结构

for  --已知次数,有规律可循
    int i= 0   循环初始值,只执行一次
     int <=100   判断是否进入循环
    循环体内容    
     i++   步长 i的变化值


while  --没有规律,不知道次数的时候使用
    
do-while  先执行一次,再循环

while和do-while不能进行随意切换的情况:
              第一次就不符合循环条件

数组

批量定义变量

  1.声明(定义)
      int[] arr;
      char[] c;
      double[] d;
      byte[] b;

  2.初始化
      a.静态赋值
          特点:只能在声明的同时初始化
              int[] arr = {1,2,3,4};

      b.静态赋值
          特点:可以进行重复赋值
              int[] arr = new int[]{1,3,4,5}

    静态赋值特点:
        都是在声明的时候就已经确定了数组的长度和数组的元素

    c.动态赋值
        特点:在定义数组是只确定了数组的长度
            所以有默认初始值:
                int -> 0
                double -> 0.0
                char -> '\u0000'
                String -> null
                boolean -> false

  3.修改(获取)数组的元素
      通过下标获取(修改),下标都是从0开始的
      数组下标的范围:0 ~ length-1

  4.数组的属性 length  
          数组的长度 = 数组的元素个数

  5.数组的遍历/迭代
      依次获取数组中的元素

package day02;

import java.util.Arrays;

/*
 * 数组
 */
public class demo09 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//数组的定义:
		
		//静态赋值,
		//int [] arr 声明数组变量
		//只能在声明的时候赋值
		int [] arr1  = {1,2,3,4};
		
		int [] arr2 = new int [] {2,3,4};
		arr2 = new int[] {3,4,5};//重复赋值
		//静态赋值:在定义时已经确定了数组元素
		
		
		
		//动态赋值
		//[5]   5代表数组长度
		int [] arr3 = new int[5];//{0,0,0,0,0,}
		
		//想要获取arr1数组中的元素2
		//下标从0开始
		System.out.println(arr1[1]);
		
		
		//给arr3中的元素赋值
		arr3[0] =2;
		arr3[1] =2;
		arr3[2] =2;
		arr3[3] =2;
		arr3[4] =2;
		System.out.println(arr3[2]);
		//java.lang.ArrayIndexOutOfBoundsException: 数组下标越界异常
		
		//数组中的属性length  长度
		System.out.println(arr3.length);
		//数组的循环/遍历
		for(int i=0;i<arr3.length;i++) {
			System.out.println(arr3[i]);   //挨个获取数组中的元素
		}
		
		
		//打印所有的数组元素
		//System.out.println(arr3);//[I@424c0bc4
		System.out.println(Arrays.toString(arr3));
		
		//java.lang.NullPointerException   空指针异常
		arr3 = null;
		System.out.println(arr3[0]);
		
	}

}

练习题:

//练习题:
package day02;

import java.util.Scanner;

public class demo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//找出公约数是5的数,再找出公约数是2的数
		for(int i=1;i<=100;i++) {
			if(i%5==0) {
				if(i%2==0) {
					System.out.print("公约数为:");
					System.out.println(i);
				}
			}
		}
		
		//当X和Y大于2时,求和
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入两个数x,y");
		int x=scanner.nextInt();
		int y=scanner.nextInt();
		if(x>2) {
			if(y>2) {
				System.out.println(x+y);
			}
		}

		//需求:判断是否是闰年
		//四闰百不闰,四百闰
		Scanner scanner = new Scanner(System.in);
		System.out.println("输入一个年份:");
		int year=scanner.nextInt();
		if((year%400==0)||(year%4==0 && year%100!=0)) {
			System.out.println("是闰年");
		}else {
			System.out.println("不是闰年");
		}

		
	}

}

package day02;

import java.util.Scanner;

public class demo04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		System.out.println("输入商品单价");
		int a=scanner.nextInt();
		System.out.println("输入商品数量");
		int b=scanner.nextInt();
		System.out.println("输入实付金额");
		int money=scanner.nextInt();
		double sum=0;
		sum=a*b;
		if(sum>=500) {
			sum=sum*0.8;
		}
		
		System.out.println("应付金额"+sum);
		if(money>=sum) {
			sum=money-sum;
			System.out.println("找零:"+sum);
		}else {
			sum=sum-money;
			System.out.println("实付金额不够,应再付"+sum);
		}
		
	}

}

package day02;
//需求:输出几天后是星期几
import java.util.Scanner;

public class demo06 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scanner = new Scanner(System.in);
		System.out.println("输入几天后");
		int a=scanner.nextInt();    //几天后
		System.out.println("输入今天星期几");
		int b=scanner.nextInt();     //今天星期几
		int c;           
		c=a%7;     
		switch(c) {
		case 1:
			System.out.println("星期"+(b+1));break;
		case 2:
			System.out.println("星期"+(b+2));break;
		case 3:
			System.out.println("星期"+(b+3));break;
		case 4:
			System.out.println("星期"+(b+4));break;
		case 5:
			System.out.println("星期"+(b+5));break;
		case 6:
			System.out.println("星期"+(b+6));break;
		case 0:
			System.out.println("星期"+(b+0));break;
		default:
			System.out.println("输入错误");break;
		}
	}

}


package day02;
//题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
//小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   
public class demo10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int arr1[] = new int[20];
		arr1[0]=2;
		arr1[1]=2;
		for(int i=2;i<arr1.length;i++) {
			arr1[i]=arr1[i-1]+arr1[i-2];
		}
		System.out.println(arr1[19]);
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值