Java基础篇
计算机基础知识
键盘快捷键
- Ctrl+A 全选
- Ctrl+C 复制
- Ctrl+V 粘贴
- Ctrl+S 保存
- Ctrl+Z 撤销
- Ctrl+X 剪切
- Alt+F4 关闭窗口
- window+R 运行
- window+E 打开我的电脑
- .window+tab 在打开的项目之间切换
- Ctrl+Alt+del 注销/任务管理器
- shift+delete 永久删除
- 拖动某一项按Ctrl复制所选项目
如何打开DOS命令行
- 鼠标在桌面上时,按住shift+鼠标右键,进入控制台
- window+R 运行输入cmd 进入控制台
常用的DOS命令
- md+文件名:在桌面新建文件夹
- rd+文件名: 删除桌面文件夹
- cd+目录名:进入 指定目录
- dir+目录名:查看目录内容
- cd+·· 退回上一级目录,cd··/··/ 退回2级目录,cd+\ 退回到根目录
- cls:清除控制台命令,exit:关闭DOS命令控制台,
- calc :打开计算器,notepad:打开记事本,mspaint:打开画图
- d+: 切换盘
JDK、JRE、JVM
JDK:是程序员使用的开发工具包。
JRE:是程序运行环境。
JVM:是虚拟机,是用来让JDK可以在多个平台运行。
JDK的安装
官网 http://www.oracle.com
安装路径中最好不要有中文或者字符和空格
环境变量的设置
我的电脑属性–高级系统设置–环境变量
新建一个变量,变量名为JAVA_HOME,变量值为JDK目录中bin目录的上一级目录。
我的变量值:D:\java\jdk1.8.0_152
然后编辑Path的变量值,添加%JAVA_HOME%\bin。
由于win10和win7Path的变量值展开方式不同,所以在win7的Path中应在%JAVA_HOME%\bin后加一个“分号”。
验证是否安装成功在DOS命令行中输入java
是否有回应以此来判断安装成功
代码
学习的第一个代码
class A{
public static void main (String[] args){
System.out.println("Hello word!");
}
}
英语单词中有一些被Java语言赋予一些特殊的涵义称为“关键字”。
例如:class,public,static,void……
Java语言中还有一个“标识符”,就是程序员自己规定的具有特殊意义的词,例如类、变量、常量
也可以认为我们平常说的"ID"。
注意:
- 标识符不可以用关键字来命名
- 不可以用纯数字来命名
- 不能以数字开头
- 可以用是$和_,不能用其他特殊符号
单行注释://注释
多行注释:/* 注释 * /
文段注释:/** 注释 */
常量
-
常量:在程序运行当中不会改变的值
常量又分为字面值常量和自定义常量
字面值常量
-
整数常量:所有整数
-
点数常量:所有小数
-
字符串常量:被双引号括起来的内容
-
字符常量:被单引号括起来的内容
-
布尔常量:true和false
-
空常量:null
整数常量
整数常量又分为四种变现形式
- 二进制
- 八进制
- 十进制
- 十六进制
了解二进制, 八进制 , 十六进制 , 转换为十进制
十进制转换为二进制,八进制,十六进制。
原码 反码 补码
原码最高位是0则转换为正数,最高位是1则转换为负数
正数:正数的原码,反码,补码相同
负数:原码求反码,符号位不变,数值位求反。反码求补码,符号位不变,数值位加1,反之补码求反码,符号位不变,数值位减1.
正数 | |
---|---|
符号位 | 数值位 |
0 | 0000000 |
负数 | |
---|---|
符号位 | 数值位 |
1 | 0000000 |
变量
- 变量:在程序运行当中,值在某个范围内不会发生改变的量。
- 变量的格式:数据类型 变量名=变量值
数据类型
数据类型分为以下几种
- 整数型
byte:一个字节,范围-128~127
short:两个字节
int:四个字节
long:八个字节,变量值后最好加L。例:long a=22L
整数型默认为int类型。
- 浮点型
float:四个字节,变量值后必须加F。例:float b=22F
double:八个字节
浮点型默认为double类型。
- 字符型
char:两个字节
- 布尔型
boolean:只有true和false
数据类型的转换
自动转换
- byte、short、char类型参与运算时自动升级为int类型
class G{
public static void main(String[] args) {
byte a=3;
byte b=4;
byte c=a+b;
System.out.println(c);
}
}
上代码会出现 错误: 不兼容的类型: 从int转换到byte可能会有损失
改正:把 byte c=a+b改为int c=a+b,如果强制转换可以把byte c=a+b改为byte c=(byte)(a+b),强制转换会有精度损失,可能和你需要的结果不同。
- float、long、double类型参与运算时会自动升级为float、long、double
- byte、short、char类型不会相互转换
强制转换
目标数据类型 变量名=(目标数据类型)(变量值)
注意事项:
- 强制转换会丢掉多于字节,会有精度损失
例:
class BB {
public static void main(String[] args) {
byte a=10;
byte b=127;
byte c=(byte)(a+b);
System.out.println(c); //-119
short f = (short)(a+b);
System.out.println(f); //137
}
}
由于byte范围是在-128~127之间,所以强制转换会有精度损失。
而short范围在 -2^15~ 2^15-1之间,强制转换不会有精度损失。
运算符
运算符分为 :算数运算符、赋值运算符、比较运算符、(逻辑运算符、位运算符、三元运算符后面讲)。
算数运算符
+,-,* ,/, ++ , - - , %
注意:
- 整数除以整数即使除不尽结果也是整数,如果想得到小数要用浮点型(float、double)。
- 整数除以整数得到的是商,%得到的是余数。
++自身加一,- -自身减一。
++:两个加好在前先运算在使用,加号在后先使用在运算。- -: 同理,两个减号在前先运算在使用,减号在后先使用在运算。
例:
int a = 10;
int b = (–a)+(a–)+(a*10);
System.out.println(a); a=8
System.out.println(b); b=98
赋值运算符
= += -= *= /=
例:+=:a=a+2相当于a+=2.
class CC{
public static void main (String[] args){
byte a=3;
a=(byte)(a+300);
// 或者
//a+=300;
System.out.println(a);
}
}
+=会自动完成强制转换,所以a=(byte)(a+300)可以变为a+=300。
比较运算符
== (!=) >< >= <= instanceof(以后讲)
(!=):不等于