- Scanner的基本使用
package cn.itcast.demo2;
//1.导包
import java.util.Scanner;
public class ScannerDemo2 {
public static void main(String[] args) {
//2.创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
//3.接收数据
int i = sc.nextInt();
//将用户录入的数据打印到控制台上
System.out.println("i:"+i);
}
}
2.键盘输入两个数,求相加后的和
package cn.itcast.demo2;
//1.导包
import java.util.Scanner;
public class ScannerDemo2_2 {
public static void main(String[] args) {
//需求:键盘录入两个整数,求他们的和
//2.创建键盘录入对象
Scanner sc = new Scanner(System.in);
//3.提示用户录入数据,并接收
System.out.println("请录入第一个整数");
int a = sc.nextInt();
System.out.println("请录入第二个整数");
int b = sc.nextInt();
//4.计算整数和
int sum = a + b;
//打印结果
System.out.println("sum:"+sum);
}
}
3.顺序结构
package cn.itcast.demo2;
public class OrderDemo {
public static void main(String[] args) {
//顺序结构:代码会按照从上往下,从左往右的顺序,一次逐行执行
System.out.println("程序开始执行");
System.out.println("A");
System.out.println("B");
System.out.println("C");
System.out.println(10+20+"hello");
System.out.println("程序执行结束");
}
}
4.选择结构之if语句:
第一种格式:
if(关系表达式){
语句体1;
}
执行流程:
如果关系表达式成立, 则执行语句体1,
如果关系表达式不成立,则不执行语句体1.
package cn.itcast.demo2;
public class IfDemo1 {
public static void main(String[] args) {
System.out.println("开始执行");
//定义两个int类型的变量
int a = 10;
int b = 20;
//判断两个变量是否相等
if (a == b){
//如果能走到这里,说明条件成立
System.out.println("a和b是相等的");
}
System.out.println("结束执行");
}
}
第二种格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
先判断关系表达式,看其是否成立(true成立,false不成立)
如果关系表达式成立, 则执行语句体1
如果关系表达式不成立,则执行语句体2
package cn.itcast.demo2;
public class IfDemo2 {
public static void main(String[] args) {
System.out.println("开始执行");
//需求:判断两个整数是否相等,相等则打印“相等”,不相等则打印“不相等”
int a = 10;
int b = 20;
//调用if语句的第二种格式
if(a == b){ //if:如果
//能走这里,说明条件成立
System.out.println("相等");
} else { //else:否则
//能走这里,说明条件不成立
System.out.println("不相等");
}
System.out.println("结束执行");
}
}
选择语句之if语句
第三种格式:
if(关系表达式1){
语句体1;
} else if(关系表达式2){
语句体2;
} else if(关系表达式2){
语句体3;
} else if(关系表达式n){
语句体n;
} else {
语句体n + 1;
}
执行流程:
先判断关系表达式1,看其是否成立(true成立,false不成立)
成立, 则执行语句体1。
不成立,则判断关系表达式2,看其是否成立。
成立, 则执行语句体2。
不成立,则判断关系表达式3,看其是否成立。
依次类推,
如果关系表达式n成立,则执行语句体n,否则执行语句体n + 1.
package cn.itcast.demo2;
public class IfDemo3 {
public static void main(String[] args) {
//1.定义变量,记录时间
int time = 8;
//2.判断
if(time >= 0 && time <=12){
System.out.println("上午好");
} else if (time >= 13 && time <= 18){
System.out.println("下午好");
} else if (time >= 19 && time <= 24){
System.out.println("晚上好");
} else {
//说明上述的三组条件都不满足
System.out.println("输入错误");
}
}
}
(1)案例1,求录入的两个值的最大值
package cn.itcast.demo2;
import java.util.Scanner;
public class IfDemo4 {
public static void main(String[] args) {
//需求:键盘录入两个数据,获取这两个数据的最大值
//1.创建键盘录入对象,以便接收永固录入的数据(包括:导包,创建对象)
Scanner sc = new Scanner(System.in);
//2.录入
System.out.println("请录入第一个整数");
int a = sc.nextInt();
System.out.println("请录入第二个整数");
int b = sc.nextInt();
//3.判断
int max = (a >= b) ? a : b;
//4.输出
System.out.println("max:" + max);
}
}
(2)根据学生成绩输出级别
package cn.itcast.demo2;
import java.util.Scanner;
public class IfDemo5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的成绩");
int score = sc.nextInt();
if (score >= 90 && score <= 100){
System.out.println("A");
} else if (score >= 80 && score < 90){
System.out.println("B");
} else if (score >= 70 && score < 80){
System.out.println("C");
} else if (score >= 60 && score < 70){
System.out.println("D");
} else if (score >= 0 && score < 60){
System.out.println("E");
} else {
System.out.println("成绩输入错误");
}
}
}
6.switch案例
package cn.itcast.demo2;
import java.util.Scanner;
public class SwitchDemo {
public static void main(String[] args) {
//
//1.
Scanner sc = new Scanner(System.in);
//2.
System.out.println("请输入一个数字:");
int day = sc. nextInt();
//3.
switch (day){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("数字输入错误");
}
}
}
7.for循环
for循环
格式:
for(初始化语句:判断条件语句;控制条件语句){
循环体
}
执行流程:
第一次循环:先执行初始化语句,然后执行判断条件语句,
如果条件不成立:循环结束
如果条件成立: 执行循环体,然后执行控制条件语句,此时,第一次循环执行结束
第二次循环:执行判断条件语句
如果条件不成立:循环结束
如果条件成立: 执行循环体,然后执行控制条件语句,此时,第一次循环执行结束
以此类推…
package cn.itcast.demo2;
public class ForDemo1 {
public static void main(String[] args) {
//需求:打印五次HelloWorld
for(int i = 1; i <= 5; i++){
System.out.println("HelloWorld!");
}
}
}
8.continue 和 break 的区别
contine 只结束本次循环
break 直接跳出循环
package cn.itcast.demo2;
public class BreakDemo1 {
public static void main(String[] args) {
//需求:假设班级有15名学生,查找编号为3的学生
for (int i = 1 ; i <= 15 ; i++){
System.out.println("我是编号为" + i + "的学生");
if (i == 3){
System.out.println("找到了编号为3的学生,循环结束");
break;
}
}
}
}
package cn.itcast.demo2;
public class ContinueDemo1 {
public static void main(String[] args) {
//需求:模拟逢7必过的小游戏
for (int i =1; i <=100; i++){
if (i%10 ==7 || i/10%10 == 7 || i % 7 == 0){
System.out.println("...");
continue;
}
System.out.println(i);
}
}
}
9.对循环进行命名
package cn.itcast.demo2;
public class BreakDemo2 {
public static void main(String[] args) {
/*
需求:
已知:
现在又3个班级,每个班级又10个同学
假设第二个班级的第五位同学叫做程序猿,找到该同学后则停止查找
*/
lable_class:for (int i = 1; i < 4; i++){
for (int j = 1; j < 11; j++){
System.out.println("正在查找第" + i + "个班级的第" + j + "个同学");
if (i == 2 && j == 5){
System.out.println("找到了");
break lable_class;
}
}
}
}
}
10.案例
package cn.itcast.demo2;
public class SendOrangeDemo {
public static void main(String[] args) {
int count = 0;
A : for (int i = 1; i <= 4 ; i++){
for (int j = 1; j <= 36 ;j++){
if (j % 5 == 0){
continue;
}
System.out.println("正在给第" + i + "个班级第" + j + "个同学发橘子");
count ++;
if (count >= 100){
break A;
}
}
}
System.out.println("总共发了" + count + "个橘子");
}
}
11.random案例
package cn.itcast.demo2;
import java.util.Random;
import java.util.Scanner;
public class RandomDemo {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入你要猜的数字(1-100)");
int guessNum = sc.nextInt();
if (guessNum > num){
System.out.println("猜大了");
} else if (guessNum < num){
System.out.println("猜小了");
} else{
System.out.println("猜对了");
break;
}
}
}
}
方法的格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…){
…
return 返回值;
}
案例:
package cn.itcast.demo2;
import java.util.Scanner;
public class MethodDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
int num1 = sc.nextInt();
System.out.println("请输入第二个数字");
int num2 = sc.nextInt();
boolean is = compare(num1,num2);
System.out.println(is);
}
public static boolean compare (int a,int b) {
return ( a == b );
}
}
注意事项:
1、方法必须定义在类中
2、方法与方法之间是平级关系,不能嵌套定义
3、方法没有返回值时,返回值类型必须写成:void
4、方法返回值类型为void时,可以省略return语句
5、return语句后值的类型必须和方法的返回值的类型一致
6、return之后不能再放置语句
方法重载:
同一个类中的多个方法,出现方法名相同,但是参数列表不同的情况
参数列表不同:参数的个数不同,参数对应的数据类型不同
13.数组:是用于存储大量相同类型的数据。