Java中的注释分为三种:
// 这是单行注释文字
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。
/**
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意点:
注释的内容不会参与编译和运行的,仅仅是对代码的解释说明而已。
所以,不管在注释当中写什么内容,都不会影响代码运行的结果。
在Java中,字面量是指程序中直接出现的常数值或字符串。它们是一些固定的值,不需要计算或者查找,可以直接使用。
Java支持以下几种类型的字面量:
字面量类型 | 说明 | 程序中的写法 |
---|---|---|
整数 | 不带小数的数字 | 666,-88 |
小数 | 带小数的数字 | 13.14,-5.21 |
字符 | 必须使用单引号,有且仅能一个字符 | ‘A’,‘0’, ‘我’ |
字符串 | 必须使用双引号,内容可有可无 | “HelloWorld”,“黑马程序员” |
布尔值 | 布尔值,表示真假,只有两个值:true,false | true 、false |
空值 | 一个特殊的值,空值(null不能直接打印,如果想直接打印,需要以字符串的形式打印) | 值是:null |
public class Demo {
public static void main(String[] args) {
System.out.println(66); // 输出一个整数
System.out.println(5.21); // 输出一个小数
System.out.println('a'); // 输出一个字符
System.out.println(true); // 输出boolean值true
System.out.println(false); // 输出boolean值false
System.out.println("null"); // 输出字符串null
System.out.println("Java程序"); // 输出字符串
}
}
变量是一个用于存储和表示数据的标识符(identifier),用于引用计算机内存中的一个位置或值。
变量可以存储各种不同类型的数据,例如数字、字符、字符串、布尔值等。
数据类型 变量名 = 数据值;
【注】不可以忘了分号“;”
Java语句的结束需要添加分号!!!
Java中有两种基本的数据类型:原始数据类型和引用数据类型。
原始数据类型是Java语言预定义的基本数据类型,用于存储简单的值
而引用数据类型则是对对象的引用。
Java的原始数据类型可以分为以下几类:
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
整数 | byte | 1 | 负的2的7次方 ~ 2的7次方-1(-128~127) |
short | 2 | 负的2的15次方 ~ 2的15次方-1(-32768~32767) | |
int | 4 | 负的2的31次方 ~ 2的31次方-1 | |
long | 8 | 负的2的63次方 ~ 2的63次方-1 | |
浮点数 | float | 4 | 1.401298e-45 ~ 3.402823e+38 |
double | 8 | 4.9000000e-324 ~ 1.797693e+308 | |
字符 | char | 2 | 0-65535 |
布尔 | boolean | 1 | true,false |
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型。
整数类型和小数类型的取值范围大小关系:double > float > long > int > short > byte
这些原始数据类型具有不同的存储容量和取值范围,可以根据需求选择适当的类型来存储数据。
最为常用的数据类型选择:
在定义变量的时候,要根据实际的情况来选择不同类型的变量。
比如:人的年龄,可以选择byte类型。
比如:地球的年龄,可以选择long类型。
如果整数类型中,不太确定范围,那么默认使用int类型。
如果小数类型中,不太确定范围,那么默认使用double类型。
如果要定义字符类型的变量,那么使用char
如果要定义布尔类型的变量,那么使用boolean
从内存的角度解释:
在Java中,引用数据类型是通过类、接口和数组来表示的。
Java提供了一些内置的引用数据类型,例如:
类类型:用于创建对象的类,例如String、Integer等。
接口类型:用于声明接口,例如List、Map等。
数组类型:用于存储一组相同类型的元素的数据结构。
引用数据类型存储的是对象的引用,而不是对象本身。通过引用,我们可以操作对象的属性和方法。
从内存的角度解释:
此外,Java还支持自定义的数据类型,我们可以使用类和接口来定义自己的数据类型。
在Java中,我们可以使用类和接口来定义自定义的数据类型。
自定义数据类型可以更好地满足程序的需求,提高程序的可读性、可维护性和灵活性。
定义一个类可以使用以下语法格式:
class 类名 {
// 类的成员变量和方法
}
在类中,我们可以定义一些成员变量来存储数据,以及一些方法来操作数据。例如,下面的代码定义了一个Person类,该类包括姓名和年龄两个成员变量,并且提供了getName和getAge两个方法来获取这些成员变量的值:
class Person {
String name; // 姓名
int age; // 年龄
String getName() {
return name;
}
int getAge() {
return age;
}
}
我们创建一个Person对象可以使用以下语句:
Person person = new Person();
person.name = "Alice";
person.age = 25;
在这个示例中,我们使用new操作符创建了一个Person对象,并使用.运算符给name和age成员变量赋值。
除了类之外,Java还可以使用接口来定义自定义数据类型。
一个接口是一个抽象的数据类型,它包含了一组方法的声明。可以将接口看作是一种能力或者协议,我们可以让类实现接口来具备这些能力或者遵守这些协议。
例如,下面的代码定义了一个Drawable接口,包含了一个draw方法的声明:
interface Drawable {
void draw();
}
如果一个类实现了这个接口,就必须实现draw方法。这样,我们就可以将这个类看作是可绘制的(Drawable)。
在Java语言中,标识符(identifier)是用来标识Java程序中各种元素的命名,包括类名、方法名、变量名、常量名等。
Java标识符的命名有一定的规则,下面是Java标识符的一些要求:
根据以上规则,以下都是合法的Java标识符:
age
_firstName
$lastName
isValid
MAX_VALUE
以下则是不合法的Java标识符:
1name // 不能以数字开头
first-name // 不能包含连续的横线
class // 不能使用Java的关键字
当在Java中使用驼峰命名法来命名标识符时,一般有两种规则:小驼峰命名法(camel case)和大驼峰命名法(Pascal case)。
小驼峰命名法(camel case):
一般来说,小驼峰命名法适用于变量、方法、参数和局部变量等。
以下是一些示例,展示了小驼峰命名法和大驼峰命名法的应用:
// 小驼峰命名法
public class student{
int studentId;
String firstName;
void myFunction();
int numberOfStudents;
}
大驼峰命名法(Pascal case):
首字母大写。
每个单词的首字母都大写。
例子:Person、HelloWorld、MyClass。
大驼峰命名法适用于类、接口、枚举和常量等。
// 大驼峰命名法
class Person {
String firstName;
int age;
void sayHello();
}
尽量不要用拼音。但是一些国际通用的拼音可视为英文单词。
正确:alibaba、hangzhou、nanjing
错误:jiage、dazhe
平时在给变量名、方法名、类名起名字的时候,不要使用下划线或美元符号。
错误:_name
正确:name
运算符和表达式
(之后章节会详细讲到)
在Java中,我们经常需要将一种数据类型转换为另一种数据类型。
这种转换通常分为两种类型:
隐式转换指的是Java自动将一种数据类型转换为另一种兼容的数据类型。
例如,当一个整数类型的值赋值给一个浮点数类型变量时,Java将自动执行一个从整数类型到浮点数类型的转换。
此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。
1.下面是一些常见的隐式转换的规则:
byte类型 -> short类型 -> int类型 -> long类型 -> float类型 -> double类型
所有整数类型(即 byte, short, int, long 和 char )都可以自动转换为浮点型(即 float 或 double)。
2.提升规则:
强制类型转换指的是将一个数据类型显式地转换为另一个数据类型。
语法如下:
(目标类型) 原始数据;
例如,将一个double类型转为int类型,可以使用如下代码:
double d = 2.5;
int i = (int) d;
需要注意一下几点:
字符串的加法操作(字符串连接):字符串的加法操作(+)用于连接两个字符串,产生一个新的字符串。
例如:
String str1 = "Hello";
String str2 = "world";
String result = str1 + " " + str2;
System.out.println(result);
输出结果为:“Hello world”。在此例中,str1和str2是两个字符串,通过加法操作进行了连接,并赋值给result变量。
字符的加法操作(ASCII码相加): 字符的加法操作(+)实际上是将字符的ASCII码值相加,得到一个整数结果。例如:
char c1 = 'A';
char c2 = 'B';
int result = c1 + c2;
System.out.println(result);
输出结果为:131。在此例中,c1和c2是两个字符,通过加法操作将它们的ASCII码值相加得到131。
流程控住语句
(在之后章节有详细总结)