JAVA基础(分支、循环、一维数组)

//分支结构

//单分支
if(条件){代码}
例:

		 int a=1;
 	 	 if(a>0)
       	System.out.println(a);

//双分支
if(条件){代码} else{代码}
例:

	 int a=1;
   		if(a>2)
       System.out.println(a);
  		 else
       System.out.println("条件不成立");

//多分枝
if(条件1){代码1} else if(条件2){代码2}…else{代码N} //if做区间条件
例:

		 Scanner input = new Scanner(System.in);
          int score = input.nextInt();
                if(score>=90){
                     System.out.println("优秀");
                }else if(score>=80){
                        System.out.println("良好");
                   }else if(score>=70){
                        System.out.println("中等");
                   }else if(score>=60){
                        System.out.println("合格");
                    }else{
                            System.out.println("不合格");
                }
                代码功能为输入成绩,判定成绩等级。

switch(算术表达式) {case 常量1:代码1;break;…default:代码N;} //switch做等值条件(贯穿现象,只支持long以下的整数(char,枚举),JDK1.8之后开始支持String)。

要注意的是每一个case代码后面都要接入break,否则会默认执行下一个case条件和代码。
例子

			int a=1;
            switch(a){
                    case 1:
                            a--;
                    case 2:
                            a--;
                    case 3:
                            a--;
                    default:
                            a--;
            }
            System.out.println(a);
            此处不添加break,则输出为-4,a为1执行case 1,因没有break打断就将所有代码全部执行。

switch综合例子:

			Scanner input = new Scanner(System.in);
            int year,month,day=0;
             year = input.nextInt();
             month = input.nextInt(); //输入年月
            boolean isLeapYear = (year%4==0 && year%100!=0) || year%400==0;//判断是否为闰年
            System.out.println(year+(isLeapYear?"是":"否")+"闰年");
            switch(month){
                    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
                          day = 31;
                            break;
                    case 4: case 6: case 9: case 11:
                              day = 30;
                            break;
                    case 2:
                            day = isLeapYear ? 29:28;
                            break;
            }						//判断输入月数有多少天
            System.out.print(MessageFormat.format("{0}年{1}月有{2}天",year,month,day));
            此程序通过输入的年月来判断当月有多少天最后再输出年月日。要注意程序要判断当年是否为闰年(年份能被4整除且不能被100整除   或者年份能被400整除),年份为闰年时2月有29天。

//嵌套分支
if(){
if(){}
switch(){}
}
//多个变量构成复杂条件,建议用嵌套分支,一层只负责一个变量构建的条件
例:

	int a=9;
         if(a%9==0){
                 a--;
                 if(a%2==0)
                  System.out.print(a);
           }

//循环
//概念:重复性操作
//四要素:
//1、循环变量的声明和初始化
//2、循环条件
//3、循环体
//4、循环变量的更新
//使用循环解决问题
//1、是否存在重复性操作
//2、如果存在,确定四要素
//3、选择循环结构,套用其语法
//while 和 do…while 循环次数不确定的循环
// while 先判断后执行
// do…while 先执行后判断
//for 循环次数确定
//4、确认循环是否能够正常结束
//基础循环
while(条件){循环体}

	  int a=0;
           while(a<4)
           {
                   System.out.println(a);
                   a++;
           }
           //输出结果为0、1、2、3,共执行了四次

do{循环体}while(条件);
例:

		int a=0;
           do
           {
                   a++;
                   System.out.println(a);
           }while(a<0);
           根据do while循环先执行再判断的特性此处会输出1,然后停止循环。

for(循环变量的声明和初始化;条件;循环变量的更新){循环体}
例:

			for(int i=0;i<4;i++){
                   System.out.println(i);
           }
           //输出0,1,2,3。执行四次

//循环跳转语句
continue; 结束本次循环,进入下一次循环
break; 结束循环
continue例:

		for(int i=0;i<4;i++){
                   if(i==1) continue;
                   System.out.println(i);
           }
           //输出结果为0,2,3当i等于1后执行continue,结束本次循环(跳过输出语句),进入下一次循环,下次循环里则执行输出2的操作。

break例:

           for(int i=0;i<4;i++){
                   if(i==1) break;
                   System.out.println(i);
           }
           //输出0,当i等于1后执行break,结束整个循环。

//增强循环
for(xxx v : arr){
v 范围[0~arr.length-1] 只能看不能改
}
即输出数组内所有元素
如:

         int[] array = new int[10];
	   	array[0] = 0; array[1] = 1;
   		 for(int i=2;i<array.length;i++){
     	  array[i]=array[i-2]+array[i-1];/      
		}
	  	 
	  	 for(int c: array)
	   	{ System.out.print(c+"\t"); }
	  此处代码最后两行即是将斐波那契数列前10项输出。

//一维数组
//变量概念:一种存储空间的表示
//数组概念:一组类型相同的 连续的 存储空间的表示
//优点
//1、类型相同:不用考虑类型
//2、连续:遍历
//缺点
//1、类型相同:无法解决不同类型多个值的存储
//2、连续:插入,移除 很麻烦
//使用数组四步骤
//1、声明 xxx[] array;
//2、分配空间 array = new xxx[int LENGTH];
//3、赋值 array[int INDEX] = VALUE;
//4、使用 System.out.println(array[int INDEX])
//数组的特性
//1、不可变
//2、长度固定: int len = array.length;
//3、下标(索引):0~array.length-1 ; 如果超出范围会报异常
例:

		 int[] a = new int[10];
           for(int i=0;i<a.length;i++){
                   a[i]=i;
                   System.out.println(a[i]);
           }

//特殊语法
// 1+2+3 : xxx[] array = {VALUE1,VALUE2,…};
int[] arr ={};
int[] arr2 = {5,7,9};
int[] arr3 = new int arr[]{5,7,9};

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值