【一. Java基础:注释、变量与数据类型详解】
1. Java 基础概念
1.1 注释
-
注释:对代码的解释和说明文字
-
java的三种注释:
-
单行注释:两个斜杠 // 后面跟着你的注释内容
//哈哈 -
多行注释:以 /* 开头,以 */ 结尾,中间可以写很多行
/*哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈*/注意:多行注释不能嵌套使用
-
文档注释:以 /** 开头,以 */ 结尾,中间可以写多行
/**哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈*/
-
1.2 关键字
-
介绍:Java 关键字是被 Java 语言赋予特定含义的英文单词。当你在代码中使用这些关键字时,Java 编译器或运行时系统就知道你想要执行什么操作
-
关键字
-
数据类型与变量的关键字:
boolean,byte,char,short,int,long,float,double,class,interface,enum,void,public,private,protected,static,final,abstract,transient,volatile -
流程控制的关键字:
if,else,switch,case,default,for,while,do,break,continue,return -
异常处理的关键字:
try,catch,finally,throw,throws -
包与导入的关键字:
package,import -
其他关键字:
new,this,super,instanceof,synchronized,native,strictfp,assert
-
1.2.1 class关键字
-
介绍:
class是 Java 中最基础的关键字之一 -
作用:用于定义一个类( Java 项目的基本组成单元,一个完整的 Java 项目可能由成千上万的类组成;类比作 “模板”,可以创建多个对象实例)
-
语法
[访问修饰符] class 类名 {// 类的内容} -
例子
public class HelloWorld {// 类的内容}
解释:
public:访问修饰符,表示该类可以被其他类访问class:定义类的关键字HelloWorld:类名,遵循大驼峰命名法(单词第一个字母大写){}:类的范围,包含类的所有成员
注意:
Java 关键字都是小写的
变量名、方法名、类名等标识符不能使用关键字
1.3 字面量
-
介绍:数据在写程序时的书写格式
-
字面量的类型:
-
整数:整数就是不带小数的数字。在程序里直接写数字就行,比如 666 ,-88
-
小数:小数就是带小数点的数字。在程序里直接写数字就行,比如 13.14,-5.21
-
字符:用单引号把字符括起来,而且里面只能有一个字符。比如 ‘A’,‘0’, ‘我’
-
字符串:用双引号引起来,它里面的内容可以有,也可以没有。比如“HelloWorld”,“ ”
-
布尔值:布尔值就两个,用来表示真假,分别是 true 和 false
-
空值:它只有一个值,就是 null
-
1.4 变量
-
介绍:在程序中临时存储数据的容器,但是这个容器中只能存一个值
-
格式:数据类型 变量名 = 数据值;
-
例子:
int age = 18; // 定义整数变量age,存的值是18 double score = 95.5; // 定义小数变量score,存的值是95.5
格式详解:
数据类型:int -->整数;double–>小数
变量名:age,score
数据值:18,95.5
分号:相当于句子的句号,结束语句
注意:
变量名不能重复
一条语句可以定义多个变量,但尽量分开定义变量
变量使用前必须赋值
1.5 数据类型
-
两大类
-
基本数据类型
-
引用数据类型
-
1.5.1 基本数据类型
| 分类 | 数据类型 | 关键字 | 内存占用(字节) | 取值范围 | 备注 |
|---|---|---|---|---|---|
| 整数 | byte | byte | 1 | -128 ~ 127 | 适合小范围整数,如年龄、数量 |
| short | short | 2 | -32768 ~ 32767 | 较少用,早期内存紧张时使用 | |
| int | int | 3 | -2147483648 ~ 2147483647 | 默认整数类型,日常最常用 | |
| long | long | 8 | -9223372036854775808 ~ 9223372036854775807 | 需加L后缀(如100L) | |
| 浮点数 | float | float | 4 | 1.401298e-45 ~ 3.402823e+38 | 需加F后缀(如3.14F),精度较低 |
| double | double | 8 | 4.9000000e-324 ~ 1.797693e+308 | 默认浮点数类型,精度高 | |
| 字符 | char | char | 2 | 0 ~ 65535 | 用单引号包裹(如’A’、‘中’) |
| 布尔 | boolean | boolean | 1 | true / false | 表示逻辑判断结果 |
注意:
取值范围大小:double > float > long > int > short > byte
默认类型:整数默认是
int(如10是int);浮点数默认是double(如3.14是double)特殊后缀:
long类型需加L(如10000000000L);float类型需加F(如1.23F)
public class DataTypeExample {public static void main(String[] args) {// 整数类型byte age = 25;short classSize = 30;int population = 1400000000;long distance = 9460730472580800L; // 一光年(米)// 浮点数类型float pi = 3.14F;double salary = 12345.6789;// 字符类型char grade = 'A';char symbol = '©'; // 直接使用字符或'\u00A9'// 布尔类型boolean isJavaFun = true;boolean hasPet = false;// 打印变量值System.out.println("Byte: " + age);System.out.println("Short: " + classSize);System.out.println("Int: " + population);System.out.println("Long: " + distance);System.out.println("Float: " + pi);System.out.println("Double: " + salary);System.out.println("Char: " + grade + " " + symbol);System.out.println("Boolean: " + isJavaFun + ", " + hasPet);}}
1.6 标识符
- 介绍:在编程语言里为元素命名时所使用的符号,其作用是对不同的元素加以区分。在 Java 中,类名、变量名以及方法名等都属于标识符
1.6.1 标识符的构成要素
标识符的构成:
-
可以使用字母(大小写)、数字、下划线(_)以及美元符号($)来组成标识符
-
数字不可以作为标识符的开头
-
不能把 Java 的关键字当作标识符,例如
public、class、int等都不可以 -
标识符是区分大小写的,像
age和Age就代表着不同的标识符
正确标识符:
userName、_temp、$count错误标识符:
123name(以数字开头)、class(是关键字)、my-name(包含连字符,不符合构成规则)
1.6.2 标识符的命名规范
-
小驼峰命名法:
-
适用于变量名和方法名
-
若标识符由单个单词组成,那么全部字母小写,例如
age -
要是由多个单词构成,从第二个单词开始,每个单词的首字母大写,例如
firstName、getUserInfo()
-
-
大驼峰命名法:
-
用于类名
-
当标识符是单个单词时,首字母要大写,例如
Person、Demo -
由多个单词组成时,每个单词的首字母都要大写,例如
HelloWorld、HttpRequest
-
1.6.3 阿里巴巴命名规范的细节
-
避免使用拼音:一般情况下不要使用拼音来命名,除非是国际通用的拼音,比如
alibaba、hangzhou错误的命名示例:
jiage(价格)、dazhe(打折)正确的命名示例:price、discount -
禁止使用特殊符号:要避免使用下划线(_)和美元符号($)
错误的命名:
_name、$value正确的命名:name、value
1.6.4 命名的核心准则
-
见名知意:所起的标识符名称要能够清晰地表达其用途,例如
userAge要比a好,calculateSalary()要比doSomething()更合适 -
保持简洁:命名时要避免使用过于冗长或者复杂的名称,像
getUserInformation就比getTheInformationOfTheUser更简洁明了
1.7 键盘录入
-
介绍:当我们编写 Java 程序时,经常需要从键盘获取用户输入的数据,比如让用户输入年龄、姓名、选择菜单等。Java 已经帮我们实现了这个功能,它把相关功能放在了
Scanner类中,我们直接使用这个类就行,不用自己从头编写获取键盘输入的代码 -
步骤:
-
导包:找到Scanner这个类
import java.util.Scanner; -
创建对象:申明一下,我准备开始用Scanner这个类了
Scanner sc = new Scanner(System.in);-
Scanner是类的名字,就像书的书名 -
sc是我们给这个对象起的名字,不过一般习惯用sc或者input -
new Scanner(System.in)就像是去图书馆借书的动作,System.in表示从键盘输入
-
-
接收数据:真正干活的代码
-
要获取一个整数
int i = sc.nextInt();sc.nextInt()表示从键盘读取一个整数。int i = ...表示把读取到的整数存到变量i里
-
要获取一个小数
double d = sc.nextDouble(); -
要获取一行文本
String s = sc.nextLine(); -
-
注意:如果先用了
nextInt()或者nextDouble(),再用nextLine(),可能会出现问题比如:int age = sc.nextInt(); // 输入一个整数,比如20 String name = sc.nextLine(); // 这里会直接跳过输入,为什么呢?解释:这是因为
nextInt()只读取数字,而键盘输入的回车符还在那里,nextLine()会读取这个回车符,所以就好像跳过了输入。解决办法是在nextInt()后面加一个nextLine()来吃掉那个回车符改正:int age = sc.nextInt(); sc.nextLine(); // 吃掉回车符 String name = sc.nextLine(); // 现在可以正常输入姓名了
- 完整例子:
// 第一步:导包,告诉Java程序Scanner类在哪里import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {// 第二步:创建对象,申明我准备用Scanner类了Scanner sc = new Scanner(System.in);// 提示用户输入System.out.println("请输入一个数字:");// 第三步:接收数据,把键盘输入的整数存到变量i里int i = sc.nextInt();// 打印接收到的数据System.out.println("你输入的数字是:" + i);// 用完Scanner后,建议关闭它sc.close();}}
