Java学习笔记(1)
常用DOS指令
helloworld
勾选文件扩展名
创建.txt文件
去掉.class后缀,运行
java的执行原理
组成
跨平台
使用IDEA创建项目
之后直接编写代码
使用Scanner接收输入
数组
静态初始化
形式要注意
数组的访问
代码演示:
public class Main {
public static void main(String[] args) {
int []arr = {12, 34, 43};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr.length);
for(int i = 0; i < arr.length; ++i) {
System.out.println(arr[i]);
}
}
}
动态初始化数组
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr1 = new int[3];
for(int A: arr1) {
System.out.println(A); // 未被写入,输出默认值
}
arr1[0] = 1;
arr1[1] = 2;
arr1[2] = 3;
for(int A: arr1) {
System.out.println(A);
}
// 手动输入动态初始化
double[] nums = new double[6]; // 初始化数组
Scanner num = new Scanner(System.in); // 定义扫描器
for(int i = 0; i < 6; ++i) {
nums[i] = num.nextDouble(); // 等待用户输入一个double
}
for(double A: nums) {
System.out.println(A);
}
}
}
数组在计算机中的执行原理
方法(函数)
格式
简易演示
import java.util.Scanner;
public class Main {
public static int Sum(int x, int y) {
return x + y;
}
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
int a = num.nextInt();
int b = num.nextInt();
int ans = Sum(a, b);
System.out.println(a + "与" + b + "的和为" + ans);
}
}
注意点
面向对象编程
案例引入
打印总成绩、平均成绩
public class student {
// 成员变量(对象的属性)
String name;
double chinese;
double math;
// 成员方法(对象的行为)
public void printTotalScore() {
System.out.println(name + "的总成绩为:" + (chinese + math));
}
public void printAverageScore() {
System.out.println(name + "的平均成绩为" + (chinese + math) / 2);
}
}
class teacher {
String name;
double chinese;
double math;
}
public class Main {
public static void main(String[] args) {
// 创建一个学生对象
student s1 = new student();
// .方法
s1.name = "波妞";
s1.chinese = 100;
s1.math = 90;
s1.printTotalScore();
s1.printAverageScore();
// 创建一个学生对象
student s2 = new student();
// .方法
s2.name = "波仔";
s2.chinese = 80;
s2.math = 120;
// .方法
s2.printTotalScore();
s2.printAverageScore();
}
}
对象
对象就像现实生活中的一张表
类
如何得到对象
注意事项
命名
驼峰
成员
成员变量、成员方法
初始化
成员变量有默认初始值,无需初始化
class可以有多个
一个代码文件中,可以写多个class类,但只能用一个public修饰
对象与对象之间互不影响
对象与对象之间互不影响,除非多个变量指向同一个对象
直观感觉,修改s2,不仅s2的值改变,而且s1的值却改变了,此处详细见黑马javaP70
垃圾对象
如果某一个对象没有任何一个变量引用他,则该对象就无法备操作了,该对象会成为垃圾对象
面向对象语法知识
this
对象的方法
方法的调用
输出值
this是什么
this就是当前对象的地址,指向当前的对象。
this的应用场景
this主要用于解决变量名的冲突问题
通过this访问当前成员变量score
构造器
构造器的形式
构造器是一种特殊的方法,该方法没有返回值,且方法名必须与所在的类名完全相同,创建对象时,会调用构造器
传统初始化与使用构造器进行初始化
注意事项
1.类在设计时如果不写构造器,则java会自动生成一个无参数构造器
2.一旦定义了有参数构造器,java就不会自动生成无参数构造器,此时建议手动创建一个无参数构造器
封装
什么是封装
封装就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去
封装的设计规范
合理隐藏、合理暴露
private和public修饰符
private修饰变量或方法后,被修饰的变量或方法就只能在当前类的内部去使用
在主程序中不能访问私有变量和方法
使用public和private修饰符实现对象的属性和方法的暴露和隐藏通过this可以访问私有变量
代码演示
总结
实体JavaBean(实体类)
代码演示
特点
只能用于存取数据,只提供get和set方法
应用场景
实体类只负责数据存取,而对数据的处理交给其他类来完成,以实现数据和业务处理相分离
代码演示
总结
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库