****提交git仓库 网页打开gitee、
1.(初始化只能一次)(不然得删掉文件里的多出的仓库)
git init
2.文件名(不是文件夹名)
git add 文件名 (git add note.txt)
3.在仓库里输入你是谁
git config --global user.name "邢文佳"
git config --global user.email "3350814574@qq.com"
4.提交文件(确保之前有add的操作)
git commit -m "first commit"
5.地址(绑定远程仓库)
git remote add origin https://gitee.com/xing-wenjia/33.git
6. 推送到远程仓库
git push -u origin "master"
注意先保存文件再提交(保存ctrl+S)
$$$删掉了系统变量
CLASSPATH ,;%JAVA_HOME%\;lib;%JAVA_HOME%\;lib\;tools.jar;%MAVEN%\;lib
***绝对路径:
C:
D:
/
*****编译型错误
javac
运行时错误
java
@@@@@JDK、JRE、JVM有什么区别 (要考)
JDK:java development kit(java开发工具),JDK是用于开发Java程序的最小环境。
JDK是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。
JRE:java runtime environment (java运行时环境),是提供给Java程序运行的最小环境。
JRE包含了java虚拟机、java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JVM:Java虚拟机,是Java跨平台的核心。引入JVM后,Java语言在不同平台上运行时不需要重新编译。
运行java程序只需安装JRE。如果需要编写java程序,则需要安装JDK。
总结:JRE是java运行时环境,而JDK是java开发工具包,JDK包含JRE,但是JRE可以独立安装。
简单来说:JDK=JRE+多种Java开发工具
JRE=JVM+各种类库
*****用vscode运行.java(例如HelloWorld.java)
点开文件终端
编译:
使用javac去翻译
dir或ls
javac HelloWorld.java //会生成同名的字节码文件
运行:
java HelloWorld
****修改环境变量
三个确定按钮都要点
重新打开cmd、vscode
记得保存编码再编译运行
****找不到主类问题
1.字节码生成没有 (终端输出java HellWorld.cl)
2.java HellWorld 命令对不对,文件名对不对
3.CLASSPATH可以不写,要写得加.
*****跨平台
高级编程语言的编码运行步骤:
编码
编译
运行
高级语言的编译方式分为三种:
编译型:使用专门的编译器,针对特定的操作系统,
将源代码“翻译”为机器码,并包装成该平台所能识别的可执行程序。
解释型:有专门的解释器,将源码解释成特定平台的机器码,并且立即执行,
不会形成新的文件,就是将编译型的语言编译和执行结合成一步同时进行
缺点:效率低(Python、Shell等)
混合型:
编译加解释
源码要经过编译,生成与平台无关的字节码。class文件,不是可执行程序
需要jvm去解释执行(java为不同的操作系统提供了不同的虚拟机)
java
java跨平台的原理
Write Once,Run any where
****常用命令
javac 编译命令
格式 javac [-d 目录路径] 文件名.java
作用 编译源码文件,获得字节码文件 可选:将字节码文件存放到-d后面指定的位置
使用
javac HelloWorld.java // 不指定目录.class存放到当前文件
javac -d obj/ HelloWorld.java
// 将编译后的.class存放到obj目录下
java 运行的命令
格式 java [-cp .class文件的目录] 类名
作用 运行字节码文件 可选:从指定路径查找要运行的文件
使用
java HelloWorld
java -cp obj/ HelloWorld
******将com文件夹里briup包里的Hello.class存放到obj目录下移到obj文件夹里
先编好com里的.Java,再.java里加上package。。。,
打开终端javac -d ../obj/ Hello.java
java -cp ../obj com.briup.Hello
*****Table类
定义格式:
Package 包名
包名一般是公司域名的反写;
要求:
Package语句必须是程序的第一条可执行语句
Package语句在一个文件中可以没有
(这个包名的代码package com.briup;编译后字节码文件会存放到com/briup下。)
场景:
教务系统
学生管理(新增 修改 删除 查询)
教师管理(新增 修改 删除 查询)
Package 按角色区分模块
com.briup.students;
AddStudent
EditStudent
DeleteStudent
UpdateStudent
com.briup.teachers;
AddTeacher
EditTeacher
DeleteTeacher
UpdateTeacher
Package 按功能区分模块
com.briup.add;
addStudent;
addTeacher;
com.briup.edit;
editStudent;
editTeacher;
com.briup.delete;
deleteStudent;
deleteTeacher;
com.briup.update;
updateStudent;
updateTeacher;
导包
import 包名.类名;
import java until.Scanner;
不需要导包就可以使用的
java.lang
API文档
https://docs.oracle.com/javase/8/docs/api/index.html
JVM
垃圾回收器
**********中文乱码的解决方式
UTF8中的
在打开 GBK等去切换
******注释
//单行注释 单行注释 单行注释可以嵌套使用
/*
多行注释 //多行注释不能嵌套多行注释
*/
/**
文档注释
*/
****关键字:被java赋予特殊含义的单词
常用的代码编辑器对关键字有高亮提示
保留字:暂时还没被java赋予特殊含义的单词,可能未来被入围关键字
标识符:变量、常量、方法的名字
命名规则
1.不能使用java中的关键字保留字
2.可以由字母、数字、下划线$组成
3.数字不能放开头
4.大小写敏感
*****编码习惯
命名规则:
类和接口:
每个单词首字母都大写(大驼峰)
class Hello
class HelloWorld
class HelloMyWorld
方法和变量
首字母小写,第二个单词开始每个首字母大写(小驼峰)
int num;
getStudentById();
常量
全词大写 多个单词之间用_分隔
LIGHT_COLOR
MAX_NUM
临时变量 一般用下划线开头
_a
int _a
int $ _a
变量和常量的定义
变量
定义:在程序运行中,他的值不可以发生改变
分类: 字面值常量
用“”阔起来的一个或零个或多个
""
"0"
"hello"
"a"
常量
整数变量
小数变量
字符变量
字符变量‘’单引扩起来的单个字符
'a','A','你','好'
自定义常量
布尔常量
true false
空常量
null
除了null其他常量可以直接用输出语句输出
******声明final关键字
final int NUM_A = 1;
类的常量定义在main的外部
const 在JavaScript中声明常量的关键字
变量
定义 用于储存值的一种容器
强类型语言:比如在java中 声明变量需要指定他的数据类型,并且这个类型不能更改了
int a;
a = 10;
a = 10.1;// 编译时错误
弱类型语言中:比如javascript 声明变量不需要指定数据类型,这个类型赋值时确定
let a;
a = 10;
a = 10.1;
a = true;
a = {name:"张三",age:12};
a = [1,2,3,4,5,6,7,{name:"张三",age:12},[],true] 声明
int a = 10; // 声明和初始化
或者
int a; // 声明
a = 10; // 初始化
注意:
java中变量一定要先声明 再赋值 再使用
S.o.p(a);// a?
int a;
int a;
S.o.p(a); // a=?
a = 1;
*****数据类型
基本数据类型
整数类型:
byte:8位,取值范围是 -128 到 127。
short:16位,取值范围是 -32768 到 32767。
int:32位,取值范围是 -2^31 到 2^31 - 1,大约是 -21亿到21亿。
long:64位,取值范围是 -2^63 到 2^63 - 1,大约是 -9.22e+18到9.22e+18。
浮点类型:
float:32位,取值范围是大约 1.4e-45 到 3.4e+38。
double:64位,取值范围是大约 4.9e-324 到 1.8e+308。
字符类型:
char:16位,取值范围是 U+0000(即0)到 U+FFFF。
布尔类型:
boolean:取值只能是 true 或 false。
字符串类型:
String:不是基本类型,是类类型,由字符序列组成。
这些基本数据类型在Java中是原生的,直接由Java虚拟机支持,而不是通过类来实现的。
它们是Java编程语言中最基本的数值和数据类型。
字节码 比特位:bit 二进制 0 1
字节byte 是计算机分配内存最小单位 通常用B表示
1byte==8bits
\n换行 \t缩进
注意:
1. 修改改环境变量
1. 三个确定按钮都要点
2. 重新打开cmd、vscode
2. 编码
1. 先保存
2. 先编译 再运行x
3. 中文乱码 VScode右下角 改为GBK
4. 找不到主类
1. 字节码文件生成没有
2. java HelloWorld 命令对不对 文件名对不对
3. CLASSPATH 的值不要写错 可以不写 或者写 .
******进制
二进制 由0 1 组成 逢2进1
0b1 0B0
0:0b0
1:0b1
2:0b10
3:0b11
4:0b100
八进制 由0-7组成 逢8进1
00 07
7:07
8:010
9:011
十进制 由0-9组成 逢10进1
9
8+1 = 9
9+1 = 10
十六进制 由0-9 abcdef 不区分大小写 逢16进1
10:0x0a
11:0x0b
17:0x11
18:0x12
进制转换
十进制转二进制 除二取余法
十进制转八进制 除八取余法
十进制转十六进制 除十六取余法
20
二进制 :
1. 20 ÷ 2 = 10 ... 0
2. 10 ÷ 2 = 5 ... 0
3. 5 ÷ 2 = 2 ... 1
4. 2 ÷ 2 = 1 ... 0
5. 1 ÷ 2 = 0 ... 1
6. 结束 0b10100
八进制 :
1. 20 ÷ 8 = 2 ... 4
2. 2 ÷ 8 = 0 ... 2
3. 结束 024
十六进制 :
1. 20 ÷ 16 = 1 ... 4
2. 1 ÷ 16 = 0 ... 1
3. 结束 0x14
0x99 转为十进制
9 × 16 1次方 144
9 × 16 0次方 9
144+9
**********数据类型转换
数据类型表示范围
double > float > long > int > short > byte
char
隐式类型转换
在赋值过程中 小数据类型的值或者变量可以直接赋值给大类型变量,类型会自动转换
大类型赋值给小类型可能会丢失精度 所以编译错误
byte\short\char类型在做算术运算时会自动提升为int类型 然后再参与计算
各种类型的值都参与运算时,范围小的会自动提升为范围大的,然后再运算
强制类型转换(显式类型转换)
定义
赋值过程中如果大类型的值赋值给小类型变量,编译报错,可以使用强制类型转换
格式
float float1 = (float)3.14;
float float2 = (float)((byte1 - 5) * short1 + double1);
强制类型转换的时候 注意值的一个问题
操作符
定义
对于字面值常量和变量进行操作的符号
也叫运算符
表达式
定义
用操作符将字面值常量或者变量连接起来的式子 叫表达式
运算符的分类
算术运算符
+ - * / %
%
求余运算,结果正负符号只跟表达式运算符左边的操作数的符号有关
+
表达式中只要有字符串参与,得到的结果都是字符串
字符串加其他任意类型数据,结果都是字符串
注意区分字符串和字符
自增自减++ --
前置
++a
后置
a++
赋值运算符
= *= <<= &= 等
+=、-=、*=、/= 等扩展的赋值运算符,隐含了强制类型转换
s += 5; // s = (short)(s + 5);
比较、条件、关系 运算符
> < >= <= == !=
从键盘录入两个整型数字,比较其大小,输出结果
逻辑操作符
&& 与运算 带逻辑短路
boolean flag = (2 > 1) && (3 > 2)
同真则真
2 > 3 && 3 > 2
2 > 1 && 3 > 4
有假则假
& 与运算
||带逻辑短路
true || false 结果为 true
false || true 结果为 true
有真则真
false || false 结果为 false
同假则假
| 或运算
! 非 取反
!true
^ 异或
如果两个数都是0 那么结果就是0
如果两个数都是1 那么结果就是0
如果两个一个为0一个为1 那么结果就是1
三目运算符
表达式?语句1:语句2
书写简单,可读性比较低,不建议使用
移位操作符
>> << >>>
位操作符
& |
从键盘录入两个整型值,判断能否被3和5整除