<Flag> 从今天开始使用优快云做笔记啦

本文通过作者从新手到熟练掌握技术的过程,探讨了学习过程中遇到的问题及解决方法。强调了老司机与新手之间的认知差距,并分享了作者在调试过程中的一些心得。

写在前面的前面

重点内容

知识树 》未来老司机的路线图 》 小司机眼中的世界

不要差异为什么会有这么个标题,这篇flag就是一个“写在前面”嘛。啊哈哈

以前的不部分笔记是写在本地记录软件myBase里的,突然感觉不是很方便,而且像给以后留下些什么。我是不相信回忆录的,那个过来人依靠回忆整理的笔记、路线图固然很好,但是多多少少肯定有些先入为主的意思。

比如前几天玩Canvas、Path、Paint这组小玩意的时候,看书看博客翻API,虽然只有两个很丑的圈和一段折线(代码写在onCreate里的),但是玩玩没想到运行了之后是一片空白,然后我就懵逼了。然后开始漫长的Debug过程,看到他们在博客中心安理得地提到onDraw()这个方法,他们太心安理得以至于让我产生了怀疑,这个方法肯定是原来就有的。果不其然,我在View类里查到了这个方法。然后继承了个View类,用绘图的代码重写onDraw()方法,把这个View放到Layout里。我在看到我心爱的圆圈。

写在前面的中间

这是不是说明了一个问题,老司机有时候是会高估小司机的能力,忽略小司机的知识背景。就像你给一个小白同学讲条件判断、switch….case语句你们一起懵逼一样。当然,这不是老司机的锅,只是老司机的车技比较成熟,忘记了自己根深叶茂的技能树是如何点起来的而已啦。

狗子啊,你长大了也是会成为像那些叔叔一样的老司机的,像每个狗子一样。
——沃·孜鸡硕德

My dear AlphaGo, you , as well as every Goes, would become an Old Drive too when you’re a grown man.
——Wo Cegisoda

每个人上车了都是要成为老司机的,自然以后难免会有些新人来讨教几分人生经验,笔记就这么来了。用来记录自己知识的路线图,以及在低阶段位的时候对一些高阶概念的理解。可能写完之后过几个月再看,就感觉宛然一个小学生,不过更多情况下应该会产生一些新的想法和思考,每看一遍都有新的收获。这些补充将被附于笔记后面。

所以,笔记目录下的文章有自己独特的属性。首先是
笔记的特点,

  • 可能会有浓重的个人色彩,比如比较污什么的
  • 由于知识信息体系的差别,会有一些别人无法理解的梗之类的
  • 有时就是三言两语 不够详细

老司机路线图属性
+ 小司机也是会飙车的哦
+ 很黄很暴力
+ 数据结构 Android Java Python MD 几乎不存在不跳频的可能,系好安全带,注意时不时下车休息
+ 小司机的表达可能不那么好
+ 优雅的代码是 First-Class Citizen

学习雷锋,服务他人,奉献自己。
fire the asshole, 开车了。
是为记。


我近乎空白的github,至少在2016/6/12是几乎空白。

### Java 新手学习笔记 #### 开发环境的搭建 Java 开发环境主要涉及 JDK 和 JRE。JDK 是 Java 开发人员的软件开发工具包,是整个 Java 的核心,包括了 Java 运行环境、Java 工具和 Java 基础类库;JRE 包含了 Java 虚拟机和 Java 基础类库,是运行 Java 程序所需要的软件环境 [^3]。 在不同操作系统上安装 JDK 和 JRE 时,具体步骤会有所不同。以 Windows 系统为例,可从 Oracle 官网下载适合的 JDK 安装包,运行安装程序,按照提示完成安装。安装完成后,需要配置环境变量,在系统变量中添加 `JAVA_HOME` 指向 JDK 的安装目录,在 `Path` 变量中添加 `%JAVA_HOME%\bin` 和 `%JAVA_HOME%\jre\bin`。而在 Linux 系统中,可通过包管理器(如 `apt` 或 `yum`)进行安装,或者手动下载解压安装包,同样需要配置环境变量。 #### 基础语法 1. **数据类型** Java 有基本数据类型和引用数据类型。基本数据类型包括整数类型(`byte`、`short`、`int`、`long`)、浮点类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。例如: ```java int num = 10; double d = 3.14; char ch = 'A'; boolean flag = true; ``` 引用数据类型包括类、接口、数组等。例如创建一个字符串对象: ```java String str = "Hello, Java!"; ``` 2. **变量和常量** 变量是存储数据的容器,使用前需要先声明。常量是一旦赋值就不能再改变的变量,使用 `final` 关键字修饰。例如: ```java // 变量声明和赋值 int age; age = 20; // 常量声明和赋值 final double PI = 3.14159; ``` 3. **运算符** Java 支持多种运算符,如算术运算符(`+`、`-`、`*`、`/`、`%`)、关系运算符(`>`、`<`、`==`、`!=` 等)、逻辑运算符(`&&`、`||`、`!`)等。例如: ```java int a = 10; int b = 20; boolean result = (a < b) && (a != 0); ``` 4. **控制语句** 控制语句用于控制程序的执行流程,包括条件语句(`if-else`、`switch`)和循环语句(`for`、`while`、`do-while`)。例如: ```java // if-else 语句 int score = 80; if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } // for 循环 for (int i = 0; i < 5; i++) { System.out.println(i); } ``` #### 面向对象编程 1. **类和对象** 类是对象的抽象描述,对象是类的具体实例。创建对象需要使用 `new` 关键字,分为声明、实例化和初始化三步。例如: ```java class Person { String name; int age; public void sayHello() { System.out.println("Hello, my name is " + name + ", I'm " + age + " years old."); } } public class Main { public static void main(String[] args) { // 声明对象 Person p; // 实例化对象 p = new Person(); // 初始化对象属性 p.name = "Tom"; p.age = 25; p.sayHello(); } } ``` 2. **构造器** 构造器用于初始化对象的属性,可使用 `alt + insert` 快捷键直接生成。例如: ```java class Student { String name; int age; public Student() { this.name = "Unknown"; this.age = 0; } public Student(String name, int age) { this.name = name; this.age = age; } } ``` 3. **封装、继承和多态** 封装是将数据和操作数据的方法绑定在一起,隐藏对象的内部实现细节。继承是子类继承父类的属性和方法,可实现代码的复用。多态是指同一个方法可以根据对象的不同类型表现出不同的行为。例如: ```java // 封装示例 class BankAccount { private double balance; public void deposit(double amount) { if (amount > 0) { balance += amount; } } public double getBalance() { return balance; } } // 继承示例 class Animal { public void eat() { System.out.println("Animal is eating."); } } class Dog extends Animal { @Override public void eat() { System.out.println("Dog is eating."); } } // 多态示例 public class Main { public static void main(String[] args) { Animal a = new Dog(); a.eat(); } } ``` #### 异常处理 Java 中的异常处理机制用于处理程序运行过程中出现的错误。使用 `try-catch-finally` 语句来捕获和处理异常。例如: ```java public class ExceptionExample { public static void main(String[] args) { try { int[] arr = {1, 2, 3}; System.out.println(arr[3]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组越界异常:" + e.getMessage()); } finally { System.out.println("无论是否发生异常,finally 块都会执行。"); } } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值