day05学习笔记

day05文字笔记
知识回顾:
1.Scanner接收用户数据:三步
import java.Util.Scanner;
Scanner scan = new Scanner(System.in);
int num =scan.nextInt();
double score = scan.nextInt();

2.分支结构
if…else

switch....case

3.循环结构:
4.循环三要素:
循环变量的初始化
循环条件
循环变量的改变(向着循环结束变)
5.循环结构
while:先判断后执行,可能一次都不执行
do…While:先执行后判断,至少执行一次

正课内容:

1、循环结构----for循环结构:应用率比较高,与次数有关,例如猜数字这个案例就不行,因为不知道要猜多少次
for循环结构:
1)语法
for(要素1;要素2;要素3){
语句块4
}

    		2)执行过程
    		1243243243243。。。

***变量的重名问题:
当作用域重叠时,变量是不可以重名的;当作用域不重叠时,变量是可以重名的
注意:for循环中的循环变量num,作用域的范围仅仅限于当前的for循环中

    //案例2:输出1*9到9*9乘法表
    for(int num = 1;num<=9;num++){
        System.out.println(num+"*9="+num*9);
    }
    System.out.println("继续执行。。。");
    //案例3:输出9*1到1*9乘法表
    for(int num = 9;num>=1; num--){
        System.out.println(num+"*9="+num*9);
    }
    System.out.println("继续执行。。。");
    //案例4:输出1*9,3*9,5*9,7*9,9*9乘法表
    for(int num = 1;num<=9;num+=2){
        System.out.println(num+"*9="+num*9);
    }
    System.out.println("继续执行。。。");	
	***for特殊语法结构
	for( ;  ; ){
	System.out.println("我要学习。。");//这是个死循环。没有开头没有结尾
	}

2、三种循环结构如何选择:
1)先看循环是否与次数相关
2)若相关:直接使用for
若无关:
3)再判断要素1与要素3是否相同:相同则直接使用do…while;不同则直接使用while

3、break:循环中看到break循环结束
public static void main(String[] args) {
for(int num = 1;num<=9;num++){
if(num==5){//在某种特殊情况下提前结束循环
break;//循环结构中见到,break就中止循环
}
System.out.println(num+"9="+num9);
/break语法执行过程
num = 1 1
9=9
num = 2 29=18
num = 3 3
9=27
num = 4 4*9=36
num = 5 break
*/

 continue:跳过循环体中的剩余语句而直接进入下一次循环

4、嵌套循环:—循环结构中再嵌套循环
循环中嵌套循环,一般多行多列时使用嵌套!—外层控制行,里层控制列
执行规则:外层走一次,内层循环所有次
建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层
break只能跳出当前一层的循环

**转义符:
\t:水平制表位,固定占8个位
\t\t:

5、数组:
1)相同数据类型元素的集合
2)是一种数据类型(引用数据类型)
3)定义:
int[ ] a;//声明一个整型数组变量a double[ ] b; char[ ] c; boolean[ ] d;
注意:int与int[ ]是两个完全不同的数据类型

int[] a = new int[5];//声明一个整型数组a,包含5个元素,每个元素都是int类型,默认值为0
    	double[] d =new double[10];//声明一个浮点型数组d,包含10个元素,每个元素都是double,默认值都是为0.0
    	boolean[] b = new boolean[26];//声明一个布尔型数组b,包含26个元素,每个元素都是boolean,默认值是false

4)初始化:初始化数组中的元素
 int[ ] a = new int[3];//0,0,0
        	int[ ] arr = {2,5,8};//2,5,8---静态赋值
        	int[ ] arr3;
        	arr3 = {2,5,8};//编译错误---只能声明并同时初始化
        	int[ ] arr4 = new int[]{2,5,8};//正确

5)访问:访问数组中的数据
  5.1)通过数组名.length可以获取数组的长度(元素的个数)
  5.2)通过下标或者索引来访问数组中的元素
	下标从0开始,最大到(数组的长度-1)
	int[ ] arr = new int[3];//0,0,0
	arr[0]------代表arr中的第一个元素(int)
	arr[1]------代表arr中的第二个元素(int)

6)遍历/迭代:从头到尾挨个走一遍

案例1:声明一个含有10个元素的数组,并给每个元素赋值100,并且遍历数组
int[] arr = new int[10];
    	for(int i = 1;i<arr.length;i++){//遍历所有元素
         	arr[i] = 100;//给每个元素赋值100
        	System.out.println(arr[i]);


案例2:
int[ ] arr = new int[10];//声明一个数组,每个数组包含10个元素,每个元素都是int类型
    	for(int i = 0;i<arr.length;i++){//遍历数组
        	arr[i] = (int)(Math.random()*100);//数组中的每个元素都是从0~99的随机数
        	System.out.println(arr[i]);

**案例分析1:系统自动出10到题目,每道题是两个0~99的数字进行相加,用户每答对1题得10分,最后要求统计用户的最终得分
Scanner scan = new Scanner(System.in);
int score = 0;
for (int i = 1; i <= 10; i++) {
int a = (int)(Math.random()*100);//1)出题
int b = (int)(Math.random()*100);
int result = a + b;//存正确计算结果
System.out.println("("+i+")"+a+"+"+b+"=?");

        // 2)答题
        System.out.println("算吧");
        int answer = scan.nextInt();

         //3)判题
        if(answer==-1){
            System.out.println("游戏结束!");//输入-1提前结束
            break;
        }
        if(answer==result){
            score+=10;//答对加10分
        }else {
            System.out.println("答错了,继续答题");//答错不得分,继续答题
        }
    }
    System.out.println("总分为:" + score);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值