Java基础
语句
语句的特点
因为语句是控制程序执行流程的
语句的分类
判断语句 if , if else , if else if else
选择语句switch case default break
循环语句while,do while ,for
break,continue语句
关于语句到怎么学?
数据,变量,运算符,语句这三者计算机语言最基础要素的关系。
- 计算机是用来处理数据的。
- 怎么处理?先把数据用变量存储起来。在通过运算符对数据进行运算,比如算术运算符,比较运算符等。
- 对运算的结果进行处理,比如通过对运算结果的结果判断程序执行的流程。让运算过程多次执行等。
比如:
数学成绩:70,英语成绩:80,语文成绩:90
三门课程的总成绩:70+80+90 = 240。
如果总成绩大于等于220,恭喜你,毕业了。
如果总成绩小于220分。很遗憾,你要参加补考。
所以,现阶段的学习思路就是:
- 数据在哪里?(把它存起来) ,
- 进行什么样的运算?
- 运算流程和结果要如何进行控制?
- 语句到底解决了什么问题?一定要知道。
- 至于语句的格式,不要死记硬背,而是通过练习的方式,多敲多思考(注意顺序,一定要是先多敲,再多思考,无论你是否听懂,都要先多敲,再多思考。因为先多思考,(通过看视频,问同学等等方法)好像思考明白了,你也一样写不出来,后者写出来了,你也浪费了一些敲的时间。如果没有思考明白,有可能连敲的意愿都没有了。所以只要多敲,你才知道你是否真的思考明白了,只有多敲,你才知道你哪里不明白,哪里是需要多思考的。因为敲的过程中,其实你就在被思考。所以结论,无论懂不懂,都要先敲,多敲。因为眼过千遍,不如手走一遭,一遭不行,再走三遭)。
程序流程控制语句
- 判断结构 if
- 选择结构 switch
- 循环结构 while for
判断结构
if语句特点:
- 每一种格式都是单条语句。
- 第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
- 条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;
if语句书写时需要注意的:
当if语句控制的代码,只有一条语句时,if语句的大括号可以省略不写。
if(x>3){
x++;
}
可以简写成
if(x>3)
x++;
判断结构 阅读练习
sout为输出缩写:判断对错,输出为?
判断奇偶数?
package text;
import java.util.Scanner;
//判断奇偶性
//键盘录入,%2 的结果如果等于0为偶,否则为奇
public class Text03_Syntax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a=sc.nextInt();
if (a % 2 == 0) {
System.out.println("偶数");
} else {
System.out.println("奇数");
}
}
}
选择结构语句(Switch)
选择结构 代码阅读练习
代码是否可以编译通过?如果能,运行结果是什么?如果不能,原因是什么?
package demo.demo2;
public class Tect0524 {
public static void main(String[] args) {
int x = 4;
switch(x){
case 3:
System.out.println("a");
case 4:
System.out.println("b");
default:
System.out.println("c");
}
}
}
switch语句特点:
- switch语句选择的类型是 int 类型。
- case之间与default没有顺序。先执行第一个case,没有匹配的case执 行default。
- 结束switch语句的两种情况:遇到break,执行到switch语句结束。
- 如果匹配的case或者default没有对应的break,那么程序会继续向下 执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
switch练习
- 季节案例写一遍同时使用优化后的方案 info 一条输出语句。
- 根据给定月份,打印对应天数。除了2月。其他完成。
package text;
//用switch判断 季节
import java.util.Scanner;
public class Text05_switch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
String info ;
switch (month) {
case 3:
case 4:
case 5:
info = month + "是春季";
break;
case 6:
case 7:
case 8:
info = month + "是夏季";
break;
case 9:
case 10:
case 11:
info = month + "是秋季";
break;
case 12:
case 1:
case 2:
info = month + "是冬季";
break;
default:
info = month+"月是没有对应的季节";
}
System.out.println(info);
}
}
package demo;
import java.util.Scanner;
public class Demo10_Switch {
public static void main(String[] args) {
/*
练习:通过给定月份,得出该月有多少天。1月31天。3月31天 。4月30天。
思路:
1,我是要对多个数值做判断,用if呢?还是switch呢?switch.
2. 多个值对应同一个结果。使用switch的穿透。
*/
//定义一个月份的变量记录月份的值。
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份");
int month = sc.nextInt();
String info;
switch(month){
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
info = month+"月有31天";
break;
case 4: case 6: case 9: case 11:
info = month+"月有30天";
break;
case 2:
//因为有闰年,2月是29天。非闰年是28天。所以要做个判断。
System.out.println("请输入年份:");
int year = sc.nextInt();
if(year %4==0 && year%100!=0||year%400==0){
info = month+"月有29天";
}else{
info = month+"月有28天";
}
break;
default:
info = month+"月份不存在";
}
System.out.println(info);
}
}
循环语句
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句;
} 注:
- for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。
- while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
- 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
break(跳出), continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
- 这两个语句离开应用范围,存在是没有意义的。
- 这个两个语句单独存在下面都不可以有语句,因为执行不到。
- continue语句是结束本次循环继续下次循环。
- 标号的出现,可以让这两个语句作用于指定的范围(实际开发很少用到)。
循环结构 代码阅读练习
代码是否可以编译通过?如果能,运行结果是什么?如果不能,原因是什么?
要问集
序号 | 需要掌握的核心问题 | 答案 |
1. | 什么时候会用到if elseif else 结构? |
|
2. | if与switch语句的区别? |
|
3. | switch语句什么时候用? |
|
4. | switch语句穿透什么时候会用到? |
|
5. | switch语句的执行特点是? |
|
6. | switch语句的case的可以取什么类型的值? |
|
7. | 循环语句什么时候用? |
|
8. | 当语句中出现多条输出语句,如何提高复用性? |
|
9. | 你是如何理解累加和计数器的? |
|
10. |
|
|