Java笔记(2):数组、三元运算符
数组
声明数组变量
12dataType[] array; // 首选的方法dataType array[]; // 效果相同,但不是首选方法
创建数组
1array = new dataType[arraySize];
创建数组时做了两件事:
使用dataType[arraySize]创建了一个数组。
把新创建的数组的引用赋值给变量 array。
我们也可以讲声明与创建数组合二为一:
1dataType[] array = new dataType[arraySize];
还可以使用下面方法来创建数组:
1dataType[] array = {value0, value1, ..., valuek};
数组拷贝
123int[] firstArray = {10,20,30,40,50};int[] secondArray = firstArray;secondArray[1] = 10;//此时,firstArray[1]的值也变成了10
这种拷贝方式会将两个变量引用到同一个数组。
如果我们希望的是将一个数组的所有值拷贝到一个新 ...
Java笔记(1):进制表示、Equals、For each循环、方法基础
进制表示
二进制0b 十进制 八进制0 十六进制0x
例:
123int i = 10;int i2 = 010; //八进制0 int i3 = 0x10; //十六进制0x
out:
110 3 16
Equals
.equals方法可以用来判断字符串是否相等。
例:
1234String str = "Hello";if(str.equals("Hello")){ //判断str是否与Hello相等 ...}
For each循环
for each element in a:循环A中的每一个元素。
主要用于数组或集合的增强型for循环。
例:
12345678910int[] nums = {10, 20, 30};//For eachfor(int x: nums){//遍历数组元素 System.out.println(x);}//下面是用普通的for表示for(int i = 0; i < 3; i++){ System.out.prin ...
Linux主要目录
简介
大部分Linux系统的主要目录和内容都遵循着FHS(文件系统层次结构标准)标准,但并不是所有的Linux系统都完全执行FHS标准。
在FHS中,所有的文件和目录都在跟目录“/”下,无论他们是否在同一物理设备中(例如不在同一硬盘中)。
目录结构
图表来自维基百科:
目录
描述
/
第一层次结构 的根、 整个文件系统层次结构的根目录。
/bin/
需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: cat、 ls、 cp。
/boot/
引导程序文件,例如: kernel、initrd;时常是一个单独的分区[8]
/dev/
必要设备, 例如:/dev/null.
/etc/
特定主机,系统范围内的配置文件。关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为*etcetera*, [9] 这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc只能存放静态配置文件,不能包含二进制文件)。 [10] 自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括逆向首字母缩略词如: ...
GCC、GDB食用方法
GCC
1gcc -Wall -o test test.c
-o自定义目标文件
-Wall自动提示一些出错警告的信息
-L 链接一个库文件,-L.加上的点意义为将本目录文件作为查找库的根目录
GDB
在GCC编译时需要添加一个参数:
1gcc -ggdb3 -Wall -o test test.c
如无报错,即可启动GDB:
1gdb test
GDB指令
break 10在第十行设置断点。
break test在test函数处设置断点
s / step下一步
c / continue当程序在某一断点处停止后,用该指令可以继续执行,直至遇到断点或者程序结束
u / until 运行程序直到退出循环体
r / run运行
q / quit结束调试
p / print显示某个变量的值
p *array@len 输出数组
enable 恢复失效的断点
disable 使断点失效
clear 清除断点
bt / backtrace 查看堆栈信息
watch监测某变量或表达式,当发生变化时停止
Typora借助Gitee+PicGo-Core实现云图床
云图床搭建
2022.3.25更新:gitee搭的图床疑似寄了。已经改用阿里云oss。
这次我们选择的云图床的搭建是基于gitee。gitee服务器位于国内,避免了github被墙的等一系列问题。
新建仓库
(省略gitee账号创建的过程,如果这都不会,建议不要折腾了)我们看到gitee页面右上角那个加号,然后点击新建仓库。
然后输入你自己想要的仓库名称,路径会自动生成跟你仓库名称一样的名称,当然你也可以自己自定义路径名称。
勾选上开源和设置模板、Readme文件,省去后面初始化的步骤,即可创建好你的仓库。
密钥生成
点击你的头像,进入设置。
看到安全设置/私人密钥。
点击“生成新令牌”
填上上描述,勾选上“projects”,生成一串密钥。
注意:该密钥只会显示一次,注意好保存!!!
PicGO-Core配置
接下来我们就来配置PicGo-Core,至于为什么使用Core这种命令行版本,而不使用app这种带ui,是因为我不想在后台开多一个软件。
配置Typora
点击“文件” “偏好设置” “图像”。
将“插入图片时候…”修改为“上传图片”,接着将上传服务修改为" ...
JavaScript学习笔记(1):隐性转换、值与引用、for-in与for-of、数组
隐性转换
笔记
NaN != NaN
boolean值在比较时会变为number
string和number比较时会变为number
null == undefined,其余任何值与null/undefined比较都为false
原始类型与引用类型比较,会调用toPrimitive方法,具体做法就是先valueOf后toString
我们在对各种非Number类型运用数学运算符(- * /)时,会先将非Number类型转换为Number类型
加法特殊:
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
该三点由上到下,优先级从高到低
12> {} + {}NaN
这个问题的原因是,JavaScript 把第一个 {} 解释成了一个空的代码块(code block)并忽略了它。NaN其实是表达式+ ...