base
Markdown学习
Typora
下载Typora后,新建一个txt,改后缀为.md 即可进入
标题
###+空格 为三级标题
几个#就是几级标题,最多为六级标题
数列
- (1.+空格)
- (减号- 加空格)
字体
Hello,word 两个* 加粗
Hello,word 一个*斜体
Hello,word 三个*斜体加粗
Hello,word
引用
hello,小胡 >
分割线
三个减号分割线
三个*分割线
图片
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VekXmhKc-1605684800231)(https://tse2-mm.cn.bing.net/th/id/OIP.i6VRdpMFXF8Jx-XqhsgKpAHaFj?pid=Api&rs=1)]
超链接
表格
姓名 | 性别 | 年龄 |
代码
public
三个` +java
快捷键
windows+r | 运行 |
shift+Delete | 永久删除 |
windows+E | 打开我的电脑 |
ctrl+shift+Esc | 打开任务管理器 |
windows+Tab | 切换应用程序 |
打开CMD方式
- 开始+系统+命令提示符
- win+R 输入cdm
常用的DOS命令
#盘符切换 C:
#查看目录下的所有文件 C:dir
#切换目录 cd change directory
cd/d f:
cd/d E:\Typora 注意斜杠,\正斜杠跟目录
cd.. 返回上一级目录
cd Typora 进入这个文件夹
#清理屏幕 cls (clear screen 清洁屏幕)
#退出终端 exit
#查看电脑ip ipconfig
#打开应用
cale计算器
mapaint 画图工具
notepad 记事本
#ping命令
ping www.baidu.com (看网页的ip)
#文件操作c
创建 md 目录
移除 rd 目录
创建 cd> 文件名
删除 del 文件名
删除JDK
- 删除java的安装目录
- 删除java_HOME
- 删除path下 关于java的目录
- 运行java-version
安装JDK
- 百度搜索jdk8,找到下载地址
- 同意协议
- 下载电脑对应的版本
- 双击安装JDK
- 记住安装的路径
- 配置环境变量
- 我的电脑–>右键–>属性
- 环境变量–>java_HOME
- 配置path变量
- 测试JDK是否安装成功
- 打开cmd
- java-version
HelloWord
- 随便新建一个文件夹,存放代码 code
- 新建一个java文件
- 文件后缀名为.java
- Hello.java
- 编写代码
public class Hello{
public static void main(String[] args) {
System.out.println("Hello,World!");
}
}
- 编译 javac Hello.java文件后,会生成一个class文件
- java Hello 运行class文件
可能遇到的问题
- 每个单词的大小不能出现问题,java是大小写敏感的
- 尽量使用英文
- 文件名 和 类名必须保证一致,并且首字母大写
- 符号一定是英文
IDEA
- 创建类
- psvm
- sout
注释
书写注释是一个非常好的习惯,一定要写!
平时写代码一定要注意规范
- 单行注释 // (可以注释一行文字)
- 多行注释 (可以注释一段文字)
/*
我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/ - //JavaDoc:文档注释 /** */
关键字
标识符
- 所有的标识符都应该以字母(大小写都可以),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(大小写都可以),美元符($)、下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 合法标识符举例: age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary、#abc
public class HelloWorld {
public static void main(String[] args) {
String 王者荣耀 = "最强王者";
System.out.println(王者荣耀);
}
}
- 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
数据类型 Demo02
强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数
byte num1 = 20; //最常用
short num2 = 30;
int num3 = 10;
long num4 = 30L; //Long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F; //float类型要在数字后面加个F
double num6 = 3.14159265358;
//字符
char name ='a'; //单引号!!!!
//字符串,String不是关键字,是类
//String namea = "兰琦";
//布尔值:是非
boolean flag = true;
//boolean flag = false;
}
}
字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B=8bit
- 字符:是值计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte表示一个字节,1B=8b
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
- 1024G=1TB
!!数据类型 Demo03
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x (0~9 A~F)
System.out.println(i); //10
System.out.println(i2); //8
System.out.println(i3); //16
System.out.println("=============================");
//=================================================
//浮点数拓展 银行业务怎表示?钱
//Bigdecimal 数学工具类
//=================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 123123123123f;
float d2 = d1+1;
System.out.println(d1==d2); //true
//=================================================
//字符拓展
//=================================================
System.out.println("=============================");
char c1 ='a'; //单引号!!!!
char c2 ='中'; //单引号!!!!
System.out.println(c1); //a
System.out.println((int)c1);//强制换行 //97
System.out.println(c2); //中
System.out.println((int)c2);//强制换行 //20013
//所有的字符本质还是数字
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
// 。。。。
System.out.println("Hello\nworld");
System.out.println("=============================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //true
//对象 从内存
//布尔值拓展
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
//Less is More! 代码要精简易读
}
}
类型转换 Demo04.05
- 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低---------------------------------------------------->高
byte,short,char–> int --> long --> float --> double
- 运算中,不同类型的数据先转化为同一类型,然后进行运算
public class Demo04 {
public static void main(String[] args) {
int i = 128;
byte b =(byte)i; //内存溢出
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i); //128
System.out.println(b); //-128
int x = 128;
double z =x; //自动转换
System.out.println(x); //128
System.out.println(z); //128.0
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("=================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
System.out.println("=================");
char c ='a';
int d = c+1;
System.out.println(d); //98
System.out.println((char)d); //b
}
}
public class Demo05 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total= money*years; //-1474836480,计算的时候溢出了
long total2 = money*years; //默认是int,转换之前就已经存在问题了
long total3 = money*((long)years); //先把一个数转换为long
System.out.println(total); //-1474836480
System.out.println(total2);//-1474836480
System.out.println(total3);//20000000000
}
}
变量
- 变量是什么:就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
public class Demo06 {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3;最好不要这要写 //程序可读性
String name = "lanqi";
char x = 'X';
double pi = 3.14;
}
}
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须是以分号结束
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Demo07 {
static int allClicks=0; //类变量
String str="hello world"; //实例变量
public void method(){
int i =0; //局部变量
}
}
public class Demo08 {
//类变量 static
static double salary = 2500;
//属性,变量
//实例变量:从属于对象;如果不自行初始化,则是这个类型的默认值
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo07();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
System.out.println();
}
}
常量
- 常量:初始化后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
- 常量名一般使用大写字符
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名,首字母小写和驼峰原则:run(),runRun()
operator
运算符
- 算术运算符:+, -, *, /, %, ++, --,
- 赋值运算符: =
- 关系运算符: >, <, >=, <=, ==, !=instanceof
- 逻辑运算符: &&, ||, !
- 位运算符: &, |, ^, ~, >>, <<, >>>
- 条件运算符 ? :
- 扩展赋值运算符: +=, -=, *=, /=
算术运算符 二元运算符
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl + D : 复制当前行到下一行
int a =10;
int b =20;
int c =25;
int d =25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 123123123123L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d); //long
System.out.println(b+c+d); //int
System.out.println(c+d); //int
//如果运算有long 则结果为long类型 否则为int
//如果运算有double 则结果为double
}
}
关系运算符
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确 错误 布尔值
// if
int a = 10;
int b = 20;
int c = 21;
//取余,模运算
System.out.println(c%a); // c/a 21/10=2...1
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
### ++ - - 自增,自减
package operator;
public class Demo04 {
public static void main(String[] args) {
// ++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a++ a = a + 1
System.out.println(a); //4
//a++ a = a + 1
int c = ++a;//执行完这行代码前,先自增,再赋值
System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5
//幂运算 2^3 2*2*2=8 很多运算,我们会使用一些工具类操作
double pow = Math.pow(2, 3); //Alt+Enter
System.out.println(pow);
}
}
逻辑运算符
package operator;
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为true
System.out.println("!(a && b):"+!(a&&b));//如果是真,则变为假;如果是假,则为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4); //c<4是 false 所以后面的c++不执行
System.out.println(d);
System.out.println(c); //c=5
}
}
位运算符
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 与:只有1 1 才为1,否则都是0 只要有一个0,就是0
A|B = 0011 1101 或:只有0 0 才为0,有1则为1
A^B = 0011 0001 异或:相同为0 不相同为1
~B = 1111 0010 非:取反 0变为1,1变为0
2*8 = 16 2*2*2*2
位运算 效率极高!!!
<< 左移 *2
>> 右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
扩展赋值运算符
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; //a = a+b
a-=b; //a = a-b 偷懒用的 学习阶段不推荐使用
System.out.println(a);
//字符串连接符 + ,如果前面出现了String类型 则会都转为字符串类型
System.out.println(a+b);
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30
}
}
条件运算符 三元运算符
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type =score<60 ? "不及格" : "及格"; //必须掌握
System.out.println(type);
}
}
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
- 包语句的语法格式为:
package pkg1[. pkg2[. pkg3...]]
- 一般利用公司域名倒置作为包名;百度 www.baidu.com 的包名为 com.baidu.www
- 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用"import"语句可完成此功能
import package1[.package2...].(classname|*);
//导入这个包下所有的类
import com.hu.base.*;
JavaDoc
- javadoc命令是用来生成自己API文档的
- 参数信息
- @author 作者名
- @version 版本名
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
package com.hu.base;
/**
* @author huqianyi
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception {
return name;
}
//老师是通过命令行 javadoc 参数 java文件
//作业:学会使用IDEA生成JavaDoc文档!
}