一、常用的dos命令
- 盘符切换 ---- 直接输入转换的盘符
- 查看当前目录下的所有文件 -----dir
- 切换目录 ---- cd /d F:\Mydb
- 返回上一级 ---- cd…
- 清除屏幕 ---- cls
- 退出终端 ---- exit
- 查看网络状态信息 ---- config
- 打开记事本---- notpad
- 测试网络是否正常 ---- ping 网址链接
- 创建文件夹 ---- md 文件夹名
- 创建文件 ---- cd >文件名
- 删除文件 ---- del 文件名
- 删除文件夹 – rd 文件夹名
二、java的入门知识
- java的特性和优势
- 简单性
- 面向对象
- 可移植性
- 高性能
- 分布式
- 动态性
- 多线程
- 安全性
- 健壮性
-** java三大版本**
- javase:标准版(桌面程序,控制台开发…)
- javame:嵌入式开发(手机,小家电…)
- javaee:E企业级开发(web端,服务器开发…)
- java的JDK、JRE、JVM
- JDK:java development( java开发者工具)
- JRE:java runtime environment (java运行环境)
- JVM:java virtual machine (java虚拟机)
- 安装JDK
- 百度搜索jdk8,找到下载地址
- 同意协议才可下载
- 下载电脑对应的版本
- 双击安装jdk
- 记住安装的路径
- 配置环境变量
- 我的电脑 – > 右击 – > 属性
- 环境变量 – > java_HOME
- 配置path变量(复制安装路径新建即可)
- 测试JDK是否安装成功
- 打开cmd
- 输入:java -version
- 第一个Helloworld程序
- 随便新建一个文件夹,存放代码
- 新建一个java文件,后缀名为.java,例如:helloworld.java。
- 编写代码(ps:我是在记事本直接打开的)
public class helloworld{ // 表示一个类,修饰符关键字+名字
public static void main(String[] args){ // 修饰符关键字,
//main是一个方法,程序必要的运行
System.out.print('helloworld!!!');// 主程序,运行命令
}
}
- 编译javac java文件,会生成一个class文件
- 运行class文件,java class文件
- 可能遇到的情况
- 每个单词的大小不能出现问题,java是大小写敏感的
- 尽量使用英文;
- 文件名和类名必须保证一致,并且首字母大写!
- 符号使用了中文符号
- java程序运行机制
- 编译型
将整个文件编译好后进行翻译,然后得到自己想看到的内容,比如:一本书直接是从英文翻译好的中文,来进行阅读,需要性能较低,一般用于操作语言,c++,c等等 - 解释型
写一句代码,翻译一句代码,实时执行,比如:一本书有一个翻译官在给你翻译,但是什么时候都需要到这个翻译官,不然你就看不懂,比较麻烦,一般用户网页,服务器,速度要求比较低,javascring,javaee等等
各有利弊,编译型可以直接看完,但是不能实时翻译,如果一本书更新了,需要再重新购买一次翻译版的,解释型可以实时,但是如果翻译官不在了,就看不到了,但是可以回顾,按照自己的进度来。
- IDEA的安装
- 在官网下载自己想要的版本:https://www.jetbrains.com.cn/idea/download/other.html
- 选择自己的电脑系统去下载:我下载的是2021.3.3的版本
- 下载好后点击程序安装,自定义目录,随后会看到Create desktop shortcut提示,勾选64位,还有以下的create assodations 勾选 .java的选项然后下一步安装即可
- 创建一个新项目,project name :hello,project location :文件存放目录
- 在src中新建一个class文件,helloword
- 在IDEA集成开发环境写第一个代码:
public class hello { //新建文件会自动生成
public static void main(String[] args) { //psvm快捷输入可以填入语句
System.out.println("我的第一个编程程序"); //soup快捷输入可以填充输出语句
}
}
注意:一定要区分大小写
三、java基础
- 注释
平时编写代码的时候,一定要编写注释!注释不会被执行,可以给自己看到!是给自己以及别人看的!
书写注释是一个良好的习惯!
平时写代码一定要注意注释规范
- 单行注释
加两个斜杠就是单行注释 【//】 - 多行注释
开头跟结尾加杠新就是多行注释【/* 文本 */】 - 文档注释
开头结尾加杠新,以及中间也需要,加@会被识别【/* * */】
一、标识符和关键字
- java所有的组成部分都需要以名字。类名、变量名、方法名都被称为标识符
- 所有的标识符都应该以大小写字母,美元符($)、或者下划线(_)开始
- 首字符之后可以是大小写字母,美元符($)、或者下划线(_)或者数字的任何字符组合
- 不能使用关键字作为变量名或者方法名
- 标识符是大小写敏感的
- 合法标识符举例:age、¥salary、_value、__1_value
- 非法标识符举例:123abc、-ssasa、#adha
public class Demo1{ //Dome1是类名
public static void main(String[] ages){ //main是一个方法
String teacher = "李"
String Ahello = "某某";
String ahello = "李某";
String $hello = "李某某某";
String _hello = "李某某";
System.out.println(teacher)
}
}
二、数据类型
- 强类型语言
要求变量的使用严格符合规定,所有变量都必须先定义后才能使用(较快) - 弱类型语言
要求变量的使用符合规定,所有变量都必须先定义后才能使用(教慢但安全点) - 什么是变量?
变量就是 数据类型 变量名 = 值;
详细如下:
public class Dome02{
public static void main(String[] ages){
String name = "张某菲"; //字符串类型
int number= 123456; //整数类型
System.out.println(name,number);
}
}
以上看出,对应的变量一定要对应字符串类型,否则会报错
java的数据类型分为两大类
1. 引用类型(references type)
- 类
- 接口
- 数组
2. 基本类型(primitive type)
- 整数类型 (由大到小)
- int (最常见的整数)
- long(最大的整数类型,定义时要在数值后面加L)
- short(最大范围-32768-32767的整数类型)
- byte(较小的整数类型 范围在-128-127)
- 浮点数类型
- float(占4个字节,需要在定义数值后面加F)
- double(占8个字节,可存放圆周率,跟整数long类型匹配范围)
- 字符类型
- char(可存放1位,也就是一个字或者一位字母,或者一位数)
- 字符串类型
- String(字符串类型,Sting不是关键字,是一个类)
- 布尔类型
- boolean (布尔值,只有两个答案:是,非,对或者错,返回true或者false)
整数拓展知识:电脑进行计算时使用的是进制计算,进制,二进制0b,十进制,八进制0,十六进制0x!
public class Dome03 {
public static void main(String[] args) {
// 整数拓展 进制 二进制0b开头 十进制 八进制0开头 十六进制0x开头
int i = 10; // 输出结果是10
int i2=010; //八进制0 输出结果是8
int i3=0x10; //十六进制0x 输出结果是16
int i4=0b10; // 二进制0b 输出结果是2
System.out.println(i); //输出10
System.out.println(i2); //输出8
System.out.println(i3); //输出结果16
System.out.println(i4); //输出结果2
}}
浮点数拓展知识:银行业务怎么表示? float ? 还是 double?答案:都不是!!!float数据类型,以及double数据类型,位数有限,离散,其中计算方式为舍入误差,只能是大约,接近,但不等于!!!重点:如果表示银行的业务,涉及到小数点知识,必须使用数学工具类:DigDecimal来进行表示,后面会讲到!
//浮点数扩展
// 银行业务怎么表示 ? 关于钱的内容!
//DigDecimal 涉及到精准小数数据,必须使用数学工具类表示!
// 最好完全使用浮点数进行比较!!!
//double、float数据类型,位数有限,离散,其中计算方式为舍入误差,只能是大约,接近,但不等于!!!
float f = 0.1f; //看着一样
double d =0.1; //看着一样
System.out.println(f==d); // 结果为false
System.out.println(f); // 结果0.1
System.out.println(d); //结果0.1
System.out.println("------------------------------------------------");
float d1 = 23232323232323f;
double d2 = d1 +1;
System.out.println(d1==d2); //返回true!
字符拓展知识:所有的字符本质还是数字,当遇到强制转换类型时,会通过编码 Unicode ,内置表进行转换类型,它可以处理各种语言的文字,占用2个字节,从表中查找对应的类型,比如: 97=a 65 = A
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
// 解释:所有的字符本质还是数字
// 编码 Unicode 表: 97=a 65 = A 可存储 2字节 65536 excel表等于 2的16次方 = 65536是他的尽头
// U0000 - UFFFF
char c3 = '\u0061';
System.out.println(c3); // Unicode会输出a
转义字符知识拓展:\t代表制表符,4个空格;\n代表换行符,跳到下一行
// 杠t 代表制表符 4个空格额
// 杠n 代表换行符
System.out.println("hello\tworld!");
面向对象拓展知识:悬念,代补充
String sa = new String("helloworld");
String sb = new String("helloworld");
System.out.println(sa == sb); //返回结果是:false
String sc = "helloworld";
String sd = "helloworld";
System.out.println(sc == sd); //返回结果是:true
布尔值拓展知识:less is more 代码要精简易读!下面便是案例,if判断后都能读取,老手便是精简了代码。
// 布尔值拓展知识:
boolean flag = true;
if (flag == true){ // 新手
System.out.println("这是真的!");
}
if (flag){ // 老手
System.out.println("这也是真的!");
}
三、类型转换
- 由于java最强类型语言,所以要进行有些运算的时候,需要用到类型转换
- 由低到高必须强制类型转换!
- 浮点数比整数大!
- byte – > short --> char-- > int --> long -->float -->double
- 运算中,不同类型的数据要先转换成统一类型,再进行运算。
注意点:
- 不能对布尔值进行转换!
- 不能把对象类型转换为不相干的类型!
- 在把高容量转换到低容量的时候,强制转换!
- 转换的时候可能存在内存溢出,或者精度问题!
下面将一一举例类型问题:
- 不能对布尔值进行转换!不能把对象类型转换为不相干的类型!
public class Dome05 {
public static void main(String[] args) {
// 使用布尔类型进行转换!
boolean b = true;
int i = (int)b; // 会提示报错
System.out.println(b);
System.out.println(b);
}
}
报错语句为:Inconvertible types; cannot cast ‘boolean’ to ‘int’,也就是不能将布尔类型去进行转换。
- 在把高容量转换到低容量的时候,将会强制转换!
int a = 128;
byte c =(byte)a; // 内存溢出
// 强制转换 (类型) 变量名 高到低
// 自动转换 低到高 ,无需定义任何类型
System.out.println(a);
System.out.println(c);
- 转换的时候可能存在内存溢出,或者精度问题!
System.out.println((int)23.5); // 输出23,精度丢失0.5
System.out.println((int)-55.698F); // 输出-45,精度丢失0.698
拓展知识:操作比较大的数的时候注意溢出问题, jdk7新特性,数字之间可以用下划线分割!
public static void main(String[] ages){
//操作比较大的数的时候注意溢出问题
// jdk7新特性,数字之间可以用下划线分割!
int money = 10_0000_0000;
int years = 20;
int toto1 = money*years; //输出的结果是 -1474836480 ,计算的时候已经溢出了
long toto2 =money*years;
/* 输出的结果是 -1474836480 ,同样默认是int,
因为money本质就是一个int类型,转换之前就已经存在问题了*/
long toto3 = money*((long)years);
System.out.println(toto3);
}
一定要注意转换前以及转换后的计算问题!
- 注:文章仅做个人学习日记,不做学习建议,