补充(数据输入scanner包)
如何使用scanner?
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
sc:属于变量名,可变,其它不可变
3.接收数据
int i
i:属于变量名,可变,其它不可变,而后面的nextInt()是scanner包里其中一种方法,获取数据整型类型的方法。
运算符
1.什么是运算符?
运算符:运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。对常量或者变量进行操作的符号 (+-*/%)
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。(a+b)
2.运算符分类
(1)算数运算符(+,-,*,/,%(求余))
/(乘)和%(求余)的区别:两个数据做除法,/取结果的商,%取结果的余数。
注意事项:
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
拿字符在计算机底层对应的数值来进行计算的('a'=97,'A'=65(A~Z,a~z),'0'=48(0~9))
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
强调:字符"+"操作是做加法运算 字符串"+"操作,是将两个字符串拼接起来
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。例如: 1 + 99 + "年黑马"结果输出100年黑马。
(2)赋值运算符
注意事项:
扩展的赋值运算符隐含了强制类型转换
(3)自增自减运算符
注意:x++表示先用再加,++x表示先加再用 “--”同理
(4)关系运算符
(5)逻辑运算符
短路逻辑运算符:
常用运算符:&&,||,!
注意:逻辑与&:无论左边真假,右边语句都要执行。
短路与&&:若左边为真,右边语句执行,反之左边为假,则右边语句不执行。
逻辑或 | :无论左边真假,右边语句都要执行。
短路或 || :若左边为假,右边语句执行;若为真,右边语句不执行。
(6)优先级运算符
(7)三元运算符
格式:关系表达式 ?表达式1:表达式2(例如:a>b ? a:b)
如何来判断返回值呢?
首先计算关系表达式的值,若值为true,则返回表达式1的值,反之为false,返回表达式2的值。
流程控制语句
1.顺序结构
比较简单:按照代码的先后顺序,依次执行
2.分支结构(if,switch)
(1)if语句:
例题演示:
/*
我家的狗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);
}
}
(2)switch语句:
例题演示
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)执行{...}中的 语句
3.循环结构(for循环,do...while循环,while循环)
(1)for循环
例题演示:
/*
已知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);
}
}
}
}
(2)do...while循环
示例演示
// 输入得分判断是否及格,不及格时退出
Scanner sc = new Scanner(System.in);
do{
System.out.println("请输入成绩:");
int score = sc.nextInt();
}while(score>60)
System.out.println("很遗憾你未及格!");
(3)while循环
例题演示
/*
已知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++;
}
}
}
(4)三种循环的区别
(5)循环嵌套
什么是嵌套?
循环嵌套
目录
补充(数据输入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)循环嵌套
:一个循环体内又包含另一个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。