十、Java基础语法
1.注释
注释是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序。(注释不影响程序的执行。)
- 单行注释(Ctrl + /)
public class NoteDemo {
public static void main(String[] args) {
// 单行注释
System.out.println("starting learn java, good ~");
}
}
- 多行注释(Ctrl + Shift + /)
public class NoteDemo {
public static void main(String[] args) {
/*
* 多行注释 */
System.out.println("staring learn jaava, good ~");
}
}
- 文档注释
/**
* 文档注释
* 文档注释的内容是可以自动提取到文档说明书中去。
* */
public class NoteDemo {
public static void main(String[] args) {
System.out.println("staring learn jaava, good ~");
}
}
2.字面量
- 计算机是用来处理数据的,字面量就是告诉程序员:数据在程序中的书写格式。
- 常用数据
常用数据 | 生活中的写法 | 程序中的写法 | 说明 |
整数 int | 666, -888 | 666, -888 | 写法一致 |
小数 float | 13.14, -5.12 | 13.14, -5.12 | 写法一致 |
字符 char | A, B, 字 | ’A‘, ’B‘, ‘字’ | 程序中必须使用单引号,有且仅能有一个字符 |
字符串 String | AAA, BBB, 字字字 | ‘AAA’, ‘BBB’, ‘字字字’ | 程序中必须使用双引号,内容可有可无 |
布尔值 boolean | 真, 假 | true, false | 只有两个值:true代表真,false代表假 |
空值 | null | 一个特殊的值,空值 |
- 整数
// 1.整数
System.out.println(666);
- 小数
// 2.小数
System.out.println(99.5);
- 字符
// 3.字符:必须要用单引号,有且仅有一个字符
System.out.println('A');
// 空字符
System.out.println(' ');
/* 特殊字符
\n 代表的事换行
\t 代表的事一个tab
* */
System.out.println('\n');
System.out.println('\t');
- 字符串
// 4.字符串: 必须要用双引号,里面的内容可以随意
System.out.println("AAA");
- 布尔值
// 5.布尔值:有且只有两个值 true false
System.out.println(true);
System.out.println(false);
- 总结
- 字面量这个知识是告诉同学们什么?
- 数据在程序中的书写格式。
- 字符、字符串在程序中的书写格式有什么要求?
- 字符必须单引号围起来,有且仅有一个字符。
- 字符串必须用双引号围起来。
- 几个常见的特殊值的书写格式是?
- true、false、null、\n、\t
3.变量
- 变量就是用来存储一个数据的内存区域(可以理解为盒子),且里面存储的数据可以变化。
- 变量定义格式
数据类型 变量名称 = 初始值;
| | | |
| | 赋值 |
| | |
| | 存储的初始数据
| 取名称、首字母建议小写、有意义
|
强制限制盒子中存储数据的形式。例如:int(整数类型)、double(小数类型)
double money = 6.0;
- 使用变量
// 数据类型 变量名称 = 初始值;
double money = 6.0;
System.out.println(money);
// 收红包(从右往左看)
money = money + 4.0;
System.out.println(money);
int age = 20;
System.out.println(age);
age = 24;
System.out.println(age);
- 总结
- 变量的作用?
- 存储一个数据的,可以改变里面存储的数据。
- 变量的格式
- 数据类型 变量名称 = 初始值;
4.变量使用注意事项
- 变量要先声明再使用。
- 变量声明后,不能存储其他类型的数据。
- 变量的有效范围是从定义开始到“}”截至,且在同一范围内部不能定义2个同名的变量。
- 变量定义的时候可以没有初始值,但是使用的时候必须给初始值。
5.变量在计算机中的底层原理
- 二进制:只有0、1,按照逢二进一的方式表示数据。
- 十进制转二进制:除2取余,逆序排列。
- 计算机中的数据的最小单位:使用8个二进制位为一组,来保存数据,我们称之为一个字节(byte, 简称B)。
- 其中的每个二进制位称为一位(bit,简称b),1byte = 8 bit 简写 1B = 1b。
- 总结:
- 数据在计算机底层都是怎么存储的?
- 都是采用二进制:使用0、1,按照逢二进一的规则表示数据来存储。
- 如何快速的算出一个数据的二进制形式?
- 除2取余,逆序排序。
- 数据在计算机底层存储的最小单元是什么?
- 字节,一个字节等于8个二进制位:1B=8b
6.其他数据形式是如何存储的
- 字符在计算机中是如何存储的?
- ASCII编码表:即美国信息交换标准编码,规定了现代英语、数字字符、和其他西欧字符对应的数字编号。
char ch = 'a';
System.out.println(ch+1);
// 输出:98
- 图片数据-彩色图
- 图片就是无数个像素点组成的。
- 每个像素点的数据:用0~255 * 255 * 255表示其颜色。
- 声音数据:二进制。
- 总结
- 字符数据在计算机中是怎么存的?
- 字符存的是ASCII码表中对应的数字的二进制形式。
- 字符‘A’对应的数字是65。
- 字符’a’对应的数字的97。
- 字符’0’对应的数字是48。
- 图片和音频、视频等文件的数据是怎么存储的?
- 也是采用二进制进行存储的。
7.二进制、十进制、八进制、十六进制、数据单位
二进制 | 八进制 | 十进制 | 十六进制 | |
二进制 | 除2取余,逆序排列 | |||
八进制 | ||||
十进制 | ||||
十六进制 |
- 为了便于观察和表示二进制,推虎了八进制和十六进制。
- 每3位二进制作为一个单元,最小数是0,最大数是7,共8个数字,这就是八进制。
十进制 97
二进制 01 100 001
八进制 1 4 1
- 每4位二进制作为一个单元,最小数是0,最大数是15,共16个数字,依次用:0~9 ABCDEF代表十六进制。
十进制 97
二进制 0110 0001
十六进制 61
- 注意:Java程序中支持书写二进制、八进制、十六进制的数据,分别需要以0B或者0b、0、0X或者0x开头。
// 二进制
int i1= 0B01100001;
System.out.println(i1);
// 八进制
int i2 = 0141;
System.out.println(i2);
// 十六进制
int i3 = 0x61;
System.out.println(i3);
- 计算机的数据单位
- 计算机最小的组成单元是字节:1B = 8b。
- 在B的基础上,计算机发展出了KB、MB、GB、TB、…这些数据单位。
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
8.数据类型
- 引用数据类型(除基本数据类型之外的,如String,其他的后面学习)
- 基本数据类型:4大类8种。
数据类型 | 关键字 | 取值范围 | 内存占用(字节数) |
整数 | byte | -128~127 -27~27-1 | 1 |
short | -32768~32767 -215~215-1 | 2 | |
int(默认) | -2147483648~2147483647 -231~-231-1 | 4 | |
long | -2,147,483,648~2,147,483,647 -263~263-1 | 8 | |
浮点数 | float | 4 | |
double(默认) | 8 | ||
字符 | char | 0-65535 | 2 |
布尔 | boolean | true, false | 1 |
- 数据类型
// 数据类型
// 1.byte类型 占1个字节 -128~127
byte number = 98;
System.out.println(number);
// 2.short短整型 占2个字节
short money_all = 30000;
System.out.println(money_all);
// 3.int整型 默认的类型 占4个字节(默认使用的类型)
int it = 333333333;
// 4. long长整型 占8个字节
long lg = 1333333333;
// 注意:随便写一个整数字面量默认是int类型,333333333333333虽然没有超过long的范围,但是它超过了本身Int类型的表示范围。
// 如果希望随便写一个整数 字面量当成long类型,需要在其后面加 L或l
long lg1 = 333333333333333L;
System.out.println(lg + lg1);
// 5.浮点型(小数)
// float 单精度 占4个字节
// 随便写一个小数 字面量默认是double类型
// 如果希望随便写一个小数 字面量是float类型的需要在其后面加上 F或f
float score = 98.5F;
System.out.println(score);
// 6.double双精度 占8个字节
double score2 = 999.99;
System.out.println(score2);
// 7.char字符类型
char ch1 = 'a';
char ch2 = '中';
System.out.println(ch1);
System.out.println(ch2);
// 8.boolean布尔类型
boolean rs = true;
boolean rs2 = false;
System.out.println(rs);
System.out.println(rs2);
// 9.引用数据类型
String name = "西门吹雪";
System.out.println(name);
- 总结
- 数据类型分几种?
- 引用数据类型:String
- 基本数据类型:4大类8种。
- 整形:byte、short、int(默认)、long
- 浮点型:float、double(默认)
- 字符型:char
- 布尔型:boolean
- 随便写的整数、小数字面量默认什么类型?
- 23,默认是int类型,加上L/l就是long类型的数据。
- 23.8,默认是double类型,加上F/f就是float类型。
9.关键字和标识符
a.关键字
- Java自己保留的一些单词,作为特殊功能的,例如:public、class、byte、short、int、long、double…
- 我们不能用来作为类名或者是变量名称,否则报错。
- 注意:关键字很多,不用刻意去记。
类别 | 关键字 | 说明 |
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 |
b.标识符
- 标识符就是由一些字符、符号组合起来的名称,用于给类、方法、变量等起名字的规矩。
c.标识符的要求
- 基本要求:由数字、字母、下划线和美元符等组成
- 强制要求:不能以数字开头、不能是关键字、区分大小写。
d.命名规范指导
- 变量名称:满足标识符规则,建议全英文、有意义、首字母小写,满足“驼峰模式”,例如:int studyNumber = 59。
- 类名称:满足标识符规则,建议全英文、有意义、首字母大写,满足“驼峰模式”,例如:HelloWorld.java
e.总结
- 关键字的特点
- Java自己保留的,我们不能用来取名字
- 标识符
- 取名字的规则,数字、字母、下划线、美元符等组成。
|
| | const | 是关键字,但不能使用 |
b.标识符
- 标识符就是由一些字符、符号组合起来的名称,用于给类、方法、变量等起名字的规矩。
c.标识符的要求
- 基本要求:由数字、字母、下划线和美元符等组成
- 强制要求:不能以数字开头、不能是关键字、区分大小写。
d.命名规范指导
- 变量名称:满足标识符规则,建议全英文、有意义、首字母小写,满足“驼峰模式”,例如:int studyNumber = 59。
- 类名称:满足标识符规则,建议全英文、有意义、首字母大写,满足“驼峰模式”,例如:HelloWorld.java
e.总结
- 关键字的特点
- Java自己保留的,我们不能用来取名字
- 标识符
- 取名字的规则,数字、字母、下划线、美元符等组成。
- 数字不能开头,不能是关键字。