键盘录入 【掌握】
标识符 【掌握】
类型转换 【掌握】
运算符 【掌握】
流程控制语句-if语句 【掌握】
键盘录入 【掌握】
什么是键盘录入
通过键盘录入一个数据在控制台(DOS窗口),程序读取这个数据,从而做到数据的动态变化
键盘录入的意义
让数据动态变化
如何进行键盘录入
需要使用到JDK类库中提供的一个现成的类,这个类叫Scanner
步骤:
1、导包
导包就是为了找到要使用的类,告诉程序该类的位置
包名+类名
包名:文件夹名称
因为不同包下可能有同名的类,所以找一个类的时候,一定要指定其所在包
import java.util.Scanner;
import:导包的关键字
java.util:包名
Scanner:类名
注:导包的代码位于类定义语句之上
2、创建对象
类名 对象名 = new 类名(...);
Scanner sc = new Scanner(System.in);
System.in:系统输入
3、调用方法
数据类型 变量名 = 对象名.方法名();
int num = sc.nextInt();
Scanner:扫描器
标识符 【掌握】
什么是标识符
用于标识的符号,简单理解就是用来该Java中一切内容(类、变量和方法等)取名字的符号
标识符的组成规则(硬性要求)
1、只能由数字(0~9)、字母(英文大小写字母)、下划线(_)和美元符($)这四类符号组成
2、数字不能开头
3、不能是关键字
注:除了英文字母之外,其他的文字也是可以当做标识符的,比如中文,日文等
标识符的命名规则(软性要求)
命名最基本的要求:做到见名知义,尽量不使用中文
小驼峰式命名:变量和方法
如果一个单词组成,都小写
如果多个单词组成,则第二单词开始首字母大写,其余小写
age
maxAge
maxStudentAge
nextInt
大驼峰式命名:类
如果一个单词组成,首字母大写,其余小写
如果多个单词组成,每一个单词的首字母大写,其余小写
Scanner
Demo
ScannerDemo
HelloWorld
类型转换 【掌握】
什么是类型转型
一个数据值从一种数据类型转变为另一种数据类型
int 10 -转变-> long 10
Java中有两大类数据类型:基本数据类型和引用数据类型
这里研究的类型转换是针对基本数据类型(8种)
byte
short
int
long
float
double
char
boolean
类型转换的分类
自动转换(隐式转换):取值范围小的数据类型转为取值范围大的类型
强制转换:取值范围大的数据类型转为取值范围小的类型
格式:
目标数据类型 变量名 = (目标数据类型)值;
byte < short < int < long < float < double
char
注意事项:
1、boolean不能参与类型转换,非数值型不能参与和数值型之间的转换
2、图中箭头指向的能能够进行自动转换,箭头没有指向的或者反向指的,都必须强制转换
3、byte short char 在运算的时候, 都会直接提升为int, 然后再进行运算
ASCII码表
编码表:一张字符和数值的对应关系表
'a' - 97
'b' - 98
'A' - 65
'0' - 48
运算符 【掌握】
算术运算符
+ - * / % ++ --
+:两数相加求和
-:两数相减求差值
*:两数相乘求积
/:两数相除取商
整数相除只能得到整数
如果要得到小数则必须有小数参与运算
%(取余/取模):两数相除取余
+
+运算符除了可以进行两数相加求和操作之外,还可以有一些其他的作用:
1、数值类型的数据,使用+可以和字符一起操作,会导致字符查ASCII码表得到整数数据,再求和
2、任意类型的数据,使用+可以和字符串一起操作,会导致字符串的拼接效果
自增和自减运算符
++ --
作用:将变量值+1或者-1
使用方式:可以使用在变量前也可以使用在变量后,
但是一定是针对变量使用,而不能是常量
++和--在前和在后的区别
单独使用,没有参与其他操作,此时没有区别
++num;
或者
num++;
不是单独使用,参与了其他操作,此时有区别
++在前,先+1,然后再将加完的结果参与其他操作
++在后,先参与其他操作,然后再+1
赋值运算符
基本的赋值运算符 =
扩展的赋值运算符 += -= *= /= %=
作用:将右边的值赋给左边的变量
扩展的赋值运算符
+=:将左边加右边,结果赋值给左边
-=:将左边减右边,结果赋值给左边
*=:将左边乘右边,结果赋值给左边
/=:将左边除右边,结果(商)赋值给左边
%=:将左边模右边,结果(余数)赋值给左边
扩展的赋值运算符,当类型不一致的时候,隐含了强制转换
关系运算符
> < >= <= == !=
作用:比较两个数是否大、小、相等或者不等...
关系运算符的结果一定是一个布尔类型的结果,不是true,就是false
>=:大于或者等于
<=:小于或者等于
注意事项:
=和==不同,不要搞混
=是赋值运算符
==是关系运算符
逻辑运算符
& | ! ^ && ||
作用:用于连接一个或者多个布尔类型的值,运算得到的结果也是布尔类型的
0 < score < 100 // 不支持的写法
0 < score & score < 100
&:单与,逻辑与(并且):遇false则false,只有左右两边都为true,结果才为true
|:单或,逻辑或(或者):遇true则true,只有左右两边都为false,结果才为false
!:逻辑非(取反):非true则false,非false则true
^:逻辑异或:左右两边相同则为false,不同则为true
&&:双与,短路与(并且):遇false则false,只有左右两边都为true,结果才为true
||:双或,短路或(或者):遇true则true,只有左右两边都为false,结果才为false
&和&&的异同?
相同点:运算的结果一模一样
不同点:
&:没有短路效果,不论运算符左边结果是true还是false,右边一定会执行
&&:有短路效果,如果运算符左边(false)能确定最终运算结果,则右边不执行
|和||的异同?
相同点:运算的结果一模一样
不同点:
|:没有短路效果,不论运算符左边结果是true还是false,右边一定会执行
||:有短路效果,如果运算符左边(true)能确定最终运算结果,则右边不执行
注:&& 、|| 和 !使用最多
三元运算符
格式:
数据类型 变量名 = 表达式1? 表达式2: 表达式3;
或者
System.out.println(表达式1 ? 表达式2: 表达式3);
注:三元运算符运算之后一定会有结果,这个结果必须接收或者使用
执行流程:
1、首先判断表达式1的结果,表达式1的结果一定是一个布尔类型的结果,不是true就是false
2、如果为true,则执行表达式2
3、如果为false,则执行表达式3