键盘录入
1、在类(class)上面导包
格式:
1 | import java.util.Scanner; |
2、创建键盘录入对象
格式:
1 | Scanner sc = new Scanner(System.in); |
3、通过对象的方法获取键盘录入的数据
1 | int x = sc.nextInt(); |
Java语言三种结构
Java语言三种结构:顺序结构、选择结构、循环结构
顺序结构
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的,即写在前面的先执行,写在后面的后执行,从上往下,依次执行。
1 | System.out.println("a"); |
选择结构
选择结构包括if语句和switch语句
if语句
格式一:
1 | if(boolean类型的表达式或值){ |
案例:
1 | if(4>3){ |
格式二:
1 | if(条件){ |
案例:
1 | if(10+2>5-3){ |
三元运算符能实现的,都可以采用if语句实现,但反之不成立
什么时候if语句实现不能用三元改进呢? 当if语句控制的操作是一个输出语句的时候就不能改写
格式三:
1 | if(条件1){ |
案例:获取三个数最大值
1 | int a=100; |
switch语句
1 | switch(常量/变量){ |
注意:
1、switch语句支持的表达式的数据类型:byte 、short、 int、 char、JDK5以后可以是枚举、JDK7以后可以是String
2、case 后面的只能是常量,多个case后面的值不能出现相同的
3、default 可以写也可以不写,且功能的执行与位置无关,但是建议在最后,当所有case项都没有匹配上就会执行
4、break 结束整个switch语句,如果没有 break 会发生 case穿透,这种现象你可以利用
5、switch语句的结束条件:遇到break就结束了或者执行到末尾结束
案例一:
1 | int x = 2; |
循环结构
循环结构包括for循环、while循环和do…while循环
for循环
1 | for(初始化表达式语句;判断条件语句;控制条件语句) { |
执行流程:
a:执行初始化表达式语句
b:执行判断条件语句,看其返回值是true还是false,如果是true,就继续执行,如果是false,就结束循环
c:执行循环体语句
d:执行控制条件语句
e:回到b继续执行
注意:初始化表达式语句只执行一次
案例:打印1~100的数
1 | for(int i=1; i<=100; i++){ |
while循环
1 | while(判断条件语句) { |
执行流程:先判断条件语句是否为true,若为true,则进入大括号执行循环语句和控制条件语句
案例:求1—100之间的和
1 | int i=1; |
do …while循环
1 | do { |
执行流程:先执行do里面的代码一次,然后再去判断,while括号里面的条件是否成立,如果成立,就继续执行{}里面的语句,如果条件不成立,则循环结束
案例:
1 | int i=2; |
三种循环语句的区别
(1): do…while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
(2): 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
死循环
当控制条件语句控制的那个变量丢失时,循环结构可能进入死循环
两种最简单的死循环格式:
while(true){…}
for(; ; ){…}
控制跳转语句
什么是控制跳转语句:Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便, 比如想在某个循环执行到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break(中断),continue(继续)和return(返回)来实现控制语句的跳转和中断
break
(1):在选择结构switch语句中
(2):在循环语句中
作用:常用于退出单层循环
注意:离开使用场景的存在是没有意义的
continue
在循环语句中
作用:跳出一次循环,执行下一步操作
注意:离开使用场景的存在是没有意义的
案例:
1
2
3
4
5
6
7
8
9
10for(int x=1; x<=10; x++) {
if(x%3==0) {
//在此处填写代码
}
System.out.println(“Java”);
}
//我想在控制台输出2次:“Java“----braak;
//我想在控制台输出7次:“Java“----continue;
//我想在控制台输出13次:“Java“----System.out.println(“Java”);return
作用:return 就是退出一个方法
方法
为了解决代码重复编写的问题,可以将一个功能的代码提取出来放在一个{}中,并为这段代码起个名字,所提取出来的代码可以被看作是程序中定义的一个方法,就是对一段功能逻辑的封装,以实现重复调用。
- 格式
1 | 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 …){ |
- 举例:定义一个方法求1~n的和并返回值
1 | public static int getSum(int n){ |
- 主方法
1 | public static void main(String[] args) {} |
主方法是一个程序的入口,主方法是JVM来调用的,一个类中只能有一个主方法
- 实参与形参
实参:调用方法时,传入的参数,叫做实际参数,简称实参,传常量,变量都可以。
形参:定义方法括号里面的参数,叫做形式参数,简称形参。形参的作用是,调用方法时,接收传过来的实参,多个形参你用逗号隔开。
- 注意
1 | 方法不调用不执行 |
- 案例
1 | // 需求:根据键盘录入的数据输出对应的乘法表 |
方法重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同(参数个数或者参数类型不同),与返回值无关。调用的时候,会根据参数个数和参数类型去匹配。
1 | private static int add(int i, int i1) { |