Java基础-基础语法复习(四)-流程控制

流程控制

顺序结构:指代码从上到下从左到右依次编译运行

分支结构

判断结构
if(){}
if(){}else {}
if(){}else if(){}
练习:输入一个数字,然后输出这个数字表示星期几
3 -> 星期三
选择结构
switch(选择){
case 选项1:Code1;break;
case 选项2:Code2;break;

}
switch()中需要一个选项,选项只能是byte/short/char/int,从JDK1.7开始,允许使用String
如果每一个case之后都有break,case顺序不影响结果
如果有一个或者多个case之后没有break,那么这个时候case之间的顺序影响结果
练习:输入两个数字以及一个符号,输出这两个数字在这个符号下运算产生的结果
5 9 + -> 14
switch(){
case “+”:…
case “-”:…
}
练习:输入三个数字表示年月日,输出这一天在这一年是第几天
2012 3 5 —> 65
2014 3 5 —> 64
需要判断平年闰年:逢百整除400;不逢百整除4

2012 % 4 == 0 --- true
2100 % 400 == 0 --- false 

循环结构
用于完成一些相同或者相似的重复的操作
while(逻辑值){
Code;
}
执行顺序:
在这里插入图片描述
练习:

  1. 求1-100以内所有的奇数的和 — i = 1; i += 2;
  2. 打印100以内能被3整除而不能被7整除的数字 — 先获取3的倍数 int i = 0; i += 3;
  3. 输入一个数字,输出这个数字是一个几位数
  4. 输入一个数字,输出这个数字的所有的因数 — 从1开始,逐个数字取余这个输入的数字,看是否能够整除
    20:1 2 4 5 10 20
    定义一个循环,需要三个要素:定义一个变量来控制次数,利用判断条件决定循环结束;在循环过程中需要改变变量
    do{
    Code;
    } while(逻辑值);
    在这里插入图片描述
    注意:无论条件是否满足,do-while的循环体必然至少执行一次。
    for(定义循环变量; 控制条件; 改变循环变量){
    Code;
    }
    在这里插入图片描述

习惯上如果变化不规律或者次数不确定一般使用while循环;如果变化规律或者是次数固定,一般是用for循环
求1-10的和 — for循环

int sum = 0;
for(int i = 1; i <= 10; i++){
	sum += i;
}

从控制台获取一个大于10的奇数

Scanner s = new Scanner(System.in);
int n = s.nextInt();
// 使用while循环
while(n < 10 || n % 2 == 0){
n = s.nextInt();
}
// 使用for循环
for(; n < 10 || n % 2 == 0; n = s.nextInt()){
}

练习:打印九九乘法表

1*1=1
1*2=2	2*2=4
1*3=3	2*3=6	3*3=9
。。。

思路:嵌套一个循环
练习:
百钱百鸡 — 3文钱1只公鸡,2文钱1只母鸡,1文钱3只小鸡;100文钱如何买恰好100只鸡? — 先定义一个循环表示公鸡,嵌套一个循环表示母鸡,计算小鸡的个数,根据各种鸡的个数来计算钱数是否为100
break和continue
break:用于选择结构和循环结构,表示结束当前的一层结构
continue:只能用于循环结构,表示跳过本次循环继续下次循环(只能跳过一层循环)
扩展作业:一个循环打印九九乘法表

数组

存储同一类型的多个数据的容器—大小是固定的
数组会对放入其中的数据(元素)进行编号,编号是从0开始的 - 下标
数组的容量 — 长度

定义格式

数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[5]; — 表示定义一个能存储5个整型元素的数组
arr[3] = 10;

内存

Java将所占用的内存划分为了5块:栈内存、堆内存、方法区、本地方法栈、PC计数器(寄存器)

栈内存

用于存储变量的。变量在栈内存使用完成之后会立即移除出栈内存。

堆内存

用于存储对象(数组是一种特殊的对象)的。元素在存入堆内存中之后会自动的赋予默认值:byte/short/int-0 long-0L float-0.0f double-0.0 char-‘\u0000’ boolean-false,其他类型的默认值都是null。对象在用完之后是在不确定的某个时刻被回收。
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值