【Java基础语法知识】:基本结构、添加注释、常量、转义字符、数据类型和类型转换

151 阅读6分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

1️⃣前言

今天的笔记内容是:

  • 【Java基础语法知识】

2️⃣Java程序基础

✨基本结构

public class MyClass {

}
  • java程序的基本单位就是class,也就是类。
  • 上述代码中:
  • public是访问修饰符,表示该类是公开的
  • class是关键字,用于定义类
  • MyClass是类的名字(名称必须以字母开头,后接字母、数字或下划线_

public class myClass {
    public static void main(String[] args) {
        
    }
}
  • 在类里面可以有若干方法(method),用于定义各种执行语句
  • 上述代码中:
  • public是访问修饰符,表示该方法是公开的
  • static也是修饰符,表示该方法是静态的
  • void表示方法无返回值
  • mian是方法的名称(命名规则和类一样)
  • (String[] args)是一个String类型的数组args

public class myClass {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}
  • main方法中,可以定义若干语句
  • java中,每条语句的结尾标志都是一个分号(;
  • System.out.println("Hello world!");就是一条输出语句
  • 输出结果为:Hello world!

✔️注释

java程序中的注释并不影响Java程序的执行,因为源程序编译后形成的class文件里已经没有了注释。同时需要注意到,坚持写注释既方便再次阅读代码,也便于代码的维护。

  • 一、单行注释

单行注释以双斜线"//"开头,后面编写注释的内容

// 这是单行注释
  • 二、多行注释

多行注释以/*开头,以*/结束,中间就是注释

/*
这是
多行
注释
*/
  • 三、特殊注释

有时多行注释会以/**开头,以*/结束,而且每一行都用*开头,这种注释方式通常用于自动创建文档

/**
 * 该特殊注释一般用于
 * 自动创建文档
 * 
 * @auther yi
 */
public class Hello {
    public static void main(String[] args) {
        ...
    }
}

🌱变量

变量就是向内存申请一块空间用于存储数据的容器。也就是说,我们可以将不同数据类型的值存储在变量中,方便后续操作。

变量使用的注意事项如下:

  1. 未声明的变量无法使用;
  2. 未初始化的变量不能使用;
  3. 变量的赋值必须符合声明的数据类型;
  4. 变量的名字必须符合标识符命名规范。
  5. 变量存放的值可以修改
  6. 一个变量可以赋值给另一个变量

举个例子:

public class myClass {
    public static void main(String[] args) {
        int x = 6;  // 声明一个int类型的变量x并初始化为6
        //int x     // 错误!无法重复定义变量
        int y = x;  // 声明另一个int类型的变量y并初始化为x(x的值为6,因此y的值也是6)
        x = 10;     // 变量x中的值可以修改
        System.out.println("y:"+ y);
        System.out.println("x:"+ x);
    }
}

运行结果为:

y:6
x:10

🌳数据类型

变量的基本数据类型如下:

变量的数据类型.png

由于变量存储值的大小不同,变量的使用场景不同等等,变量的数据类型会有所不同。因此我们该为变量声明为正确的数据类型

不同数据类型所占用的字节数是不同的,上述图中也有显示。但布尔类型有些特殊。Java语言对布尔类型的存储并没有作出明确规定,理论上存储布尔类型只需要1bit,但一般JVM内部会将boolean表示为4字节。

需要注意,整数的默认类型是int,浮点数的默认类型是double

基本数据类型.png

数据类型默认值
byte0
short0
int0
long0L
float0.0f
double0.0d
booleanfalse
char'u0000'

🔋 常量

在java中,我们使用final关键字来声明一个变量是常量。

final double PI = 3.1415;

需要注意的是,初始化常量后无法对其再次赋值。(也就是说常量值无法修改)


💡转义字符

符号字符含义
\"双引号
\'单引号
\\反斜杠
\n换行
\s空格
\r回车
\f换页符
\b退格
\0空字符
\t制表符

🌴类型转换

  • 类型范围小的变量可以直接赋值给类型范围大的变量;

比如定义一个byte类型的变量abyte a = 8;接着定义int类型的变量b,此时语句int b = a;是合法的;

  • 如果想将表示范围大的类型转换为范围小的类型,则必须使用强制类型转换(此时可能会发生溢出或精度损失)

  • 将浮点数转换为整数时,小数部分会被舍弃掉(而不是四舍五入)

public class myClass {
    public static void main(String[] args) {
    double test1 = 9.99; 		// 定义一个浮点数 9.99
    int test2 = (int)test1;  	// 强制类型转换:将 double 类型转换为 int 类型
    System.out.println(test2);	//输出结果为 9
    }
}
  • 表达式的计算结果的数据类型是由表达式中最高数据类型决定的;

比如表达式中有intbyte的数据;此时byte类型会先转换为int类型再参与运算;

  • boolean类型的变量无法进行类型转换;

🧨变量类型

public class Variable {
	public void method() {
        int i =0;  // 局部变量
    }
	String str="hello world";  // 成员变量,也叫实例变量 
    static int allClicks=0;    // 静态变量,也叫类变量
}
变量类型局部变量成员变量(实例变量)静态变量(类变量)
位置方法内类中,方法外类中,方法外
特点当执行完毕后,将被销毁,而且访问修饰符无法作用于局部变量通过变量名访问。如果在静态方法或其他类中,就应该使用完全限定名:ObjectReference.VariableName ;通过使用访问修饰符可以使实例变量对子类可见静态变量在类中以static关键字声明,初始化后不可改变
默认值有(0/false/null有(0/false/null
存储位置栈区堆区方法区
生命周期与方法共存亡与对象共存亡与类共存亡

静态变量和实例变量区别

  • 静态变量不属于某个实例对象,而是属于类。因此也叫类变量。通过类名就可以调用静态变量
  • 实例变量是属于某个对象的属性。只有创建了对象,才能调用实例变量。其就是对象的一个实例。实例变量在整个类内部是可访问的,而不管实例变量声明在类的哪个位置。

总之,类变量可在类中直接使用,实例变量需实例化后才能使用。

3️⃣写在最后

好了,今天的笔记就记到这里。