一、
打开命令行(CLI:COMMMAND LINE INTERFACE)几种方式:
win + r:打开运行窗口 -> cmd
开始:搜索框 -> cmd
开始 -> 附件 -> 命令提示符(prompt)
notepad++ :文件名 -> 右键 -> 打开所在文件夹
在文件系统的地址栏中: -> cmd
在目录中空白处:shift + 右键 ->在此处打开命令行窗口
创建一个文件:
echo hello > a.txt
查看文件内容:
notepad a.txt
dir : 列出当前目录下的文件以及文件夹
md : mkdir 创建目录
rd : 删除空目录
cd : chdir切换目录,进入目录
cd .. : 退回到上一级目录
cd \ : 退回到根目录(盘符)
del : 删除文件
1.快速进入当前用户家目录:(打开cmd默认进入的就是这里)
2.快速切换到本盘符根目录:
cd \
cd /
切换到其它盘符
3.查看命令帮助信息:
rd /?
help rd
4.级联创建目录
mkdir aaa/bbb/ccc/ddd
globbing:通配符
java程序跨平台性原理:各个平台上都有对应的jvm
文件名一般和类名保持一致
如果没有public修饰,文件名和类名可以不一致.
字节码文件名和类名保持一致.
一旦类名用public修饰,文件名和类名必须保持一致.
源文件和其中的类不是一一对应的关系.
一个源文件可以包含多个类型定义.
如果有public修饰的类的话,和文件名保持一致.
类和生成的字节码文件(.class文件)是一一对应的关系.
一个源文件中可以有多个类定义,而且类中都可以定义main方法.
二、
classpath环境变量:java命令寻找类的路径
多个路径用;分隔
临时设置:
在命令行窗口用set命令设置
set classpath=c:/;.
永久设置:
电脑:属性-> 环境变量
新建环境变量:classpath
c:/;.
注意:
更改了classpath之后,一定要改回来.或者在后面加;
单行注释:
程序中出现的//到行尾的内容都会被当成注释
转义字符:将字符原来的含义进行转换
\r : return : 回车(把光标移动到行首)
\n : next : 换行(把光标移动到垂直位置的下一行)
在windows上两个一起使用表示换行.
\t :制表位:tab键
\\ :把转义字符本身进行转义,即: \
关键字:java中有特殊含义的单词
保留字:现阶段java中没有使用.
标识符:
凡是在程序中起名字的地方,都是标识符
类名,接口名,方法名,变量名,包名.
规定:
由英文字母大小写,数字,_,$组成
数字不能开头
不能使用关键字
规范:
类名,接口名:所有单词首字母都大写
方法名,变量名:第一个单词小写,其余单词首字母大写
尽量做到见名知意:
java中常量分两种:
字面量常量(六种)
自定义常量
public class Demo2{
public static void main(String[] args){
System.out.println(10);
System.out.println(0B1010);//二进制,输出:10
System.out.println(012);//八进制,输出10
System.out.println(0XA);//十六进制,输出10
}
}
同一个数(整数),可以有不同的表示形式
二进制,十进制,八进制,十六进制
进制:进位的规则(满多少进1)
负数的表示形式:
补码:负数在计算机中都是以补码形式存在的.
正数:原码,反码,补码(二进制)都相同.
123 - 0b....
负数:对应的正数符号位变1
符号位 数值位
+7 0 000 0111
-7的源码
-7 1 000 0111
-7的反码:除了符号位,所有位取反(0变1,1变0)
-7的反码
-7 1 111 1000
-7的补码:在反码基础上+1
-7的补码
-7 1 111 1001
总结:
求一个负数的补码的过程:
1.先求对应正数的原码(正数的原码,反码,补码都一样)
2.把正数的原码符号位变1(负数的原码)
3.把负数的原码除了符号位之外,取反(负数的反码)
4.在反码基础上+1 (负数的补码)
符号位 数值位
+12 0 000 1100
-12 1 000 1100
1 111 0011
1 111 0100
总结规律:
+7 0000 0111
-7 1111 1001
+12 0000 1100
-12 1111 0100
快速求一个负数的补码:
求对应正数的原码.
规律:从右往左,遇到第一个1,往右原样,往左全取反.
-9
0000 1001
1111 0111
0000 0001
1111 1111
+127
0111 1111
1000 0001
变量的含义:内存空间
定义变量的意义:使用内存空间
定义变量的格式:
定义和赋值一起进行:
变量类型 变量名 = 初始值;
定义和赋值分开进行:
数据类型 变量名;
变量名 = 初始值;
数据类型:
基本数据类型:
四类八种
数值型:
整型:byte,short,int,long //整型默认是int型.
浮点型:float,double //浮点型默认是double型
字符型:char
布尔型:boolean
引用数据类型:类,接口,数组.
long --> float 隐式转换??
8 byte 4 byte
2 ^ 63
3.4 * 10 ^ 38 > 3.4 * 8 ^ 38 = 3.4 * 2 ^ 114
三、
算术运算符:
+ - * / %
赋值运算符:
赋值运算符:
等号右边:常量,变量,表达式,方法
计算顺序:从右往左.
基本赋值运算符:
=
扩展赋值运算符:
+=, -=, *= ,/=,%=
特点:自动做强制类型转换.
比较运算符:
操作数:常量,变量,表达式
结果:boolean类型
思考:布尔类型是否能和int型进行比较?
逻辑运算符:操作数和结果都是布尔类型值.
短路运算符:
&& 当左边的值为false,右边的表达式不执行
|| 当左边的值为true,右边的表达式不执行
^ 异或.两个操作数不一样时,结果才为true.
位运算操作符:操作的是二进制数.
<< : 左移,空位用0填充
>>:有符号右移,空位用符号位填充
>>>:无符号右移,空位用0填充
& 按位与,只有两个1,结果才为1.
| 按位或,只有两个0,结果才为0.
^ 按位异或,两个位不一样,结果才为1.
~: 取反
按位异或的应用:
1.不使用第三方变量交换两个变量的值
一句话交换两个变量的值
2.简单加密
三元运算符:
(条件表达式)?表达式1:表达式2