01 标识符
就是给类,方法,变量 取名字
-
命名规则
-
由数字、字母、下划线(_)和美元符号($)组成
-
不能数字开头
-
不能是关键字
-
区分大小写
-
-
命名规范
-
小驼峰命名法(变量):
-
标识符是一个单词,首字母小写。 age
-
标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写 magAge
-
-
大驼峰命名法(类):
-
标识符是一个单词,首字母大写。 Student
-
标识符由多个单词组成的时候,从第一个单词开始首字母大写 GoodStudent
-
-
02 数据类型
-
基本数据类型
-
整数
-
byte -128——127 占用1个字节
-
short 占用2个字节
-
int (默认) 占用4字节
-
long 占用8个字节
-
-
-
-
-
浮点型
-
float 占用4个字节
-
double (默认) 占用8个字节
-
-
-
字符
-
char 占用2个字节
-
-
布尔
-
boolean 占用1个字节
-
-
如果想定义整数类型的变量,首选int,如果发现int装不下,将类型转换为long即可 定义long类型变量的时候,需要加入L的标志(大小写都可,建议大写)
-
今后定义小数类型的变量,首选double,非要定义float类型的话需要加入F标识(大小写都可以)
-
-
引用数据类型
03 Scanner键盘录入
-
步骤:
-
找符咒(导包)
-
import java.util.Scanner;
-
让自己的类,能够找到Scanner符咒,方便后面使用
-
必须写在类定义的上面
-
-
召唤精灵(创建对象)
-
Scanner sc = new Scanner(Systen.in);
-
SC,是我们自己给精灵取的名字,可以改变,其他不允许改变
-
-
指挥精灵干活
-
int age = sc.nextInt();
-
-
04 运算符
运算符:对常量或者变量进行的操作的符号
表达式:用运算符吧常量或者变量连接起来符合Java语法的式子可以成为表达式。
-
算数运算符
-
+
-
-
-
×
-
÷
-
整数相除结果只能得到整数,想要得到小数的结果,需要由小数的参与
-
-
% -------
-
(取模)特点:结果是除法之后的余数
-
目前理解的场景:可以判断奇偶数
任何一个数%2结果不是1就是0;
-
简单小练习,数值拆分
需求:键盘录入一个三位数,将其分为个位,十位,百位,打印在控制台 import java.util.Scanner; public class ScannerDome2 { /* 从键盘录入一个三位数,将其拆分个位,十位,百位,打印在控制太 分析: 1.使用Scanner键盘录入一个三位数 2.数值拆分: 个数:数值%10 123/10--->商12...3 就可以得到个位。 十位:数值/10%10 百位:数值/100 */ public static void main(String[] args) { //从键盘录入三位数 Scanner SC = new Scanner(System.in); //给出提示文字 System.out.println("请输入整数:"); //从键盘输入并存储在int类型的变量num中 int num= SC.nextInt(); //求个位数并存储在int类型的变量ge中 int ge = num%10; //求十位数并存储在int类型的变量shi中 int shi = num/10%10; //求白位数并存储在int类型的变量白中 int bai = num/100; //打印个位,十位,百位 System.out.println("这个数"+num+"的个位是:"+ge); System.out.println("这个数"+num+"的十位是:"+shi); System.out.println("这个数"+num+"的百位是:"+bai); System.out.println("这个数"+num+"的百位是:"+bai); } }
String字符串的+号拼接
-
-
当+号操作过程中,遇到字符串,+就不算是算数运算符,而是字符串拼接符
自增自减运算符
-
只能操作变量,不能操作常量
-
++ 可以使变量的值加一
-
单独使用++在变量前,变量后,没有任何区别
-
参与运算(复杂,面试题)
++在前,先自增,再参与运算
++在后,先参与运算,再进行自增
-
-
-- 可以使变量的值加一
-
单独使用--在变量前,变量后,没有任何区别
-
参与运算(复杂,面试题)
--在前,先自减,再参与运算
--在后,先参与运算,再进行自减
-
-
05类型转换
隐式转换
-
把一个取值范围小的数值或者变量,赋值另一个给取值范围大的变量。(小的给大可以直接给)
-
取值范围从小到大的顺序:byte,shoort,int,long,float,double
-
float类型虽然占用4个字节,但是取值范围的8个字节的long,更大
-
原理:小数在底层的二进制存储,更加节省内存。
-
运算过程中的隐式转换
-
取值范围的小的数据,和取值范围大的数据进行运算,小的会先提升位大的之后,在进行运算
-
byte、short、三种数据在进行运算的时候,都会自动提升位int,然后进行再运算。
强制转换
-
把一个取值范围大的数值或者变量,赋值给另一个取值范围小的变量。
-
强制转换【有可能】造成精度损失。
06赋值运算符
-
=:是基本赋值运算符,将等号右侧的数据,赋值给左侧的变量
-
扩展赋值运算符
-
+= : 将符号左右两边的数据做加法运算,再将结果赋值给左侧
-
-= : 将符号左右两边的数据做减法运算,再将结果赋值给左侧
-
*= : 将符号左右两边的数据做乘法运算,再将结果赋值给左侧
-
/= : 将符号左右两边的数据做除法运算,再将结果赋值给左侧
-
%= : 将符号左右两边的数据做取模运算,再将结果赋值给左侧
-
注意事项:扩展赋值运算符,底层自带强转!
-
-
07关系运算符
08逻辑运算符
-
代码层面:链接boolean类型的表达式,或者是值
-
理解层面:可以整合多个条件,为一段整体的逻辑
-
分类
-
&(且)遇假则假
范围性的判断查找
-
|(或)遇真则真
多条件,任选其一的判断查找
-
!(非)取反
适用于对于一段逻辑,整体取反
-
^(异或) 了解即可 相同为flase 不同为true
-
-
-
短路逻辑运算符
-
&&: 具有短路效果,当符号左边为flase的时候,右边不执行了
如果符号左侧为true ,右边继续执行
-
||: 具有短路效果,当符号左边为true的时候,右边不执行了
如果符号左侧为flase ,右边继续执行
-
09 三元运算符
int max = scorel > score2 ? scorel : score2; //判断条件 ? 值1 : 值2;
可以根据一个条件,达成二者选其一的效果
流程:
-
执行判断条件,看其返回结果true,false
-
true : 值1为结果
-
flase: 值2为结果
010流程控制语句
-
顺序结构
-
Java程序是默认的从上到下按顺序一次执行
-
-
分支结构
-
IF
if(判断条件){
语句体;
}流程
① 首先计算判断条件
② 条件返回的值为true :就执行{}中得语句体
③ 条件返回的值为flase:就不执行{}中得语句体
注意事项
if语句()和{}之间不要写分号
if语句{}如果只有一条语句{}可以省略不写---》不建议
if语句()当中无论简单还是i复杂,只要保证有boolean类型的true。flase,就可以正常执行
if(判断条件){
语句体1;
}else{
语句体2;
}流程
① 首先计算判断条件
② 条件返回的值为true :就执行if{语句体1}
③ 条件返回的值为flase:就执行else{语句体2}
if(判断条件1){
语句体1;
}else if(判断条件2){
语句体2;
}else{
语句体4;
}流程
① 首先计算判断条件
② 条件返回的值为true :就执行if{语句体1}
③ 条件返回的值为flase:就执行else if{判断条件2}
④条件返回的值为true:就执行语句体2
⑤条件返回的值为flase:就执行else 语句体3
-
switch
-
-
循环结构
-
while
-
do...while
-
for
-