学习日记 day05

学习了流程控制语句的使用,if else判断语句,switch判断语句,for循环语句,while循环语句,while循环语句,跳出语句break.了解了case语句的穿透性,将键盘录入数据与流程控制语句进行了结合使用.学习了循环语句的区别,和使用的注意事项.昨天对键盘录入数据较为不熟悉,在今天一天的学习使用中,有了一定的提升.

1:switch语句的格式?针对格式的解释?以及注意事项?
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break; (中断,结束的意思)
case 值2:
语句体2;
break;

default: (默认的意思)
语句体n+1;
break;
}

格式解释:
switch ----->启用当前switch语句
表达式------>一般接收具体的变量	
				表达式的类型一般情况:byte,short,int,char
				如果是jdk1.5以后,表达式的类型可以是"枚举" 
				如果是jdk1.7以后,表达式的类型可以是String类型  (String:是一个引用类型)
case语句---->需要将当前的case的值和switch中表达式进行比较,是否匹配
break语句---> 表示结束,中断 switch语句
default ---->case后面都不匹配,执行default

注意事项:
1)在Java语言中,case后面的值只能是常量,不能是变量
2)关于switch语句的中break(属于跳转控制语句中的一种)
	break一般情况下建议不要省略,如果没有书写break语句,会出现case穿透现象!
3)关于default语句的位置问题
	a)default语句中的break可以忽略不写,但是不建议
	b)可以在switch语句中的任何位置,但是还要遵循switch的按照顺序进行执行(case中都不匹配,才能执行default)
	c)如果default语句在语句中,break不能省略!
4)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
解答过程: default:
y++; // y = 3+1 = 4,没有break,继续
case 3:
y++; // y = 4+1 = 5
break; // 遇到break,结束

3:根据输入的值,判断当前季节(分别用if语句和switch语句实现)
3,4,5 属于春季
6,7,8 属于夏季
9,10,11属于秋季
12,1,2属于冬季
(考虑非法数据)

import java.util.Scanner;
class Test3 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in) ;
System.out.println(“请输入月份”);
int a = sc.nextInt();
if (a3||a4||a5){
System.out.println(“春季”);
}
else if(a
6||a7||a8){
System.out.println(“夏季”);
}
else if(a9||a10||a11){
System.out.println(“秋季”);
}
else if(a
12||a1||a2){
System.out.println(“冬季”);
}
else{
System.out.println(“非法数据”);
}
}
}

4:for循环的格式?要能看懂执行流程。
用for循环完成如下案例

  求1-100之间的偶数和
  打印所有的水仙花数

偶数和
class Test6{
public static void main(String[] args){
int sum = 0 ;
for(int x = 0 ;x <= 100; x+=2){
sum += x ;
}
System.out.println(“1到100间的偶数和”+sum);
}
}

打印所有水仙花数

class Test11{
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 ;

	if(x == ge*ge*ge + shi*shi*shi + bai*bai*bai ){
		System.out.println(x) ;
		count ++ ;
	  }   
	}
	System.out.println("共有"+count+"个");
}	

}

5:while循环的格式?要能看懂执行流程
用while循环完成如下案例

a)求1-100之间的和 (见WhileDemo.java)
class Test7{
public static void main(String[] args){
int x =1;
int sum = 0 ;
while(x<=100){
sum += x;
x++ ;
}
System.out.println(“1到100间的整数和”+sum);
}
}
b)我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可
以保证厚度不低于珠穆朗玛峰的高度?

class Test8{
public static void main(String[] args){
double x = 0.01;
int count = 0 ;
while(x<8848){
x *= 2;
count ++;
}
System.out.println(“需要折叠”+count+“次”);
}
}
6:键盘录入x的值,计算出y的并输出。
x和y的关系满足如下:
x>=3 y = 2x + 1;
-1<=x<3 y = 2x;
x<=-1 y = 2x – 1;
import java.util.Scanner;
class Test9{
public static void main(String[] args){

		Scanner sc = new Scanner(System.in) ;
		System.out.println("请输入x");
		int x = sc.nextInt() ;
		int y = 0 ;
		if(x>=3){
			y=2*x+1;
			System.out.println(y);
		}else if(-1<=x&x<3){
		y=2*x;
		System.out.println(y);
		}else if(x<=-1){
		y=2*x-1;
		System.out.println(y);}
}

}
7:键盘录入数据,模拟单项选择题(注意:键盘录入的时候,Scanner不能录入字符—>可以考虑把A看成 65)
下面的人物喜欢谁?
A:马伊琍
B:马苏
C:高圆圆(“假设为正确答案”)
D:林志玲
import java.util.Scanner;
class Test10{
public static void main(String[] args){

	Scanner sc = new Scanner(System.in); 
	
	System.out.println("请输入你的选择");
	
	int name  = sc.nextInt();
switch(name){
	case 64:
			System.out.println("错误,不是马伊俐");
			break ;
		case 65:
			System.out.println("错误,不是马苏");
			break ;
		case 66:
			System.out.println("正确,是高圆圆");
			break ;
		case 67:
			System.out.println("错误,不是林志玲");
			break ;
		default :
			System.out.println("非法数据");
}		

}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值