java学习day04

<pre>

1:switch语句的格式?针对格式的解释?以及注意事项?

格式:switch(表达式) {

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

...

default:

语句体n+1;

break;

}

解释:

 

switch:说明这是switch语句。

表达式:可以是byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是字符串

case:后面的值就是要和表达式进行比较的值

break:表示程序到这里中断,跳出switch语句

default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else

注意事项:

A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

B:default可以省略吗?

可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

特殊情况:

case就可以把值固定。

A,B,C,D

C:break可以省略吗?

可以省略,但是结果可能不是我们想要的。

会出现一个现象:case穿透。

最终我们建议不要省略

D:default一定要在最后吗?

不是,可以在任意位置。但是建议在最后。

E:switch语句的结束条件

a:遇到break就结束了

b:执行到末尾就结束了

2:看程序,分析下面程序的结果:

int x = 2,y=3;

 

switch(x)

{

default:

y++;

case 3:

y++;

break;

case 4:

y++;

}

 

System.out.println("y="+y);

答:y=5

 

3:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)

输入:1

输出:星期1

if语句实现:

import java.util.Scanner;

 

class SwitchDemo {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

//控制键盘录入数据

System.out.println("请输入一个数据(1-7):");

int week = sc.nextInt(); //3

//if判断语句

if(week==1){

System.out.println("星期一")

}else if(week==2){

System.out.println("星期二")

}else if(week==2){

System.out.println("星期三")

}else if(week==2){

System.out.println("星期四")

}else if(week==2){

System.out.println("星期五")

}else if(week==2){

System.out.println("星期六")

}else if(week==2){

System.out.println("星期七")

}

}

}

switch语句实现:

import java.util.Scanner;

 

class SwitchDemo {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

//控制键盘录入数据

System.out.println("请输入一个数据(1-7):");

int week = sc.nextInt(); //3

//switch判断语句

switch(week) {

case 1:

System.out.println("星期一");

break;

case 2:

System.out.println("星期二");

break;

case 3:

System.out.println("星期三");

break;

case 4:

System.out.println("星期四");

break;

case 5:

System.out.println("星期五");

break;

case 6:

System.out.println("星期六");

break;

case 7:

System.out.println("星期日");

break;

default:

System.out.println("你输入的数据有误");

break;

}

}

}

4:for循环的格式?要能看懂执行流程。

格式:

for(初始化语句;判断条件语句;控制条件语句){

循环体语句;

}

执行流程:

a:执行初始化语句

b:执行判断条件语句

如果这里是true,就继续

如果这里是false,循环就结束

c:执行循环体语句

d:执行控制条件语句

e:回到b

用for循环完成如下案例

求和

class QiuHe {

public static void main(String[] args) {

//原始做法

System.out.println(1+2+3+4+5+6+7+8+9+10);

//定义第一个加数

int sum = 0;

for(int x=1; x<=10; x++) {

sum += x;

}

System.out.println("sum:"+sum);

}

}

求偶数和

class OuShuHe {

public static void main(String[] args) {

//原始做法

System.out.println(1+2+3+4+5+6+7+8+9+10);

//定义第一个加数

int sum = 0;

for(int x=0; x<=10; x+=2) {

sum += x;

}

System.out.println("sum:"+sum);

}

}

求奇数和

classQiShuHe {

public static void main(String[] args) {

//原始做法

System.out.println(1+2+3+4+5+6+7+8+9+10);

//定义第一个加数

int sum = 0;

for(int x=1; x<=10; x+=2) {

sum += x;

}

System.out.println("sum:"+sum);

}

}

打印水仙花数

class ShuiXianHua {

public static void main(String[] args) {

//三位数其实是告诉了我们范围。

for(int x=100; x<1000; x++) {

int ge = x%10;

int shi = x/10%10;

int bai = x/10/10%10;

//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

//如果相同,就把该数据在控制台输出。

System.out.println(x);

}

}

}

}

统计水仙花数

class ShuiXianHua {

public static void main(String[] args) {

//三位数其实是告诉了我们范围。

int count=0;

for(int x=100; x<1000; x++) {

int ge = x%10;

int shi = x/10%10;

int bai = x/10/10%10;

//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

//如果相同,就把该数据在控制台输出。

count++;

}

}

System.out.println(count);

}

}

九九乘法表

class ForForDemo3 {

public static void main(String[] args) {

for(int x=1; x<=9; x++) {

for(int y=1; y<=x; y++) {

System.out.print(y+"*"+x+"="+y*x+"\t");

}

System.out.println();

}

}

}

5:while循环的格式?要能看懂执行流程

格式:

while(判断条件语句) {

循环体语句;

}

扩展格式:

初始化语句;

while(判断条件语句){

循环体语句;

控制条件语句;

}

用while循环完成如下案例

求和

class WhileDemo2 {

public static void main(String[] args) {

//求出1-100之和

int sum2 = 0;

int y=1;

while(y<=100) {

sum2+=y;

y++;

}

System.out.println("sum2:"+sum2);

System.out.println("--------");

}

}

纸张折叠成珠穆朗玛峰高度的次数

class WhileDemo5 {

public static void main(String[] args) {

//定义一个统计变量,默认值是0

int count = 0;

//最高山峰是珠穆朗玛峰:8848m这是最终的厚度

//我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

//为了简单,我把0.01变成1,同理8848就变成了884800

int end = 884800;

int start = 1;

while(start<end) {

//只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

count++;

//折叠一次有什么变化呢?就是厚度是以前的2倍。

start *= 2;

System.out.println("第"+count+"次厚度是"+start);

}

//输出统计变量。

System.out.println("要叠"+count+"次");

}

}

6:break,continue和return分别有什么用?

(1)break:中断的意思

A:用在循环和switch语句中,离开此应用场景无意义。

B:作用

a:跳出单层循环

b:跳出多层循环,需要标签语句的配合

(2)continue:继续

A:用在循环中,离开此应用场景无意义。

B:作用

a:跳出单层循环的一次,可以继续下一次

C:填空题

for(int x=1; x<=10; x++) {

if(x%3 == 0) {

//补齐代码

}

System.out.println("Java基础班");

}

如何让控制台输出2次:Java基础班

如何让控制台输出7次:Java基础班

如何让控制台输出13次:Java基础班

(3)return:返回

A:用于结束方法的,后面还会在继续讲解和使用。

B:一旦遇到return,程序就不会在继续往后执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值