在IDEA中构建Doc文档
工具栏
用户交互Scanner
通过Scanner类的next()、nextLine()方法获取输入的字符串,在读取前需要使用hasNext()、hasNextLine()判断是否还有输入数据
next()不能得到带有空格的字符串
nextLine()以Enter为结束符
注意:关闭类
Demo01、02、03
输入多个数字进行求和、求平均数 Demo05
顺序结构
选择结构
-
if单选择结构
if(布尔表达式){ //如果布尔表达式值为true }
-
if双选择结构
if(布尔表达式){ //如果布尔表达式值为true }else{ //如果布尔表达式值为flase }
-
if多选择机构
if(布尔表达式1){ //如果布尔表达式1值为true }else if(布尔表达式2){ //如果布尔表达式2值为true }else if(布尔表达式3){ //如果布尔表达式3值为flase }else{ //如果以上布尔表达式都不为true }
-
嵌套的if结构
if(布尔表达式1){ //如果布尔表达式1值为true if(布尔表达式2){ //如果布尔表达式2值为true } }
-
Switch多选择结构
switch(expression){ case value: //语句 break; //可选 case value: //语句 break; //可选 //可以有任意数量的case语句 default: //可选 //语句 } //支持字符串String类型 //反编译操作
循环结构
-
while循环
while(布尔表达式){ //循环内容 } //先判断后执行 //大多数情况会让循环停止下来,需要一个让表达式失效的方式来结束循环 //避免死循环 //计算1到100累加 Demo03
-
do…while循环
do{ //代码语句 }while(布尔表达式); //总是保证循环体会被至少执行一次,先执行后判断
-
for循环
for(初始化;布尔表达式;更新){ //代码语句 } //支持迭代的通用结构,最有效、最灵活的循环结构 //循环执行次数在执行前就确定了 //快捷方式100.for //计算0-100之间的奇数和偶数的和 //用while或for循环输出0-1000之间能被5整除的数,并且每行输出3个 //打印九九乘法表 Demo04
-
增强for循环
for(声明语句:表达式) { //代码句子 } //用于数组和集合的增强型for循环,遍历数组元素 Demo05
break continue
- break用于强行退出循环
- continue用于终止某次循环
- 标记 LabelDemo 跳出内循环
方法
方法定义
方法是语句的集合,它们在一起执行一个功能
-
方法是解决一类问题的步骤的有序集合
-
方法包含与类或对象中
-
方法在程序中被创建,在其他地方被引用
一个方法只完成一个功能
修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } //参数:实参、形参
方法调用
对象名.方法名(实参列表)
-
当返回一个值时,方法调用通常被当做一个值
int larger = max(30,40)
-
如果返回值是void,方法调用一定是一条语句
System.out.println("Hello,xiaobai!");
值传递(java) 引用传递 ??
方法重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
重载规则
* 方法名称必须相同
* 参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)
* 返回类型可以相同也可以不同
* 仅仅返回类型不同不足以成为方法的重载
命令号传递参数
通过终端窗口编译文件 ——javac 文件名.java
通过java 文件名运行文件 注意:运行文件时可在后方传递参数 且需再文件包路径下运行
可变参数
不定项参数
-
在方法声明中,在指定参数类型后加一个省略号(…)
-
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明
public static void printMax(double... numbers){ if(numbers.length == 0){ System.out.println("no argument passed"); return; } double result = numbers[0]; //排序! for(int i = 1; i < numbers.length; i++){ if(number[i] > result){ result = numbers[i]; } } System.out.println("The max value is" + result); }
递归
递归就是:自己调自己 Demo06
递归结构包括两个部分:
* 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
* 递归体:什么时候需要调用自身方法
能不用就不用
作业:写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交换实现
思路:
* 写四个算法:加减乘除
* 利用循环+switch进行用户交互
* 传递需要操作的两个数
* 输出结果![在这里插入图片描述](https://img-