如何使用scanner?
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
sc:属于变量名,可变,其它不可变
3.接收数据
int i = sc.nextInt();
i:属于变量名,可变,其它不可变,而后面的nextInt()是scanner包里其中一种方法,获取数据整型类型的方法。
运算符:运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。对常量或者变量进行操作的符号 (+-*/%)
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。(a+b)
/(乘)和%(求余)的区别:两个数据做除法,/取结果的商,%取结果的余数。
注意事项:
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
拿字符在计算机底层对应的数值来进行计算的('a'=97,'A'=65(A~Z,a~z),'0'=48(0~9))
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
强调:字符"+"操作是做加法运算 字符串"+"操作,是将两个字符串拼接起来
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。例如: 1 + 99 + "年黑马"结果输出100年黑马。
注意事项:
扩展的赋值运算符隐含了强制类型转换
注意:x++表示先用再加,++x表示先加再用 “--”同理
短路逻辑运算符:
常用运算符:&&,||,!
注意:逻辑与&:无论左边真假,右边语句都要执行。
短路与&&:若左边为真,右边语句执行,反之左边为假,则右边语句不执行。
逻辑或 | :无论左边真假,右边语句都要执行。
短路或 || :若左边为假,右边语句执行;若为真,右边语句不执行。
格式:关系表达式 ?表达式1:表达式2(例如:a>b ? a:b)
如何来判断返回值呢?
首先计算关系表达式的值,若值为true,则返回表达式1的值,反之为false,返回表达式2的值。
比较简单:按照代码的先后顺序,依次执行
例题演示:
/* 我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每 一年相当于人类的10.5岁,之后每增加一年就增加四岁。 那么5岁的狗 相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。 编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人 类的年龄。如果用户输入负数,请显示一个提示信息。 */ import java.util.Scanner; public class Demo5 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入狗的年龄:"); double year = sc.nextDouble(); double peopleYear=0; if (year>=2){ peopleYear=10.5*2+(year-2)*4; }else if (year>0&&year<2){ peopleYear=year*10.5; }else { System.out.println("您输入狗的年龄错误"); } System.out.println("狗的年龄"+year+"相当于人类的年龄的"+peopleYear); } }
例题演示
import java.util.Scanner; /* 模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。 要求: 键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算),演示效果如下: 请输入第一个整数: 30 请输入第二个整数: 40 请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法): 1 控制台输出:30+40=70 */ public class DemoSwitch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入第一个整数"); int a=sc.nextInt(); System.out.println("请输入第二个整数" ); int b = sc.nextInt(); System.out.println("所需要进行的运算类型:1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算"); int e=sc.nextInt(); switch (e){ case 1:System.out.println(a+"+"+b+"="+(a+b));break; case 2:System.out.println(a+"-"+b+"="+(a-b));break; case 3:System.out.println(a+"*"+b+"="+(a*b));break; case 4:System.out.println(a+"/"+b+"="+(a/b));break; default:System.out.println("输入的运算类型有误!!");break; } } }
注意:表达式:取值为byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String break:表示用来结束switch语句(跳出循环)
countinue:表示跳出该次循环,不执行后面的语句,并进行下一次循环
总结:if(条件){...} ,if(条件){...}else{...} ,if(条件){...}else if(条件){...}...else{...} 条件成立(true)执行{...}中的 语句
例题演示:
/* 已知2019年是猪年,请在控制台输出从1949年到2019年中所有是猪年的年份 */ public class Demo1 { public static void main(String[] args) { for (int i = 1949; i < 2019; i++) { //2.如果年份和2019年的差值是12的倍数 则说明是猪年 if ((2019 - i) % 12 == 0) { //3.打印符合条件的年份 System.out.println(i); } } } }
示例演示
// 输入得分判断是否及格,不及格时退出 Scanner sc = new Scanner(System.in); do{ System.out.println("请输入成绩:"); int score = sc.nextInt(); }while(score>60) System.out.println("很遗憾你未及格!");
例题演示
/* 已知2019年是猪年,请在控制台输出从1949年到2019年中所有是猪年的年份 */ public class Demo1 { public static void main(String[] args) { // int year = 1949; while (1949<=year&&year<=2019){ if (year%12==0){ System.out.println(year+"年为猪年"); } year++; } } }
什么是嵌套?
循环嵌套
目录
补充(数据输入scanner包)
运算符
1.什么是运算符?
2.运算符分类
(1)算数运算符(+,-,*,/,%(求余))
(2)赋值运算符
(3)自增自减运算符
(4)关系运算符
(5)逻辑运算符
(6)优先级运算符
(7)三元运算符
流程控制语句
1.顺序结构
2.分支结构(if,switch)
(1)if语句:
(2)switch语句:
3.循环结构(for循环,do...while循环,while循环)
(1)for循环
(2)do...while循环
(3)while循环
(4)三种循环的区别
(5)循环嵌套
:一个循环体内又包含另一个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。