变量:

程序运行过程中 其值可以改变的量 称为变量
组成:数据类型 变量名 变量值
变量命名规则:1只能是数字 字母 下划线或者是$ 组合而成 2不能是数字开头 3不能使用保留字
变量的三种声明方式:1.先声明 再赋值 int age; age=20;
2.声明并赋值 int age=20;
3.多同类型声明|赋值 int a,b,c=7 a=5 b=7
\n 换行 \t 制表符 \单斜杠 \’ 单引号 \” 双引号

数据类型:

基本数据类型:整数: byte(1字节)8位 short(2字节) int(4字节) long(8字节)
小数: float 4字节 32位 double 8字节 64位
默认使用double 要用float 则需要值后面加F
字符:char 2字节 存储一个英文 或者一个数字 char e = ‘65’ 是错的 char e = 65 对的
布尔:True False 存储真或假

基本数据变量存在栈中 存的是值

引用数据类型:字符串String 字符串类型:用于存储一组字符或者汉字
数组
对象

  1. ** 引用数据类型存在堆中 存的是地址**<br />**<br />**![yuque_diagram.jpg](https://cdn.nlark.com/yuque/0/2021/jpeg/22480690/1629722722581-b6faeb4e-5427-4e94-bc0b-b9f0e7f2026d.jpeg#align=left&display=inline&height=638&margin=%5Bobject%20Object%5D&name=yuque_diagram.jpg&originHeight=638&originWidth=1878&size=76349&status=done&style=none&width=1878)**<br />![](https://cdn.nlark.com/yuque/0/2021/png/12489399/1615944229033-229ffca3-0454-4825-89bb-5068de05084f.png?x-oss-process=image%2Fresize%2Cw_802#align=left&display=inline&height=320&margin=%5Bobject%20Object%5D&originHeight=320&originWidth=802&status=done&style=none&width=802)

运算符:

逻辑运算符 && 全真时为真 一假全假 || 或一个为真为真 全假为假 ! 非真既是假 假既是真 /求商 %取余数
一元运算符 ++在前 先自增 再去做其他运算 ++在后 先做其他运算(包括赋值运算、输出) 再去做自增操作
赋值运算符 += -= *= /= %= 五个运算符
关系运算符 > < >= <= == != 运算结果返回 True 或 False
优先级 关系运算符 > 逻辑运算符
三元运算符 布尔表达式? 结果1: 结果2 ; 布尔表达式为真时 执行结果1 否则执行2

数据类型之间的转换:

1.两种类型互相兼容
2.目标类型大于源类型

自动类型转换 小转大
强转 大转小 double b = 9.0; int a = (int) b;

类型的提升:

两个算数符为double 则结果提升为double
没有double 有float 则结果提升为float
没有float 有long 则结果提升为long
没有long 有int 则结果提升为int
没有int 两个为short byte 则结果仍为int
特殊任何与String 拼接 则结果都为String

控制台的录入

1.导入 import java.util.Scanner; //引入JDK提供的一个扫描工具
2.声明 Scanner input = new Scanner(System.in);
3.使用 double receive = input.nextDouble();//获得double 类型
.nextInt();//获得整数
.next();//获得字符串
.next().charAt(0);//获得单个字符串
用什么类型去接受 就用同等类型去赋值

附:ASCII码表

1.语法基础 - 图1

附:关键字表

1.语法基础 - 图2

附:优先级结合性表

1.语法基础 - 图3