一.初入Java
1.Java文件名后缀为? . java
2.在保存时文件名必须和类名保持一致 ,Java程序的基本组成单元:类(class)
3.在Java里注释的方式有以下几类: ? ? ? ? 块注释:/* */???行注释://? ?(和C语言中注释方式相同) ? ? ? ? Javadoc注释: ? ? ? ? ? ? /** ? ? ? ? ? ? ?* @author ? ? ? ? ? ? ?* @param ? ? ? ? ? ? ?*/
4.程序的入口? :?主函数 :main()
?5.在Windows中java程序如何编译: ? ? ? ?首先保证文件名和类名保持一致: javac Hello.java ---> Hello.class??
6.在Windows中java程序如何运行: ? ? ??java Hello[.class] ---> 运行Hello.class文件
注意:在5. 6.过程中需要知道Windows终端工具入口和使用方法。
## 终端工具 ? ? win + R --> cmd ? ? 基本指令 ? ? cls ?---> clear screen 清屏 ? ? dir ?---> directory 列出当前目录下的文件 ? ? cd ? ---> change directory 切换目录 ? ? ? ? . ? 当前目录? ? ? ? (cd.) ? ? ? ? .. ?上一层目录? ? (cd..) ? ? ? ? 根目录切换:C: D: E: F:? (直接输入盘符+冒号:? d:? ? e:)
二.搭建Java开发环
1.搭建编写环境 ? ? ? ? 1.记事本 ? ? ? ? 2.推荐:vscode ? ? ? ? 3.安装:https://code.visualstudio.com/ ? ? ? ? 4.添加右键菜单:执行"VsCode右键菜单.reg" ? ? ? ? ? ? 修改reg文件中vscode的安装路径 ? 2.搭建终端增强环境 ? ? ? ? 1.win+R -> cmd ? ? ? ? 2.推荐:cmder ? ? ? ? 3.安装:https://cmder.net/ ? ? ? ? 4.添加右键菜单: ? ? ? ? ? ? 1.进入cmder安装目录 ? ? ? ? ? ? 2.以管理员身份运行cmder.exe ? ? ? ? ? ? 3.弹出窗口中输入 ? ? ? ? ? ? cmder.exe /register all? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 3.安装JDK ? ? ? ? JDK: Java Development Kit ? ? ? ? ? ? JRE? ? ? ? ? ? (JDK包含JRE) ? ? ? ? ? ? ? ? JVM? ? ? ?(JRE包含JVM) ? ? ? ? JRE: Java Runtime Environment ? ? ? ? JVM: Java Virtual Machine
? ? ? ? 1.下载:https://www.oracle.com/java/technologies/downloads/#java8-windows ? ? ? ? 2.java8->windows->x64 4.添加Java相关环境变量(可选) ? ? ? ? 新建:JAVA_HOME = C:\Program Files\Java\jdk1.8.0_151 ? ? ? ? 新建:CLASSPATH = . ? ? ? ? 编辑:PATH = %JAVA_HOME%\bin ? ? ? ? 计算机->空白处右键->高级系统设置->高级->环境变量 ? ? ? ? 用户变量 ? ? ? ? 系统变量 5.验证环境安装的正确性 ? ? ? ? 用java -version
三.第一个程序?
public class Hello{
/**
* 可@
*/
public static void main(String[] args){
//Print Line(输出换行)相当于C:\n
System.out.println("Hello World");
}
}
四.第二个程序(包的概念)?
project ??? class ??? package: ??????? class1 ??????? class2 ??? package: ??????? class1 ??????? class2 类的全称:包名.类名 ??? com.zhongbei.Angle 约束: 1. 类名必须和文件名保持一致 2. 包名必须和文件层级/结构保持一致 ?? class: com.zhongbei.Angle ?? dir:?? com/zhongbei/Angle.java
如何编译/运行 1.编译不受影响,只要找到对应的文件即可 2.运行 ??? java com.zhongbei.Angle ??? 必须切换到包的顶层目录:com同级目录
package com.zhongbei;
public class Angle{
public static void main(String[] args){
System.out.println("This is main function.");
double res = sin(30);
System.out.println("sin(30) = " + res);
}
public static double sin(int angle){
double result = 0.0;
switch(angle){
case 30:
result = 0.5; break;
case 45:
result = 0.7; break;
case 60:
result = 0.8; break;
default:
break;
}
return result;
}
}
五.数的表示 ??? 0 1 ??? 低电平 0 ??? 高电平 1
??? 'a': ascii, 97 ??? 'b' ??? 'c' ??? 'd' ??? '中文'? unicode
1.ASCII ??? 'a' - 'z'?? 97 - 122?? 0x61 - 0x7A ??? 'A' - 'Z'?? 65 - 90??? 0x41 - 0x5A ??? '0' - '9'?? 48 - 57??? 0x30 - 0x39 ??? '\0'??????? 0 ??? "hello",'h','e','l','l','o','\0' 2.进制 ??? 十进制????????????????? 764 ??? 二进制???? [0-1]??????? b1101 0111 ??? 八进制???? [0-7]??????? 0764 ??? 十六进制?? [0-9A-F]???? 0x764
??? 二进制-->十进制 ??? b0000 0001 1 ??? b0000 1111 15 ??? b0000 1011 11 ??? b0000 0111 7
??? 十进制--> 二进制 (除2取余反序) ??? 60/2? 30? 0 ??? 30/2? 15? 0 ??? 15/2? 7?? 1 ??? 7/2?? 3?? 1 ??? 3/2?? 1?? 1 ??? 1/2?? 0?? 1 ??? 60 == b111100
??? 八进制->十进制 ??? 0641 -> 6 * 8^2 + 4*8^1 + 1*8^0 = xxx ??? 八进制->二进制 (1个8进制位 == 3个2进制位) ??? 0641 -> b110 100 001 ??? 二进制->八进制 ??? b010 110 110 -> 0266
??? 十六进制->十进制 ??? 0xA38F = 10 * 16^3 + 3 * 16^2 + 8 *16^1 + 15 * 16^0 ??? 十六进制->二进制(1个16进制位 == 4个2进制位) ??? 0xA38F = b1010 0011 1000 1111 ??? 二进制->十六进制二进制 ??? b1001 1100 = 0x9C ??? 十六进制 -> 八进制
3.整型表示(有符号、无符号) ??? 1byte = 8bit ??? b1010 0111
??? unsigned: ??????? b0000 0000 ~ b1111 1111? 0 ~ 255 ??? signed: ??????? 最高位作为符号位 0+? 1- ??????? 1符号位 + 7数字位 ??? 补码运算: ??????? 正数的补码 = 原码 ??????? 负数的补码 = 反码 + 1 ??? eg(8bit): ??? 3的二进制表示: ??? 原码 = b0000 0011 ??? 补码 = b0000 0011
??? -3的二进制表示: ??? 原码:1000 0011 ??? 反码:0111 1100 ??? 补码:1111 1101
4.浮点型表示 ??? 127.1234 ??? 科学计数法
??? 32bit: 1符号位 + 8指数位 + 23有效数字位 ??? 64bit: 1符号位 + 11指数位 + 52有效数字位
|