A:嗨,我们晚上去吃个排骨汤吧 1.语法: if () { // 括号里必须是布尔条件表达式 如:之前的问题我们可以套用语法 if(张浩的java成绩>90分){ 流程图: 针对之前的问题,有两种实现方式,一是使用Scanner方式实现,二是声明变量 运算符优先级顺序: 张浩的Java成绩大于98分,而且音乐成绩大于80分,老师会奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也会奖励他 我们可以用( score1 >98 && score2 > 80 ) || ( score1 == 100 && score2 > 70 )就相当于下面这串代码: 原本使用两个基本if选择结构 现在可以使用if-else选择结构实现比上面好用多了 流程图: 在我们的之前学习过程中,都是判断两种情况,不是怎么样就是怎么样 代码: 问题:成绩>=80 :良好 成绩>=60 :中等成绩<60 :差 思考:if里面的条件顺序是否可以随意更换 宝宝:今晚我们去看电影吧? 分析:女是答应去的,但是有前提条件就是不能迟于6点钟 问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组 } 流程图: 代码: 韩嫣参加计算机编程大赛 用之前学习的方法亦可以解决问题,但是使用以上的多重if选择结构比较复杂和啰嗦, /** 1.常量名不可重复 2.每一个case后面要有break结束语 3.default可以在任何位置,除了在最后break可以省略在其他位置都不可省略(题意要求的除外) 建议都放在最后 4.switch后面的表达式类型只能是int byte short char  枚举  和jdk1.7以后的String 5.case后面的常量不是一定要连续的 6.表达式是哪个就会跳转到相对于的case语句 常见 3种错误: 相同点: 1.不同点: 多重if选择结构: 选择结构总结: 到目前为止我们学习过五种选择结构: switch:选择结构 2.为什么要处理系统异常: switch结构中我们常常输入的是int类型的值,但是用户不知道,可能会输入其他类型的值,这样的话就会报出输入类型不匹配的异常,为了避免这种情况的出现,我们可以在最开始的时候对其进行判断和限制 如果用我们之前的知识打印一百次好好学习天天向上,需要写100次输出语句很麻烦。 System.out.println(“第1遍写:好好学习,天天向上!”); …… 循环条件 循环操作 KaTeX parse error: Expected ‘}’, got ‘EOF’ at end of input: …        i ++;}  流程图: 特点:先判断,再执行 编码规范:缩进、换行 1.确定循环条件和循环操作 套用while语法写出代码 3.检查循环是否能够退出 流程图: 1.打印 50 份试卷 2.老师每天检查张浩的学习任务是否合格。如果不合格,则继续进行。 先执行一遍循环操作,再判断是否符合条件,符合则继续执行,否则退出; 流程图: 特点:先执行,再判断 不同点: 有很多问题用我们之前的whie循环是可以的,也可以使用我们现在for循环,类似于运动员有的擅长跑,有的擅长短跑,但是都是长跑的。我们的循环也是一样,只是他们都有自己擅长的领域。 对比for循环的结构和while循环的结构,其实结构都是一样的只是每个部分所在的位置有所不同,之前所在的是多行的内容现在放到一个括号里面了,所以更简洁了。执行顺序可以根据while循环的执行顺序自己先猜测下。 代码规范:格式对齐、代码的缩进 1.使用for循环结构的步骤 每个表达式之间用分号隔开 2.循环输入某同学S1结业考试的5门课成绩,并计算平均分 常见问题1: 常见问题2: 常见问题3: 使用for循环: 循环初始化:i = 0;j = 输入值 循环条件:i<=输入值 循环操作:计算i+j 循环变量的改变:i++,j– //其他语句 回顾之前的break在switch中的用法,遇到break就跳出当前语句;       循环录入成绩,判断录入正确性。录入错误,使用break语  句 立刻跳出循环;否则,累加求和 continue :只能用在循环里 使用场合:break用于switch结构和循环结构中 作用(循环结构中): 补充:return 结束当前方法的执行并退出,返回到调用该方法的语句处。(具体讲解在方法处) 语法: 区别2:执行顺序 1.数组基本要素 2.数组长度固定不变,避免数组越界 1.使用数组四步走 数据类型 数组名[]; 2.声明数组 数据类型 [] 数组名 = new 数据类型[数组长度]; 3.分配空间 方式一: … … 方式二: 一起赋值 方式三: 4.处理数据 但是如果像上面写法的话还是会有弊端的,如:学生的个数有变动,那我们的循环次数和求平均分的时候除以的数都需要修改,我们有一个方法避免修改多处 有一个数列:8,4,2,1,23,344,12 2.数组排序 使用java.util.Arrays类 外层循环控制班级数目,内层循环控制每个班级学员数目 使用二重循环实现 冒泡排序速记口诀(升序) 1.使用二重循环解决
1.第三章  选择结构(一)
1.概念
 B:我现在牙还在疼,如果到晚上的时候不疼了我们就一起去2.  什么是if选择结构
 //代码块,只有一条语句的时候大括号可以省略,但是不建议那么做
 }
 获得MP4作为奖励
 }
 这里给出声明变量的方式,另一种实现方式自己实现 double score=90.0; if(score>90){ //判断是否大于90分   System.out.println("老师说不错,奖励一个MP4"); }  System.out.println("程序结束"); 2.复杂条件下的if选择结构
 
运算符 
表达式 
说  明 
 
&& 
条件****1 && 条件****2 
仅仅两个条件同时为真,结果为真 
 
|| 
条件****1 || 条件****2 
只要两个条件有一个为真,结果为真 
 
! 
! 条件 
条件为真时,结果为假****条件为假时,结果为真 
 !>算术运算符>比较运算符>&&>|| int score1 = 100; // 张浩的Java成绩 int score2 = 72; // 张浩的音乐成绩 if ( ( score1 >98&& score2 > 80 ) || ( score1 == 100 && score2 > 70 ) ){   System.out.println("老师说:不错,奖励一个MP4!"); }  System.out.println("程序结束");    ## 3. 使用if-else选择结构
 
if(条件)//代码块1else//代码块2
if(张浩Java成绩>98)奖励一个MP4;else惩罚进行编码;double score=91; if(score>98){     System.out.println("奖励一个MP4"); }else{     System.out.println("考的有点不好,惩罚"); } 4.使用多重if选择结构
 在实际生活中是可能出现区间选择的,如:分数的评级
 成绩>=80 :良好 成绩>=60 :中等成绩<60 :差
 类似这样,单个的if无法完成,多个if又比较麻烦,那就可以使用我们即将学习的多重if
 
if(成绩>=80)//代码块1elseif(成绩>=60)//代码块2else//代码块3
 流程图:int score=77; if(score>=80){   System.out.println("良好"); }else if(score>=60){   System.out.println("中等"); }else{   System.out.println("差"); }  System.out.println("程序结束"); 5.为什么使用嵌套if选择结构
 小饼干:好啊,不过晚于6点还有其他事就不去了
 这里就相当于有两个if条件,第一个条件满足才会执行后面的内容
 分析:
 如果进入决赛 再看是男还是女,如果是男进入男子组女就进入女子组。这就使用到了嵌套if选择结构if(条件1) { //外面的条件判断    if(条件2) { //里面的条件判断          //代码块1    } else {          //代码块2      } } else {   //代码块3 int m=8;  String sex="女";    if(m<10){    //外层判断        if(sex.equals("男")){   //内层判断          System.out.println("宝宝");      }else if(sex.equals("女")){          System.out.println("饼干");       }  }else{      System.out.println("淘汰了回家去吧朋友");  }     System.out.println("程序结束"); 第四章  选择结构(二)
6. 为什么使用switch选择结构
 如果获得第一名,将参加麻省理工大学组织的1个月夏令营
 如果获得第二名,将奖励惠普笔记本电脑一部
 如果获得第三名,将奖励移动硬盘一个
 否则,不给任何奖励int mingCi=2;    if(mingCi==1){    System.out.println("参加夏令营活动");   }else if(mingCi==2){    System.out.println("奖励笔记本一部");   }else if(mingCi==3){    System.out.println("奖励移动硬盘一个");   }else{    System.out.println("没有奖励");   } 
 现在可以使用switch结构来解决这样的问题,switch解决的是等值判断
 
语法:switch(表达式)//byteshotintchar枚举jdk1.7之后有String类型case常量1:break;case常量2:break;case常量3:break;...default:break;
 如何使用:
 */int mingCi=2; switch(mingCi){ case 1:  System.out.println("参加夏令营活动"); break; case 2:  System.out.println("奖励笔记本一部"); break; case 3:  System.out.println("奖励移动硬盘一个"); break; default: System.out.println("没有奖励"); break; } System.out.println("程序结束"); 7.比较switch和多重if选择结构
 都是用来处理多分支条件的结构
 switch结构:
 只能处理等值条件判断的情况
 没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
 基本if选择结构: 处理单一或者组合条件的情况
 if-else选择结构:处理简单的条件分支情况
 多重if选择结构:处理复杂的条件分支情况
 嵌套if选择结构:用于较为复杂的流程控制
 多重分支并且条件判断是等值判断的情况。
 方法如下;if(input.hasNextInt()){ //这里是相关的seitch语句 }else{ //如果输入的不是数字   System.out.println("请输入正确的数字"); } 第五章  循环结构(一)
8.循环
 System.out.println(“第2遍写:好好学习,天天向上!”);
 System.out.println(“第3遍写:好好学习,天天向上!”);
 System.out.println(“第4遍写:好好学习,天天向上!”);
 System.out.println(“第9999遍写:好好学习,天天向上!”);
 System.out.println(“第10000遍写:好好学习,天天向上!”);9.什么是循环:
10.什么是while循环
11.使用while循环
 分析:能否用循环解决
 若能,找到循环操作和循环条件以及明确循环变量
 
publicstaticvoidmain(String[]args)intcount=1;while(count<=50)System.out.println(“打印第“+count+“份试卷“);count++;
 老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分 System.out.print("合格了吗?(y/n):");   String answer = input.next(); while(!"y".equals(answer)) {        System.out.println("上午阅读教材!");    System.out.println("下午上机编程!n");    System.out.print("合格了吗?(y/n):");    answer = input.next(); }   System.out.println("完成学习任务!"); 12.do-while循环
do循环操作while(循环条件);
 注:最后的分号要注意加上do{   System.out.println("上机编写程序!");   System.out.print("合格了吗?(y/n)");   answer = input.next();   System.out.println("");   }while(!"y".equals(answer));      System.out.println("恭喜你通过了测试!"); 13.while 和 do-while的区别
 语法不同:
 执行次序不同
 初始情况不满足条件时:
 while循环一次都不执行
 do-while循环不管任何情况都会执行一次第六章  循环结构(二)
14.为什么使用for循环
int i=0; while(i<100){ System.out.println("好好学习!"); i++; } for比while更简洁  for ( int i = 0 ;    i  < 100 ;     i++ ) {          System.out.println("好好学习!"); } 15.如何使用for循环
 分析循环条件和循环操作
 套用for语法写出代码
 检查循环是否能够退出
 
语法:for(表达式1;表达式2;表达式3)循环操作
 分析:是否能用循环做,循环次数是否为固定的。
 做出如下的效果图Scanner sc = new Scanner(System.in);  System.out.print("请输入学生的姓名:"); double score=0; double sum=0; for(int i=1;i<=5;i++){  System.out.println("请输入第"+i+"门课程的成绩:");  score=sc.nextDouble();  sum+=score; } double avg=sum/5;  System.out.println("平均分是:"+avg);   练习2:写出如下格式的加法表  分析是否适合使用循环,用什么循环,循环的次数是固定的么? 分析:先分别打印出0~6,再分别打印出6~0,然后做和运算即可。  参考代码 Scanner sc = new Scanner(System.in);    System.out.print("请输入一个值:"); int num=sc.nextInt(); for(int i=0,j=num;i<=num;i++,j--){       System.out.println(i+"+"+j+"="+(i+j)); } 
 缺乏变量的初始化,但可以在for循环上面的初始化
 表达式之间用分号隔开
 缺乏表达式2或表达式3,都会使得循环进入死循环。但是编译没错。
 
输出加法表:for(inti=0,j=val;i<=val;i++,j−−)System.out.println(i+“+“+j+“=“+(i+j));
16.为什么需要break语句
int i = 2; switch(i){ case 1:               System.out.println("星期一"); break; case 2:               System.out.println("星期二"); break; } 17.如何使用break语句
for(int i = 0; i < 5; i++){ //循环5次录入5门课成绩    System.out.print("请输入第" + (i+1) + "门课的成绩: ");  score = input.nextInt(); if(score < 0){ //输入负数       isNegative = true; break; }        sum = sum + score; //累加求和 } 18.什么是continue语句
 continue 作用:跳过循环体中剩余的语句而执行下一次循环
 
语法:while()continue;//通常与条件语句一起使用加速循环
 循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
 分析:通过循环输入分数获得大于等于80分的人数,如果大于80分的就执行num++,否则不执行num++操作
 显出如图的效果 for (int i = 0; i < total; i++) {  System.out.print("请输入第" + (i + 1) + "位学生的成绩: ");  score = input.nextInt(); if (score < 80) { continue; }  num++; } System.out.println("80分以上的学生人数是: " + num); double rate = num *1.0 / total * 100; //计算比例 System.out.println("80分以上的学生所占的比例为:" + rate + "%"); 19.对比break和continue
 continue一般用于循环结构中
 break 语句终止某个循环,程序跳转到循环外的下一条语句
 continue跳出本次循环,继而执行下一次的循环20.循环结构总结
 while 循环:先判断,再执行
 do-while循环:先执行,再判断
 for循环:先判断,再执行
 区别3:适用情况
 循环次数确定的情况,通常选用for循环
 循环次数不确定的情况,通常选用while或do-while循环第七章  数组
21.什么数组
 标识符:数组的名称,用于区分不同的数组
 数组元素:向数组中存放的数据
 元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
 元素类型:数组元素的数据类型22.如何使用数组
 数据类型 [] 数组名;   //常用写法int [] score1; int score2[]; String [] name; int []  num = new int [10]; 
 一个一个的赋值:int []um = new int[10];  num[0]=10;  num[1]=11; num[2]=20; int [] num={11,21,33}; int [] n = new int[]{22,33,21,22}; //这里不能指定数组的长度,大括号里有几个数就默认数组的长度是几了 
 动态地从键盘录入信息并赋值Scanner sc = new Scanner(System.in); for(int i=0;i<30;i++){   score[i]=sc.nextInt(); } for(int i=0;i<30;i++){   score[i]=sc.nextInt(); } 计算5位学生的平均分:  int [ ] score = {60, 80, 90, 70, 85}; double avg; avg = (score[0] + score[1] + score[2] + score[3] + score[4])/5; 
 动态的获取数组的长度。  score.length23.常见错误
int [] score= new int[]; int [] score= new int[2];  score[0]=11; score[1]=11; score[2]=11; //下标越界了 int [] score; score={11,22,33,21}; 
 循环输出数列的值
 求数列中所有数值的和
 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
 java.util包提供了许多工具类
 Arrays类提供操作数组的方法
 如排序、查询
 Arrays类的sort()方法:对数组进行升序排列24.Arrary常用方法
 int [] arr1={12,21,10}; int [] arr2={12,21,10}; int [] arr3={8,21,10}; //1 equals(arr1,arr2) 比较arr1 和 arr2是否相等 boolean b = Arrays.equals(arr1,arr2); boolean c = Arrays.equals(arr1,arr3);   System.out.println(b); //true  System.out.println(c); //false ======================================================= //2. sort(array) 对数组array进行升序排序   System.out.println(Arrays.toString(arr3));   Arrays.sort(arr3);   System.out.println(Arrays.toString(arr3)); =============================================================================================== //void fill(array,fill); 把数组中元素都换成fill   Arrays.fill(arr3, 0);    System.out.println(Arrays.toString(arr3)); ============================================================== //copyOf(array,length) 把数组赋值成一个length长度的数组,返回的类型和复制的数组一致 int[] of = Arrays.copyOf(arr1, 5);    System.out.println(Arrays.toString(of)); ============================================================ //int binarySearch(array,val) 查询元素val在数组array中的下标的位置,前提要求 //先对数组进行升序的排序,显示的是排序后的元素下标      Arrays.sort(arr3); //排序后   8  10  21 int search = Arrays.binarySearch(arr3, 21);    System.out.println(search); 15. Arrays类
 
boolean equals(array1,array2) 
比较array1和array2两个数组是否相等 
 
sort(array) 
对数组array的元素进行升序排列 
 
String toString(array) 
将一个数组array转换成一个字符串 
 
void fill(array,val) 
把数组array所有元素都赋值为****val 
 
copyOf(array,length) 
把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致 
 
int binarySearch(array, val) 
查询元素值val在数组array中的下标(要求数组中元素已经按升序排列) 
第八章  循环结构进阶
26.为什么使用二重循环
for(int i = 0; i <classNum; i++){   sum = 0.0;          System.out.println("请输入第" + (i+1) + "个班级的成绩"); for(int j = 0; j < score.length; j++){     System.out.print("第" + (j+1) + "个学员的成绩:");    score[j] = input.nextInt();    sum = sum + score[j]; }   aver [i] = sum / score.length; //计算平均分   System.out.println("第"+(i+1)+"个班级平均分" + aver [i] + "n"); } 27什么是二重循环
1. 一个循环体内又包含另一个完整的循  2. 语法:    while的双重循环    while(循环条件1) {      //循环操作1         while(循环条件2) {        //循环操作2     }    }   do {  //循环操作1     do {    //循环操作2  }while(循环条件1); }while(循环条件2);  for(循环条件1) {  //循环操作1      for(循环条件2) {       //循环操作2  } }  while(循环条件1) {   //循环操作1       for(循环条件2) {          //循环操作2     } }     特点: 外层循环一次,内层循环一遍      ##  28.如何使用二重循环  1.打印四边形的星星   提示:外层循环控制行数,内层循环控制列数 //打印四边形的星星    for(int i=1;i<=5;i++){     for(int j=1;j<=5;j++){  System.out.print("*");  }  System.out.println();       }  ====================================================================  2. 打印如图所示的图案       //打印直角三角形  Scanner sc = new Scanner(System.in);  System.out.println("请输入三角形的行数:");    int num=sc.nextInt();    for(int i=1;i<=num;i++){           for(int j=1;j<=(2*i-1);j++){   System.out.print("*");  }  System.out.println();  }  =====================================================  3.打印倒直角三角形     //打印直角三角形  Scanner sc = new Scanner(System.in);  System.out.println("请输入三角形的行数:");      int num=sc.nextInt();      for(int i=1;i<=num;i++){        for(int j=1;j<=(num+1-i);j++){  System.out.print("*");  }  System.out.println();  }  ================================================================================= 打印等腰三角形(如下图效果)    参考代码: //打印等腰三角形  Scanner sc = new Scanner(System.in);  System.out.print("请输入您要打印的行数:");    int num=sc.nextInt();    for(int i=1;i<=num;i++){     for(int j=1;j<=num-i;j++){  System.out.print(" ");  }     for(int k=1;k<=(2*i-1);k++){  System.out.print("*");  }  System.out.println();  }        ============================================================================== 冒泡排序:  一共是比较了数组长度的-1轮,每一轮比较的次数都是比上一次少一  //打印冒泡    int [] arr={21,77,23,32,1,99};  System.out.println("排序之前:");    for(int i=0;i<arr.length;i++){  System.out.print(arr[i]+" ");  }  System.out.println();     for(int i=0;i<arr.length-1;i++){           for(int j=0;j<arr.length-i-1;j++){      if(arr[j]>arr[j+1]){        int temp=arr[j];     arr[j]=arr[j+1];     arr[j+1]=temp;    }  }  }   System.out.println("排序之后:");    for(int i=0;i<arr.length;i++){  System.out.print(arr[i]+" ");  }   =============================================================================   //若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于80分学员数    Scanner sc = new Scanner(System.in);    double avg=0;    double sum=0;    double score=0;    int num=0;    for(int i=1;i<=3;i++){    System.out.println("请输入第 "+i+"个班级的成绩:");    sum=0;     for(int j=1;j<=4;j++){     System.out.print("请输入第 "+j+"个同学的成绩:");     score=sc.nextDouble();     sum+=score;      if(score<80){        continue;     }     num++;    }    System.out.println("第 "+i+"个班的平均分是:"+sum/4);   }   System.out.println("80分以上的学院个数为:"+num);   ===========================================================  循环和break相结合的联系 Scanner sc = new Scanner(System.in);    String answer="";    int num=0;    for(int i=1;i<=5;i++){     System.out.println("欢迎光临第 "+i+"家店"); 1.       for(int j=1;j<=3;j++){  System.out.print("要离开么(y/n): ");  answer=sc.next(); if(answer.equals("y")){      System.out.println("离店结账"); break; }     num++; }    System.out.println("一共买了 "+num+"件衣服"); } 29.冒泡排序
 N 个数字来排队
 两两相比小靠前
 外层循环 N-1
 内层循环 N-1-I30.在二重循环中使用break
 外层循环控制去每个专卖店
 内层循环控制买衣服过程
 使用break退出内层循环for(int i = 0; i < 5; i++){  System.out.println("欢迎光临第" + (i+1) + "家专卖店"); for(int j = 0; j < 3; j++){   System.out.println("要离开吗(y/n)?");   choice = input.nextLine(); if("y".equals(choice)){ break; }   System.out.println("买了一件衣服");   count++; //计数器加1 } //…… } 
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
 官方软件产品操作指南 (170)
官方软件产品操作指南 (170)