Java 2 学习笔记(1-4章)

Java基础入门知识详解

第一章 Java入门

1.1 Java的地位

  • Java是一种广泛使用的编程语言,因其跨平台性和安全性而受到欢迎。

  • 在企业级应用、移动开发(Android)以及大数据处理等领域占有重要地位。

1.2 Java的特点

  • 平台独立性:一次编写,处处运行(JVM)。

  • 面向对象:支持封装、继承和多态。

  • 内存管理:自动垃圾回收机制。

  • 多线程:简化并发编程。

  • 丰富的标准库:提供大量的API。

1.3 安装 JDK

  • 下载最新版本的JDK。

  • 安装过程中的注意事项:

    • 设置环境变量(JAVA_HOME、PATH)。

  • 验证安装:在命令行中输入 java -version

1.4 Java的程序开发步骤

  1. 编写源代码(.java文件)。

  2. 使用JDK中的javac命令编译源代码。

  3. 生成字节码(.class文件)。

  4. 使用java命令运行字节码。

1.5 简单的Java应用程序

复制代码public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

1.6 Java反编译

  • 反编译工具(如JD-GUI)可以将.class文件转换为可读的.java文件。

  • 注意,反编译的代码可能与原始代码有所不同。

1.7 编程风格

  • 统一的命名规范(类名、方法名、变量名)。

  • 合理的注释和文档。

  • 代码缩进和格式化。

1.8 Java之父--James Gosling

  • James Gosling是Java语言的创始人之一,他的贡献使得Java成为一种流行的编程语言。

1.9 小结

  • Java是一种强大的编程语言,适合各种应用开发,掌握基本概念和操作是学习的第一步。


第二章 基本数据类型与数组

1、标识符与关键字

标识符: ① 由字母、下划线、美元符号和数字组成,长度不受限制。 ② 标识符的第一个字符不能是数字。

③ 标识符不能是关键字。 ④ 标识符区分大小写。

2、基本数据类型

2.1 逻辑类型

常量:true、false 变量:boolean

2.2 整数类型

int型: 常量:十进制、八进制(0)、十六进制(0x) 变量:int

bytr型: 常量:-128 ~ 127(1字节) 变量:byte

short型: 常量:-2^15 ~ 2^15-1(2字节) 变量:short

long型: 常量:-2^63 ~ 2^63-1(8字节)(末尾加L) 变量:long

2.3 字符类型

常量:用单引号括起的Unicode表中的一个字符(2字节) 变量:char

使用:(int)‘A’ (char)65

转义字符:\

2.4 浮点类型

float型: 常量:(4字节)(末尾加F) 变量:float

double型: 常量:(8字节)(末尾可加d或D) 变量:double

2.5 类型转换运算

① 当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。

② 当把级别高的变量的值赋给级别低的变量时,必须使用强制类型转换。

常见:int赋值给byte、short时,不可超出这些变量的取值范围。

double型常量赋给float型变量时,应在后面加F或在前面加(float)

3、 输入输出数据

输入:

① 引入;import java.util.Scanner;

② 创建Scanner对象:Scanner reader = new Scanner(System.in);

③ 读取数据并保存到变量中:int a = reader.nextInt();

输出:System.out.println("%d,%f",12,23.78);

4、数组

4.1 创建数组

① 数组类型 数组名[] = new 数组类型[元素个数]; int boy = new int[5];

② 初始化:float boy[] = {21.2f,23.9f,2.0f};

4.2 length的使用

数组名.length的值是数组中元素的个数。

4.3 二维数组

4.4 注意

对于char型数组a,System.out.println(a)不会输出数组a的引用,而是输出数组a的全部元素的值,如果想输出char型数组的引用,必须让数组a和字符串做并置运算。System.out.println(" "+a);


第三章 运算符、表达式和语句

3.1 运算符与表达式

  • 算术运算符、关系运算符、逻辑运算符。

3.2 语句概述

  • 程序由一系列语句组成,语句以分号结束。

3.3 if条件分支语句

复制代码if (condition) {
    // 执行语句
}

3.4 switch开关语句

复制代码switch (variable) {
    case value1:
        // 执行语句
        break;
    // ...
    default:
        // 默认执行
}

3.5 循环语句

  • for 语句while 语句do-while 语句

3.6 break和continue语句

  • break:跳出当前循环。

  • continue:跳过当前迭代,继续下一次循环。

3.7 for语句与数组

  • 使用for循环遍历数组元素。

复制代码for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

第四章 类与对象

1、类

1.1 类和方法声明

类声明:class 类名{ 类体 }

方法声明:返回类型 方法名(参数){ return 返回值;}

1.2 成员变量和局部变量

成员变量和局部变量:

①成员变量生命在类体中,在整个类内都有效。局部变量声明在方法中,从声明它的位置之后开始有效。

②局部变量与成员变量的名字相同,那成员变量被隐藏,如果想使用则用this关键字。

③成员变量有默认值,局部变量没有默认值。

注意:对成员变量的操作只能放在方法中,方法使用各种语句对成员变量和局部变量进行操作。

2、构造方法与对象的创建

2.1 构造方法

① 默认构造方法 : 类名() {执行语句;}

② 自定义构造方法:类名(参数){执行语句;}

注意:允许在一个类中编写若干个构造方法,但必须保证他们的参数不同。如果类中没有编写构造方法,系统会默认该类只有一个构造方法,该默认的构造方法无参,且方法体中没有语句。(如果类里定义了多个构造方法,那Java不提供默认构造方法)

2.2 创建对象

User user = new User();

2.3 参数传值

对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。

参数类型:基本数据类型、引用类型。

3、实例成员与类成员

3.1 实例变量和类变量

它俩都属于成员变量,用关键字static修饰的称作类变量,否则称作实例变量。

实例变量和类变量的区别:

① 不同对象的实例变量互不相同。

② 所有对象共享类变量,当使用new运算符创建多个不同对象时,分配给这些对象的类变量占有相同一处内存。

③ 通过类名直接访问类变量,如果类没有创建对象,那类中的实例变量不会被分配内存,但类变量会被分配内存。

3.2 实例方法和类方法

用关键字static修饰的方法成为类方法,否则称作实例方法。

实例方法和类方法的区别:

① 实例方法中不仅可以操作实例变量,也可以操作类变量,而类方法中不可以操作实例变量。

② 可使用类名直接调用类方法。

4、方法重载

方法名相同、参数个数不同、参数类型不同。(返回类型和参数名字不参与比较)

float hello(int a,int b){ return a+b;} double hello(double a,double b){return a*b;}

5、import语句

① 用于引入包中的类和接口,写在package语句和类定义之间。

② 引入一个包中的全部类:import java.util.* 引入java.util包中的Date类:import java.util.Date

③ 如果没用import引入包中的类,也可以直接带着包名使用该类: java.util.Date date = new java.util.Date();

6、访问权限

public:“公共的”,被其修饰的类、属性和方法不仅可以跨类访问,而且允许跨包访问。

protected:“受保护的”,这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问的。

default:“包访问权限”,只对同包的类具有访问的权限,外包的所有类都不能访问。

private:“私有的”,被其修饰的属性及方法只能被该类的对象访问,其子类不能访问,更不允许跨包访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值